fix relocations handler in PE drivers

git-svn-id: svn://kolibrios.org@4421 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
CleverMouse 2013-12-30 12:04:30 +00:00
parent d1bc3ec8a0
commit 88c24f6c96

View File

@ -110,15 +110,17 @@ L2:
mov edi, DWORD PTR [esp+32] mov edi, DWORD PTR [esp+32]
cmp DWORD PTR [edi+164], 0 cmp DWORD PTR [edi+164], 0
je L9 je L9
pushd [edi+164]
mov esi, ebp mov esi, ebp
mov ecx, ebp mov ecx, ebp
sub esi, DWORD PTR [edi+52] sub esi, DWORD PTR [edi+52]
add ecx, DWORD PTR [edi+160] add ecx, DWORD PTR [edi+160]
mov eax, esi mov eax, esi
shr eax, 16 shr eax, 16
mov DWORD PTR [esp+12], eax mov DWORD PTR [esp+16], eax
jmp L11
L12: L12:
mov eax, [ecx+4]
sub [esp], eax
lea ebx, [eax-8] lea ebx, [eax-8]
xor edi, edi xor edi, edi
shr ebx, 1 shr ebx, 1
@ -135,7 +137,7 @@ L14:
je L18 je L18
dec ax dec ax
jne L15 jne L15
mov eax, DWORD PTR [esp+12] mov eax, DWORD PTR [esp+16]
add WORD PTR [edx+ebp], ax add WORD PTR [edx+ebp], ax
L17: L17:
add WORD PTR [edx+ebp], si add WORD PTR [edx+ebp], si
@ -148,9 +150,9 @@ L13:
jne L14 jne L14
add ecx, DWORD PTR [ecx+4] add ecx, DWORD PTR [ecx+4]
L11: L11:
mov eax, DWORD PTR [ecx+4] cmp dword [esp], 0
test eax, eax jg L12
jne L12 pop eax
L9: L9:
mov edx, DWORD PTR [esp+32] mov edx, DWORD PTR [esp+32]
cmp DWORD PTR [edx+132], 0 cmp DWORD PTR [edx+132], 0