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

Disassembly:
sub esp, 0x8c
push ebx
push ebp
mov ebp, dword [esp + 0x98]
push esi
push edi
mov edi, dword [esp + 0xa8]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp + 0x20], edi
cmp ebx, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], eax
jne 0x10058d31
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
mov esi, dword [esp + 0xa4]
cmp esi, ecx
jne 0x10058d43
mov ecx, 0x65
jmp 0x10058d47
xor ecx, ecx
mov cl, byte [esi]
mov dword [esp + 0x18], ecx
add ecx, 0xffffffed
cmp ecx, 0x8c
ja case.0x10058d62.44
xor edx, edx
mov dl, byte [ecx + 0x100598b4]
jmp dword [edx*4 + 0x1005984c]
movsx ecx, word [esi + 0x22]
mov eax, dword [esi + 0x28]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + 0x1c]
lea ecx, [edx + ecx*8]
mov dl, byte [eax]
test dl, dl
jne 0x10058d8b
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
jmp 0x10059821
mov dl, byte [eax + 1]
test dl, dl
je case.0x10058d62.39
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 8]
push edi
push ecx
push edx
push 0x2e
push ebx
call fcn.1004aaf0
add esp, 0x14
jmp 0x10059821
mov eax, dword [esi + 0x1c]
test eax, eax
jge 0x10058dcb
mov ecx, dword [ebp + 0x5c]
test ecx, ecx
jle 0x10058dc8
movsx eax, word [esi + 0x20]
add eax, ecx
mov dword [esp + 0x20], eax
jmp 0x10059821
mov eax, dword [ebp + 0x60]
mov cl, byte [esi + 0x26]
movsx edx, word [esi + 0x20]
push ecx
push edi
push eax
mov eax, dword [esi + 0x2c]
push edx
push eax
push ebp
call fcn.1005b090
add esp, 0x18
mov dword [esp + 0x20], eax
jmp 0x10059821
push edi
push 0
push esi
push ebp
call fcn.1005ad70
add esp, 0x10
jmp 0x10059821
mov ecx, dword [esi + 8]
push edi
push 0
push ecx
push ebx
call fcn.1005acd0
add esp, 0x10
jmp 0x10059821
mov edx, dword [esi + 8]
push 0
push edx
push 0
push edi
push 0
push 0x61
push ebx
call fcn.100574e0
add esp, 0x1c
jmp 0x10059821
push edi
push 0
push 0x1c
push ebx
call fcn.10057e50
add esp, 0x10
jmp 0x10059821
mov esi, dword [esi + 8]
add esi, 2
push esi
call fcn.1002b0d0
add esp, 4
dec eax
mov dword [esp + 0x10], eax
push eax
push esi
push ebx
call fcn.10043c40
add esp, 4
push eax
call fcn.10057cf0
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x24]
push 0
cdq
sub eax, edx
push edi
sar eax, 1
push eax
push 0x1e
push ebx
call fcn.100574e0
add esp, 0x28
jmp 0x10059821
movsx eax, word [esi + 0x20]
push edi
push eax
push 0x1f
push ebx
call fcn.10057e50
mov ecx, dword [esi + 8]
add esp, 0x10
mov al, byte [ecx + 1]
test al, al
je 0x10059821
movsx edx, word [esi + 0x20]
mov eax, dword [ebp + 0x1d8]
push 0xfffffffffffffffe
mov ecx, dword [eax + edx*4 - 4]
push ecx
push 0xffffffffffffffff
push ebx
call fcn.1004ad60
add esp, 0x10
jmp 0x10059821
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x20], edx
jmp 0x10059821
mov eax, dword [esi + 0xc]
push edi
push eax
push ebp
call fcn.10058cf0
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x10059821
mov ecx, dword [esi + 0xc]
push edi
push ecx
push ebp
call fcn.10058cf0
mov edx, dword [esi + 8]
push 0
push edx
mov dword [esp + 0x34], eax
call fcn.1005ef90
movsx esi, al
mov eax, dword [esp + 0x34]
add esp, 0x14
add esi, 0x2e
cmp eax, edi
je 0x10058f27
push edi
push eax
push 0x22
push ebx
call fcn.10057e50
add esp, 0x10
mov dword [esp + 0x20], edi
jmp 0x10058f2b
mov edi, dword [esp + 0x20]
push edi
push esi
push ebx
call fcn.10058940
push 1
push edi
push ebp
call fcn.1005b280
add esp, 0x18
jmp 0x10059821
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x30]
push ecx
push edx
push ebp
call fcn.1005b2b0
mov ecx, dword [esi + 0x10]
mov ebx, eax
lea eax, [esp + 0x44]
push eax
push ecx
push ebp
call fcn.1005b2b0
mov edx, dword [esp + 0x30]
mov ecx, dword [esi + 0xc]
push 0x10
push edi
push eax
mov eax, dword [esi + 0x10]
push ebx
push edx
push eax
push ecx
push ebp
call fcn.10059a50
add esp, 0x38
jmp 0x10059821
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x30]
push edx
push eax
push ebp
call fcn.1005b2b0
mov edx, dword [esi + 0x10]
lea ecx, [esp + 0x44]
push ecx
push edx
push ebp
mov ebx, eax
call fcn.1005b2b0
mov edx, dword [esp + 0x30]
push 0x90
push edi
mov ecx, dword [esi + 0x10]
push eax
xor eax, eax
cmp edx, 0x49
mov edx, dword [esi + 0xc]
sete al
add eax, 0x4e
push ebx
push eax
push ecx
push edx
push ebp
call fcn.10059a50
add esp, 0x38
jmp 0x10059821
mov ecx, dword [esi + 0xc]
lea eax, [esp + 0x30]
push eax
push ecx
push ebp
call fcn.1005b2b0
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x10]
lea edx, [esp + 0x44]
push edx
push eax
push ebp
call fcn.1005b2b0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push edi
push ecx
push eax
push edx
push ebx
call fcn.1004aaf0
add esp, 0x2c
jmp 0x10059821
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
cmp cl, 0x84
jne 0x1005902e
push edi
push 1
push eax
push ebp
call fcn.1005ad70
add esp, 0x10
mov dword [esp + 0x20], edi
jmp 0x10059821
cmp cl, 0x85
jne 0x1005904c
mov eax, dword [eax + 8]
push edi
push 1
push eax
push ebx
call fcn.1005acd0
add esp, 0x10
mov dword [esp + 0x20], edi
jmp 0x10059821
lea ecx, [esp + 0x30]
lea edx, [esp + 0x3c]
push ecx
push edx
push ebp
mov byte [esp + 0x48], 0x84
mov dword [esp + 0x4c], 0x4400
mov dword [esp + 0x50], 0
call fcn.1005b2b0
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x44]
push eax
push ecx
push ebp
call fcn.1005b2b0
mov edx, dword [esp + 0x34]
push edi
push edx
push eax
push 0x5a
push ebx
call fcn.1004aaf0
add esp, 0x2c
mov dword [esp + 0x20], edi
jmp 0x10059821
mov ecx, dword [esi + 0xc]
lea eax, [esp + 0x30]
push eax
push ecx
push ebp
call fcn.1005b2b0
mov edx, dword [esp + 0x24]
push edi
push eax
push edx
push ebx
mov dword [esp + 0x3c], edi
call fcn.10057e50
add esp, 0x1c
jmp 0x10059821
push edi
push 1
push 0x19
push ebx
call fcn.10057e50
mov ecx, dword [esi + 0xc]
lea eax, [esp + 0x40]
push eax
push ecx
push ebp
call fcn.1005b2b0
mov edx, dword [esp + 0x34]
push eax
push edx
push ebx
call fcn.10058940
push edi
push 0
push 0x19
push ebx
mov esi, eax
call fcn.10057e50
push esi
push ebx
call fcn.10057e70
add esp, 0x40
jmp 0x10059821
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x10059127
mov eax, dword [esi + 8]
push eax
push str.misuse_of_aggregate:__s__
push ebp
call fcn.1004aa00
add esp, 0xc
jmp 0x10059821
movsx ecx, word [esi + 0x22]
mov edx, dword [eax + 0x28]
shl ecx, 4
mov eax, dword [ecx + edx + 8]
mov dword [esp + 0x20], eax
jmp 0x10059821
mov edx, dword [eax + 0x10]
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], ecx
mov eax, dword [edx + 0xc]
mov dl, byte [eax + 0x4d]
mov eax, dword [esi + 4]
test ah, 0x40
mov byte [esp + 0x18], dl
je 0x10059240
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], ecx
mov eax, dword [esi + 8]
push eax
mov dword [esp + 0x14], eax
call fcn.1002b0d0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push 0
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov dword [esp + 0x2c], eax
push eax
mov eax, dword [esp + 0x24]
push eax
push ecx
call fcn.10062d00
add esp, 0x1c
mov dword [esp + 0x18], eax
test eax, eax
je 0x1005945d
mov ecx, dword [eax + 0xc]
xor edx, edx
cmp ecx, edx
je 0x1005945d
mov ax, word [eax + 2]
test ah, 2
je 0x1005925a
push ebx
call fcn.10058960
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
push edi
mov eax, dword [edx + 4]
mov ecx, dword [eax]
push ecx
push ebp
call fcn.10058c90
mov eax, dword [esp + 0x34]
add esp, 0x10
cmp eax, 1
jle 0x10059236
dec eax
mov esi, 0x18
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x14]
push edx
push edi
push 0x4d
push ebx
call fcn.10057e50
push 1
push edi
push ebp
call fcn.1005afa0
push ebp
call fcn.1005b030
mov eax, dword [esp + 0x48]
push edi
mov ecx, dword [eax + 4]
mov edx, dword [esi + ecx]
push edx
push ebp
call fcn.10058c90
push ebp
call fcn.1005b040
mov eax, dword [esp + 0x40]
add esp, 0x30
add esi, 0x18
dec eax
mov dword [esp + 0x10], eax
jne 0x100591f0
mov eax, dword [esp + 0x14]
push eax
jmp 0x10059818
mov eax, dword [esi + 0x14]
cmp eax, ecx
mov dword [esp + 0x28], eax
je 0x10059165
mov eax, dword [eax]
mov dword [esp + 0x24], eax
jmp 0x10059169
test ah, 4
je 0x10059278
mov ecx, dword [esp + 0x28]
push edi
mov edx, dword [ecx + 4]
mov eax, dword [edx]
push eax
push ebp
call fcn.10058c90
add esp, 0xc
jmp 0x10059821
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x10], edx
cmp ecx, edx
jle 0x10059313
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
cmp eax, 0x300
jge 0x100592c3
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + eax]
push ecx
call fcn.10059c50
add esp, 4
test eax, eax
je 0x100592c3
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov edx, 1
shl edx, cl
or eax, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
test byte [eax + 2], 0x20
je 0x100592f1
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x100592f1
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + eax]
push ecx
push ebp
call fcn.10059950
add esp, 8
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 0x18
inc eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x24]
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x1005928c
xor edx, edx
cmp dword [esp + 0x28], edx
je 0x1005938d
cmp dword [esp + 0x2c], edx
je 0x10059330
mov eax, dword [ebp + 0x48]
add ecx, eax
lea edx, [eax + 1]
mov dword [ebp + 0x48], ecx
mov dword [esp + 0x1c], edx
jmp 0x10059342
mov eax, dword [esp + 0x24]
push eax
push ebp
call fcn.1005c700
add esp, 8
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x18]
test byte [edx + 2], 0xc0
je 0x1005936a
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
mov cl, byte [eax]
cmp cl, 0x9a
je 0x10059361
cmp cl, 0x9c
jne 0x1005936a
mov cl, byte [edx + 2]
and cl, 0xc0
mov byte [eax + 0x26], cl
push ebp
call fcn.1005b030
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
push 3
push edx
push eax
push ebp
call fcn.1005bc00
push ebp
call fcn.1005b040
add esp, 0x18
jmp 0x10059391
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x24]
cmp eax, 2
jl 0x100593ad
mov cl, byte [esi + 4]
test cl, cl
jns 0x100593ad
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x18]
jmp 0x100593ba
test eax, eax
jle 0x100593d6
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
call fcn.10073520
add esp, 0x10
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
test byte [ecx + 2], 0x20
je 0x1005940b
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x100593f3
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x34]
push 0xfffffffffffffffc
push ecx
push 0
push 0
push 0
push 0x24
push ebx
call fcn.100574e0
add esp, 0x1c
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
push 0xfffffffffffffffb
push edx
push edi
push eax
push ecx
push 1
push ebx
call fcn.100574e0
mov esi, dword [esp + 0x40]
push esi
push ebx
call fcn.1004ace0
add esp, 0x24
test esi, esi
je 0x10059821
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x10059821
mov eax, dword [esp + 0x1c]
mov edx, esi
push edx
push eax
push ebp
call fcn.1005c730
add esp, 0xc
jmp 0x10059821
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
push ecx
push edx
push str.unknown_function:__.s__
push ebp
call fcn.1004aa00
add esp, 0x10
jmp 0x10059821
push 0
push 0
push esi
push ebp
call fcn.1005a050
add esp, 0x10
mov dword [esp + 0x20], eax
jmp 0x10059821
push ebx
call fcn.10058960
push ebx
mov dword [esp + 0x18], eax
call fcn.10058960
push edi
push 0
push 0x1c
push ebx
mov dword [esp + 0x2c], eax
call fcn.10057e50
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push eax
push ecx
push esi
push ebp
call fcn.1005a4e0
push edi
push 1
push 0x19
push ebx
call fcn.10057e50
mov edx, dword [esp + 0x48]
push edx
push ebx
call fcn.100589b0
add esp, 0x40
push 0
push edi
push 0x25
push ebx
call fcn.10057e50
mov eax, dword [esp + 0x24]
push eax
push ebx
call fcn.100589b0
add esp, 0x18
jmp 0x10059821
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x30]
mov dword [esp + 0x10], eax
mov ecx, dword [ecx + 4]
push edx
push eax
push ebp
mov esi, dword [ecx]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], esi
call fcn.1005b2b0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x44]
push eax
push esi
push ebp
call fcn.1005b2b0
push ebp
mov edx, eax
call fcn.10057ea0
push ebp
mov esi, eax
call fcn.10057ea0
mov ecx, dword [esp + 0x3c]
push 0x10
push esi
push edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x3c]
push ecx
push 0x53
push edx
push eax
push ebp
call fcn.10059a50
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
add esp, 0x40
mov edx, dword [ecx + 0x18]
push eax
push ebp
mov dword [esp + 0x1c], edx
call fcn.10057ed0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x40]
push ecx
push edx
push ebp
call fcn.1005b2b0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
push 0x10
push ecx
mov ecx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
push edx
push 0x51
push eax
push ecx
push ebp
call fcn.10059a50
push edi
mov edi, dword [esp + 0x64]
push edi
push esi
push 0x48
push ebx
call fcn.1004aaf0
add esp, 0x48
push esi
push ebp
call fcn.10057ed0
push edi
push ebp
call fcn.10057ed0
add esp, 0x10
jmp 0x10059821
mov edx, dword [esi + 0xc]
push edi
push edx
push ebp
call fcn.10058cf0
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x10059821
mov eax, dword [esi + 0x2c]
push edi
mov dword [esp + 0x14], eax
movsx eax, word [eax + 0x26]
inc eax
imul eax, dword [esi + 0x1c]
movsx ecx, word [esi + 0x20]
lea edx, [eax + ecx + 1]
push edx
push 0x82
push ebx
call fcn.10057e50
mov si, word [esi + 0x20]
add esp, 0x10
test si, si
jl 0x10059821
mov ecx, dword [esp + 0x10]
movsx eax, si
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
cmp byte [edx + eax*8 + 0x15], 0x65
jne 0x10059821
push edi
push 0x27
push ebx
call fcn.10058940
add esp, 0xc
jmp 0x10059821
mov eax, dword [ebp + 0x19c]
test eax, eax
jne 0x10059664
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebp
call fcn.1004aa00
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp byte [esi + 1], 2
jne 0x10059673
push ebp
call fcn.10062440
add esp, 4
mov al, byte [esi + 1]
push 0
cmp al, 4
jne 0x10059696
mov eax, dword [esi + 8]
push eax
push 0
push 4
push 0
push 0x18
push ebx
call fcn.100574e0
add esp, 0x1c
jmp 0x10059821
mov ecx, dword [esi + 8]
push 0
movsx edx, al
push ecx
push edx
push 0x713
push ebp
call fcn.10062460
add esp, 0x18
jmp 0x10059821
mov eax, dword [esi + 0x14]
push ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x2c], eax
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], edx
call fcn.10058960
mov esi, dword [esi + 0xc]
add esp, 4
test esi, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], esi
je 0x10059735
mov ecx, 0xc
lea edi, [esp + 0x3c]
mov eax, esi
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x30]
push ecx
push eax
push ebp
call fcn.1005b2b0
lea edx, [esp + 0x48]
push eax
push edx
call fcn.1005b290
mov edi, dword [esp + 0xbc]
lea eax, [esp + 0x50]
lea ecx, [esp + 0x80]
add esp, 0x14
mov byte [esp + 0x6c], 0x4f
mov dword [esp + 0x78], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x2c]
lea eax, [edx - 1]
test eax, eax
jle 0x100597d3
mov esi, dword [esp + 0x14]
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
jmp 0x1005975a
mov esi, dword [esp + 0x14]
push ebp
call fcn.1005b030
mov eax, dword [esp + 0x38]
add esp, 4
test eax, eax
je 0x10059773
mov eax, dword [esi]
mov dword [esp + 0x7c], eax
jmp 0x10059779
mov ecx, dword [esi]
mov dword [esp + 0x10], ecx
push ebx
call fcn.10058960
mov edx, dword [esp + 0x14]
mov esi, eax
push 8
push esi
push edx
push ebp
call fcn.1005bd40
mov eax, dword [esp + 0x28]
push edi
mov ecx, dword [eax + 0x18]
push ecx
push ebp
call fcn.10058c90
mov edx, dword [esp + 0x44]
push edx
push 0
push 0x10
push ebx
call fcn.10057e50
push ebp
call fcn.1005b040
push esi
push ebx
call fcn.100589b0
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
add esp, 0x3c
add ecx, 0x30
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jne 0x10059756
test byte [esp + 0x2c], 1
je 0x10059805
push ebp
call fcn.1005b030
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
push edi
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 - 0x18]
push eax
push ebp
call fcn.10058c90
push ebp
call fcn.1005b040
add esp, 0x14
jmp 0x10059813
push edi
push 0
push 0x1c
push ebx
call fcn.10057e50
add esp, 0x10
mov ecx, dword [esp + 0x24]
push ecx
push ebx
call fcn.100589b0
add esp, 8
mov edx, dword [esp + 0x30]
push edx
push ebp
call fcn.10057ed0
mov eax, dword [esp + 0x40]
push eax
push ebp
call fcn.10057ed0
mov eax, dword [esp + 0x30]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret