Function at 0x482f50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x114
push ebx
mov ebx, ecx
mov dword [esp + 0x2c], edx
xor ecx, ecx
mov dword [esp + 0x14], ebx
xor al, al
mov dword [esp + 0xc], ecx
mov dword [esp + 0x48], ecx
xor dl, dl
xor cl, cl
mov byte [esp + 0x11], al
push esi
xor eax, eax
mov byte [esp + 0x16], cl
mov ecx, dword [ebp + 0x10]
xor dh, dh
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x54], eax
mov byte [esp + 0x1b], dl
mov byte [esp + 0x13], dh
mov edx, dword [esp + 0x34]
lea eax, [edi + ecx]
mov esi, eax
mov dword [esp + 0x11c], eax
xor eax, eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], esi
lea eax, [esi - 1]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
test ebx, ebx
jne 0x482ff0
test edx, edx
jne 0x482ff0
test edi, edi
jne 0x482ff0
cmp eax, 0xfffffc19
jne 0x482ff0
cmp ecx, eax
jne 0x482ff0
push edx
push edx
push edx
push edx
push edx
xor ecx, ecx
call fcn.0047ecb0
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x14]
test edi, 0xe20f5a6f
je 0x483007
mov eax, 0xfffffffd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x483b4a
cmp dword [ebp + 8], 0
je 0x483b4a
cmp dword [ebp + 0x18], 0
jne 0x483029
cmp dword [ebp + 0x1c], 0
jg 0x483b4a
cmp dword [ebp + 0x1c], 0
jge 0x48303b
mov eax, 0xfffffff1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
js 0x483b3e
cmp ecx, eax
jg 0x483b3e
mov ecx, dword [ebx]
cmp ecx, 0x50435245
je 0x48306f
cmp ecx, 0x45524350
mov eax, 0xfffffffc
mov edx, 0xffffffe3
cmove eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [ebx + 0xc]
test al, 1
jne 0x483083
mov eax, 0xffffffe4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xa8], 0
test edi, 0x8000000
je 0x48309d
mov eax, 2
jmp 0x4830a5
mov eax, edi
shr eax, 0xf
and eax, 1
movzx ecx, word [ebx + 0x1c]
movzx edi, word [ebx + 0x1a]
mov dword [esp + 0xe8], eax
movzx eax, word [ebx + 0x18]
add eax, ebx
mov dword [esp + 0x80], ecx
mov ebx, dword [ebx + 0x20]
mov dword [esp + 0x88], eax
xor eax, eax
mov dword [esp + 0x84], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], 0x989680
mov dword [esp + 0x68], 0x1770
mov dword [esp + 0x108], eax
test edx, edx
je 0x483130
mov ecx, dword [edx]
test cl, 1
je 0x483101
mov eax, dword [edx + 4]
mov dword [esp + 0x3c], eax
test cl, 2
je 0x48310d
mov eax, dword [edx + 8]
mov dword [esp + 0x64], eax
test cl, 0x10
je 0x483119
mov eax, dword [edx + 0x14]
mov dword [esp + 0x68], eax
test cl, 4
je 0x483128
mov eax, dword [edx + 0xc]
mov dword [esp + 0x108], eax
test cl, 8
je 0x483130
mov ebx, dword [edx + 0x10]
mov ecx, dword [esp + 0x1c]
test ebx, ebx
mov esi, dword [esp + 0x1c]
mov edx, 0x49dca0
cmovne edx, ebx
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc0], 0
mov ebx, dword [ecx + 8]
mov eax, ebx
or eax, dword [ebp + 0x14]
shr eax, 4
and eax, 1
movzx ecx, word [ecx + 0xc]
mov dword [esp + 0x4c], eax
mov eax, ecx
shr eax, 8
and eax, 1
shr ecx, 0xc
mov dword [esp + 0x5c], eax
and ecx, 1
mov eax, ebx
mov dword [esp + 0x110], 0
shr eax, 0x12
and eax, 1
mov dword [esp + 0x10c], 0
mov dword [esp + 0x58], eax
movzx eax, word [esi + 0x1c]
imul edi, eax
movzx eax, word [esi + 0x18]
mov dword [esp + 0x104], 0
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x90], edx
add edi, eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xf4], eax
add edi, esi
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
add eax, esi
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd8], eax
mov dword [esp + 0x20], eax
mov eax, ebx
shr eax, 5
and eax, 1
mov edi, dword [ebp + 0x14]
mov dword [esp + 0xb4], eax
mov eax, ebx
shr eax, 0x1d
and eax, 1
mov dword [esp + 0xd4], esi
mov dword [esp + 0xb0], eax
mov eax, ebx
shr eax, 0x19
and eax, 1
mov esi, dword [esp + 0x38]
mov dword [esp + 0xac], eax
mov eax, edi
shr eax, 7
and eax, 1
mov dword [esp + 0xa0], eax
mov eax, edi
shr eax, 8
and eax, 1
mov dword [esp + 0xa4], eax
mov eax, edi
shr eax, 0xa
and eax, 1
mov dword [esp + 0xb8], eax
mov eax, edi
shr eax, 0x1c
and eax, 1
mov dword [esp + 0xbc], eax
lea eax, [edx + 0x100]
mov dword [esp + 0x94], eax
lea eax, [edx + 0x340]
mov dword [esp + 0x98], eax
mov eax, edi
and eax, 0x1800000
je 0x4832af
cmp eax, 0x800000
je 0x4832a2
cmp eax, 0x1000000
je 0x4832c8
mov eax, 0xffffffe9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0xc4], 1
jmp 0x4832d3
test ebx, 0x1800000
je 0x4832c8
mov eax, ebx
shr eax, 0x17
and eax, 1
mov dword [esp + 0xc4], eax
jmp 0x4832d3
mov dword [esp + 0xc4], 0
test edi, 0x700000
mov eax, edi
cmove eax, ebx
and eax, 0x700000
cmp eax, 0x300000
ja 0x483347
je 0x483330
test eax, eax
je 0x483330
cmp eax, 0x100000
je 0x483317
cmp eax, 0x200000
jne 0x483296
mov eax, 0xa
mov edi, 1
xor ebx, ebx
mov dword [esp + 0x7c], edi
mov byte [esp + 0x8c], al
jmp 0x483369
mov eax, 0xd
mov edi, 1
xor ebx, ebx
mov dword [esp + 0x7c], edi
mov byte [esp + 0x8c], al
jmp 0x483369
mov edi, 2
mov word [esp + 0x8c], 0xa0d
xor ebx, ebx
mov dword [esp + 0x7c], edi
jmp 0x483369
cmp eax, 0x400000
je 0x483360
cmp eax, 0x500000
jne 0x483296
mov ebx, 2
jmp 0x483365
mov ebx, 1
mov edi, dword [esp + 0x7c]
cmp dword [esp + 0xe8], 0
mov dword [esp + 0x78], ebx
je 0x483392
mov ecx, dword [esp + 0x1c]
movzx eax, word [ecx + 0xc]
test eax, 0x200
je 0x483392
mov eax, 0xfffffff3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x55555556
imul dword [ebp + 0x1c]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov dword [esp + 0x30], eax
lea ecx, [eax + eax]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + 0x12]
test ax, ax
je 0x483421
mov ecx, eax
mov eax, 0x55555556
imul dword [esp + 0x30]
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x483421
lea eax, [ecx + 1]
lea eax, [eax + eax*2]
mov dword [esp + 0x30], eax
shl eax, 2
push eax
call dword [0x49ce34]
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x48340f
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x44], 1
jmp 0x48342c
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x70], eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xf0], 0xffffffff
lea ecx, [eax + eax]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x24], 0
mov dword [esp + 0x74], eax
je 0x4834ba
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
lea ecx, [ebx + eax*4]
mov eax, dword [esp + 0x1c]
mov edx, ecx
movzx eax, word [eax + 0x10]
shl eax, 2
sub edx, eax
lea eax, [ebx + 8]
cmp edx, eax
cmovb edx, eax
sub ecx, 4
cmp ecx, edx
jb 0x4834a1
nop
mov dword [ecx], 0xffffffff
sub ecx, 4
cmp ecx, edx
jae 0x483490
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 4], 0xffffffff
mov eax, dword [esp + 0x6c]
mov dword [eax], 0xffffffff
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
cmp dword [esp + 0x4c], 0
mov edx, dword [esp + 0x1c]
jne 0x48351f
movzx eax, word [edx + 0xc]
test al, 0x10
je 0x4834fa
mov ecx, 1
mov dword [esp + 0x14], ecx
mov ch, byte [edx + 0x14]
mov byte [esp + 0x19], ch
mov cl, ch
mov byte [esp + 0x1a], cl
test al, 0x20
je 0x48351f
movzx eax, ch
mov ecx, dword [esp + 0x94]
mov al, byte [eax + ecx]
mov byte [esp + 0x19], al
jmp 0x483526
cmp dword [esp + 0x5c], 0
jne 0x48351f
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48351f
test byte [eax + 4], 1
mov ecx, dword [esp + 0x94]
je 0x483526
add eax, 8
mov dword [esp + 0x54], eax
jmp 0x483526
mov ecx, dword [esp + 0x94]
movzx eax, word [edx + 0xc]
test al, 0x40
je 0x483551
mov dh, byte [edx + 0x16]
mov dword [esp + 0x50], 1
mov dl, dh
mov byte [esp + 0x13], dh
mov byte [esp + 0x1b], dl
test al, al
jns 0x483551
movzx eax, dh
mov dh, byte [eax + ecx]
mov byte [esp + 0x13], dh
cmp dword [esp + 0x58], 0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
je 0x4835d1
mov eax, dword [esp + 0xd8]
mov ecx, esi
mov dword [esp + 0x20], ecx
cmp esi, eax
jae 0x4835d1
test ebx, ebx
je 0x48359f
push 0
lea edx, [esp + 0x80]
push edx
push eax
mov edx, ebx
call fcn.00483f40
mov edi, dword [esp + 0x88]
add esp, 0xc
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x20]
test eax, eax
jne 0x4835d1
jmp 0x4835c1
sub eax, edi
cmp ecx, eax
ja 0x4835c1
mov al, byte [ecx]
cmp al, byte [esp + 0x8c]
jne 0x4835c1
cmp edi, 1
je 0x4835d1
mov al, byte [ecx + 1]
cmp al, byte [esp + 0x8d]
je 0x4835d1
mov eax, dword [esp + 0xd8]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, eax
jb 0x483571
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [eax + 8]
or eax, dword [ebp + 0x14]
and eax, 0x4000000
mov dword [esp + 0x2c], eax
jne 0x483720
test edx, edx
je 0x483642
mov dl, byte [esp + 0x1a]
mov bl, byte [esp + 0x19]
cmp dl, bl
je 0x483622
cmp esi, ecx
jae 0x48371c
mov al, byte [esi]
cmp al, dl
je 0x48371c
cmp al, bl
je 0x48371c
inc esi
cmp esi, ecx
jb 0x483606
jmp 0x48371c
cmp esi, ecx
jae 0x48371c
lea ebx, [ebx]
cmp byte [esi], dl
je 0x48371c
inc esi
cmp esi, ecx
jb 0x483630
jmp 0x48371c
cmp dword [esp + 0x5c], 0
je 0x4836eb
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0xd4]
add eax, edx
cmp esi, eax
jbe 0x48371c
cmp esi, ecx
jae 0x4836cb
test ebx, ebx
je 0x483698
cmp esi, edx
jbe 0x4836c6
push ecx
lea eax, [esp + 0x80]
mov ecx, esi
push eax
push edx
mov edx, ebx
call fcn.00483fd0
mov ebx, dword [esp + 0x84]
add esp, 0xc
mov ecx, dword [esp + 0x20]
test eax, eax
jne 0x4836cb
mov edi, dword [esp + 0x7c]
jmp 0x4836bf
lea eax, [edx + edi]
cmp esi, eax
jb 0x4836c6
mov edx, esi
sub edx, edi
mov al, byte [edx]
cmp al, byte [esp + 0x8c]
jne 0x4836bf
cmp edi, 1
je 0x4836cb
mov al, byte [edx + 1]
cmp al, byte [esp + 0x8d]
je 0x4836cb
mov edx, dword [esp + 0xd4]
inc esi
cmp esi, ecx
jb 0x483665
cmp byte [esi - 1], 0xd
jne 0x48371c
cmp ebx, 1
je 0x4836db
cmp ebx, 2
jne 0x48371c
cmp esi, ecx
jae 0x48371c
cmp byte [esi], 0xa
mov edx, dword [esp + 0x14]
jne 0x483720
inc esi
jmp 0x483720
mov ebx, dword [esp + 0x54]
test ebx, ebx
je 0x483720
cmp esi, ecx
jae 0x483720
mov edi, dword [esp + 0x20]
jmp 0x483700
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
test byte [edx + ebx], al
jne 0x48371c
inc esi
cmp esi, edi
jb 0x483700
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x2c], 0
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x20], ebx
jne 0x4837df
cmp dword [esp + 0xe8], 0
jne 0x4837df
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x48375c
test byte [ecx + 4], 2
je 0x48375c
mov eax, ebx
sub eax, esi
cmp eax, dword [ecx + 0x28]
jb 0x48385c
cmp dword [esp + 0x50], 0
je 0x4837df
mov eax, ebx
sub eax, esi
cmp eax, 0x3e8
jge 0x4837df
xor ecx, ecx
test edx, edx
setne cl
add ecx, esi
cmp ecx, dword [esp + 0x48]
jbe 0x4837df
mov dl, byte [esp + 0x1b]
mov al, byte [esp + 0x13]
cmp dl, al
je 0x4837b1
cmp ecx, ebx
jae 0x48385c
movzx edi, dl
movzx edx, byte [ecx]
inc ecx
cmp edx, edi
je 0x4837d2
movzx eax, al
cmp edx, eax
je 0x4837d2
cmp ecx, ebx
jae 0x48385c
mov al, byte [esp + 0x13]
jmp 0x483794
cmp ecx, ebx
jae 0x48385c
lea esp, [esp]
mov al, byte [ecx]
inc ecx
cmp al, dl
je 0x4837d2
cmp ecx, ebx
jb 0x4837c0
xor edi, edi
jmp 0x483996
dec ecx
cmp ecx, ebx
jae 0x48385c
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xd0]
lea eax, [esp + 0x60]
push 0
push 0
push eax
push 2
push esi
mov ecx, esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf8], esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x100], 0
call fcn.0047ecb0
add esp, 0x14
mov edi, eax
cmp dword [esp + 0xc0], 0
je 0x483846
mov eax, dword [esp + 0x40]
test eax, eax
cmove eax, dword [esp + 0xe4]
mov dword [esp + 0x40], eax
cmp edi, 0xfffffc1d
jg 0x483863
je 0x4838ab
cmp edi, 0xfffffc1a
jne 0x4839e1
xor edi, edi
jmp 0x483996
cmp edi, 0xfffffc20
jg 0x4838a3
je 0x4838ab
cmp edi, 0xfffffc1e
je 0x483892
cmp edi, 0xfffffc1f
jne 0x4839e1
mov dword [esp + 0x2c], esi
mov dword [esp + 0xcc], 1
jmp 0x4838bd
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x2c], eax
cmp eax, esi
je 0x4838ab
jmp 0x4838bd
test edi, edi
jne 0x4839e1
lea eax, [esi + 1]
mov dword [esp + 0xcc], 0
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x78]
xor edi, edi
mov dword [esp + 0x24], edi
cmp dword [esp + 0x58], edi
je 0x483902
mov eax, dword [esp + 0xd8]
test ebx, ebx
je 0x483964
cmp esi, eax
jae 0x483902
push edi
lea ecx, [esp + 0x80]
mov edx, ebx
push ecx
push eax
mov ecx, esi
call fcn.00483f40
add esp, 0xc
test eax, eax
jne 0x483992
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
cmp dword [esp + 0x4c], 0
mov eax, dword [esp + 0x2c]
mov esi, eax
jne 0x48398e
mov edx, dword [esp + 0x28]
cmp eax, edx
ja 0x48398e
cmp eax, dword [esp + 0x11c]
jbe 0x483954
cmp byte [eax - 1], 0xd
jne 0x483954
cmp eax, edx
jae 0x483954
cmp byte [eax], 0xa
jne 0x483954
mov ecx, dword [esp + 0x1c]
mov edx, 0x800
test word [ecx + 0xc], dx
jne 0x483954
cmp ebx, 1
je 0x483951
cmp ebx, 2
je 0x483951
cmp edi, 2
jne 0x483954
lea esi, [eax + 1]
mov dword [esp + 0x10c], 0
jmp 0x483551
mov edi, dword [esp + 0x7c]
sub eax, edi
cmp esi, eax
ja 0x483906
mov al, byte [esi]
cmp al, byte [esp + 0x8c]
jne 0x483906
cmp edi, 1
je 0x48398e
mov al, byte [esi + 1]
cmp al, byte [esp + 0x8d]
jne 0x483906
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x44], 0
je 0x4839aa
push dword [esp + 0x6c]
call dword [0x49ce38]
add esp, 4
test edi, edi
je 0x4839b7
cmp edi, 0xfffffff4
jne 0x483b35
mov eax, dword [esp + 0x40]
test eax, eax
je 0x483a5d
cmp dword [ebp + 0x1c], 1
jle 0x4839d7
mov ecx, dword [ebp + 0x18]
sub eax, dword [ebp + 8]
sub ebx, dword [ebp + 8]
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov eax, 0xfffffff4
jmp 0x483a60
cmp edi, 1
je 0x4839ee
cmp edi, 0xfffffc19
jne 0x483996
cmp dword [esp + 0x44], 0
mov edi, dword [esp + 0x38]
je 0x483a44
mov esi, dword [esp + 0x6c]
cmp edi, 4
jl 0x483a1d
lea eax, [edi*4 - 8]
push eax
lea eax, [esi + 8]
push eax
mov eax, dword [ebp + 0x18]
add eax, 8
push eax
call fcn.0048cfd0
add esp, 0xc
mov eax, dword [esp + 0x9c]
mov ecx, 1
cmp dword [esp + 0xec], edi
push esi
cmovg eax, ecx
mov dword [esp + 0xa0], eax
call dword [0x49ce38]
add esp, 4
cmp dword [esp + 0x9c], 0
mov ecx, dword [esp + 0xec]
je 0x483a88
cmp ecx, edi
jl 0x483a88
xor edi, edi
jmp 0x483a91
or eax, 0xffffffff
mov edx, dword [esp + 0x34]
test edx, edx
je 0x483b4f
test byte [edx], 0x20
je 0x483b4f
mov edx, dword [edx + 0x18]
mov ecx, dword [esp + 0x110]
mov dword [edx], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, ecx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
mov eax, dword [esp + 0x1c]
movzx esi, word [eax + 0x10]
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp + 0x18]
sar eax, 1
cmp eax, esi
jg 0x483af1
test edx, edx
je 0x483af1
lea eax, [esi*2 + 2]
cmp eax, dword [ebp + 0x1c]
lea ecx, [edx + ecx*4]
cmovg eax, dword [esp + 0x30]
xor ebx, ebx
lea eax, [edx + eax*4]
xor edx, edx
mov esi, eax
sub esi, ecx
add esi, 3
shr esi, 2
cmp ecx, eax
cmova esi, ebx
test esi, esi
je 0x483aee
jmp 0x483ae0
inc edx
mov dword [ecx], 0xffffffff
lea ecx, [ecx + 4]
cmp edx, esi
jb 0x483ae0
mov edx, dword [ebp + 0x18]
cmp dword [ebp + 0x1c], 2
jge 0x483afb
xor edi, edi
jmp 0x483b1c
mov eax, dword [esp + 0xdc]
sub eax, dword [esp + 0xd4]
mov dword [edx], eax
mov eax, dword [esp + 0xe0]
sub eax, dword [esp + 0xd4]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x34]
test edx, edx
je 0x483b35
test byte [edx], 0x20
je 0x483b35
mov edx, dword [edx + 0x18]
mov ecx, dword [esp + 0x10c]
mov dword [edx], ecx
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffe8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret