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

Disassembly:
sub esp, 0x84
push ebx
push ebp
mov ebp, dword [esp + 0x90]
push esi
push edi
mov edi, dword [esp + 0xa0]
mov esi, dword [ebp + 8]
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp + 0x20], esi
cmp esi, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], eax
jne 0x487f45
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x84
ret
mov ebx, dword [esp + 0x9c]
cmp ebx, ecx
jne 0x487f57
mov ecx, 0x62
jmp 0x487f5b
xor ecx, ecx
mov cl, byte [ebx]
mov dword [esp + 0x10], ecx
add ecx, 0xffffffed
cmp ecx, 0x8a
ja case.0x487f76.44
xor edx, edx
mov dl, byte [ecx + 0x488a38]
jmp dword [edx*4 + 0x4889d0]
movsx ecx, word [ebx + 0x1e]
mov eax, dword [ebx + 0x24]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + 0x14]
lea ecx, [edx + ecx*8]
mov dl, byte [eax]
test dl, dl
jne 0x487f9f
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x1c], eax
jmp 0x4889a6
mov dl, byte [eax + 1]
test dl, dl
je case.0x487f76.40
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 8]
push edi
push ecx
push edx
push 0x29
push esi
call fcn.00486750
add esp, 0x14
jmp 0x4889a6
mov eax, dword [ebx + 0x18]
test eax, eax
jge 0x487fdf
mov ecx, dword [ebp + 0x58]
test ecx, ecx
jle 0x487fdc
movsx eax, word [ebx + 0x1c]
add eax, ecx
mov dword [esp + 0x1c], eax
jmp 0x4889a6
mov eax, dword [ebp + 0x5c]
mov cl, byte [ebx + 0x23]
movsx edx, word [ebx + 0x1c]
push ecx
push edi
push eax
mov eax, dword [ebx + 0x28]
push edx
push eax
push ebp
call fcn.00489e40
add esp, 0x18
mov dword [esp + 0x1c], eax
jmp 0x4889a6
push edi
push 0
push ebx
push ebp
call fcn.00489c70
add esp, 0x10
jmp 0x4889a6
mov ecx, dword [ebx + 4]
push edi
push 0
push ecx
push esi
call fcn.00489bd0
add esp, 0x10
jmp 0x4889a6
mov edx, dword [ebx + 4]
push 0
push edx
push 0
push edi
push 0
push 0x5e
push esi
call fcn.00486710
add esp, 0x1c
jmp 0x4889a6
push edi
push 0
push 0x18
push esi
call fcn.004870f0
add esp, 0x10
jmp 0x4889a6
mov ebx, dword [ebx + 4]
add ebx, 2
push ebx
call fcn.0045a8d0
add esp, 4
dec eax
mov dword [esp + 0x14], eax
push eax
push ebx
push esi
call fcn.004677d0
add esp, 4
push eax
call fcn.00486f90
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x28]
push 0
cdq
sub eax, edx
push edi
sar eax, 1
push eax
push 0x19
push esi
call fcn.00486710
add esp, 0x28
jmp 0x4889a6
movsx eax, word [ebx + 0x1c]
push edi
push eax
push 0x1a
push esi
call fcn.004870f0
mov ecx, dword [ebx + 4]
add esp, 0x10
mov al, byte [ecx + 1]
test al, al
je 0x4889a6
movsx edx, word [ebx + 0x1c]
mov eax, dword [ebp + 0x1ec]
push 0xfffffffffffffffe
mov ecx, dword [eax + edx*4 - 4]
push ecx
push 0xffffffffffffffff
push esi
call fcn.0047a4d0
add esp, 0x10
jmp 0x4889a6
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x1c], edx
jmp 0x4889a6
mov eax, dword [ebx + 8]
push edi
push eax
push ebp
call fcn.00487f00
add esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x4889a6
mov ecx, dword [ebx + 8]
push edi
push ecx
push ebp
call fcn.00487f00
mov edx, dword [ebx + 4]
mov dword [esp + 0x28], eax
push edx
call fcn.0048d920
movsx ebx, al
mov eax, dword [esp + 0x2c]
add esp, 0x10
add ebx, 0x2c
cmp eax, edi
je 0x488139
push edi
push eax
push 0x1d
push esi
call fcn.004870f0
add esp, 0x10
mov dword [esp + 0x1c], edi
jmp 0x48813d
mov edi, dword [esp + 0x1c]
push edi
push ebx
push esi
call fcn.00487bd0
push 1
push edi
push ebp
call fcn.0048a010
add esp, 0x18
jmp 0x4889a6
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x34]
push ecx
push edx
push ebp
call fcn.0048a030
mov ecx, dword [ebx + 0xc]
mov esi, eax
lea eax, [esp + 0x44]
push eax
push ecx
push ebp
call fcn.0048a030
mov edx, dword [esp + 0x28]
mov ecx, dword [ebx + 8]
push 0x10
push edi
push eax
mov eax, dword [ebx + 0xc]
push esi
push edx
push eax
push ecx
push ebp
call fcn.00488bc0
add esp, 0x38
jmp 0x4889a6
mov eax, dword [ebx + 8]
lea edx, [esp + 0x34]
push edx
push eax
push ebp
call fcn.0048a030
mov edx, dword [ebx + 0xc]
lea ecx, [esp + 0x44]
push ecx
push edx
push ebp
mov esi, eax
call fcn.0048a030
push 0x90
push edi
push eax
push esi
mov esi, dword [esp + 0x38]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor eax, eax
cmp esi, 0x46
sete al
add eax, 0x4b
push eax
push ecx
push edx
push ebp
call fcn.00488bc0
add esp, 0x38
jmp 0x4889a6
mov ecx, dword [ebx + 8]
lea eax, [esp + 0x34]
push eax
push ecx
push ebp
call fcn.0048a030
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0xc]
lea edx, [esp + 0x44]
push edx
push eax
push ebp
call fcn.0048a030
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
push edi
push ecx
push eax
push edx
push esi
call fcn.00486750
add esp, 0x2c
jmp 0x4889a6
mov eax, dword [ebx + 8]
mov cl, byte [eax]
cmp cl, 0x81
jne 0x488240
push edi
push 1
push eax
push ebp
call fcn.00489c70
add esp, 0x10
mov dword [esp + 0x1c], edi
jmp 0x4889a6
cmp cl, 0x82
jne 0x48825e
mov eax, dword [eax + 4]
push edi
push 1
push eax
push esi
call fcn.00489bd0
add esp, 0x10
mov dword [esp + 0x1c], edi
jmp 0x4889a6
push ebp
call fcn.00487130
push eax
push 0
push 0x15
push esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
call fcn.004870f0
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x4c]
push ecx
push edx
push ebp
call fcn.0048a030
mov ecx, dword [esp + 0x4c]
push edi
push ecx
push eax
push 0x57
push esi
call fcn.00486750
add esp, 0x34
mov dword [esp + 0x1c], edi
jmp 0x4889a6
mov eax, dword [ebx + 8]
lea edx, [esp + 0x34]
push edx
push eax
push ebp
call fcn.0048a030
mov ecx, dword [esp + 0x1c]
push edi
push eax
push ecx
push esi
mov dword [esp + 0x38], edi
call fcn.004870f0
add esp, 0x1c
jmp 0x4889a6
push edi
push 1
push 0x15
push esi
call fcn.004870f0
mov eax, dword [ebx + 8]
lea edx, [esp + 0x44]
push edx
push eax
push ebp
call fcn.0048a030
mov ecx, dword [esp + 0x2c]
push eax
push ecx
push esi
call fcn.00487bd0
push 0xffffffffffffffff
push edi
push 0x20
push esi
mov ebx, eax
call fcn.004870f0
push ebx
push esi
call fcn.00487110
add esp, 0x40
jmp 0x4889a6
mov eax, dword [ebx + 0x24]
test eax, eax
jne 0x488329
mov edx, dword [ebx + 4]
push edx
push str.misuse_of_aggregate:__s__
push ebp
call fcn.0047a260
add esp, 0xc
jmp 0x4889a6
movsx ecx, word [ebx + 0x1e]
mov edx, dword [eax + 0x20]
shl ecx, 4
mov eax, dword [ecx + edx + 8]
mov dword [esp + 0x1c], eax
jmp 0x4889a6
mov edx, dword [eax + 0x10]
xor ecx, ecx
test byte [ebx + 3], 0x40
mov eax, dword [edx + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], ecx
mov dl, byte [eax + 0x4d]
mov byte [esp + 0x10], dl
je 0x4883ba
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], ecx
mov eax, dword [ebx + 4]
push eax
mov dword [esp + 0x1c], eax
call fcn.0045a8d0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
push 0
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov dword [esp + 0x3c], eax
push eax
mov eax, dword [esp + 0x2c]
push eax
push ecx
call fcn.00490cf0
add esp, 0x1c
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4883cd
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
push edx
push eax
push str.unknown_function:__.s__
push ebp
call fcn.0047a260
add esp, 0x10
jmp 0x4889a6
mov eax, dword [ebx + 0x10]
cmp eax, ecx
mov dword [esp + 0x28], eax
je 0x488361
mov eax, dword [eax]
mov dword [esp + 0x30], eax
jmp 0x488365
mov ecx, dword [esp + 0x10]
test byte [ecx + 3], 0x20
je 0x48845d
push esi
call fcn.00487bf0
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
push edi
mov eax, dword [edx + 8]
mov ecx, dword [eax]
push ecx
push ebp
call fcn.00487ea0
mov eax, dword [esp + 0x40]
add esp, 0x10
cmp eax, 1
jle 0x488454
dec eax
mov ebx, 0x18
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x18]
push edx
push edi
push 0x4a
push esi
call fcn.004870f0
push 1
push edi
push ebp
call fcn.00489d50
push ebp
call fcn.00489de0
mov eax, dword [esp + 0x48]
push edi
mov ecx, dword [eax + 8]
mov edx, dword [ebx + ecx]
push edx
push ebp
call fcn.00487ea0
push 1
push ebp
call fcn.00489df0
mov eax, dword [esp + 0x48]
add esp, 0x34
add ebx, 0x18
dec eax
mov dword [esp + 0x14], eax
jne 0x48840c
mov eax, dword [esp + 0x18]
jmp 0x48899c
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4884bf
mov ecx, dword [esp + 0x30]
push ecx
push ebp
call fcn.0048a770
mov edx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
add esp, 8
mov al, byte [edx + 3]
test al, 0xc0
je 0x48849a
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov ecx, dword [edx]
mov dl, byte [ecx]
cmp dl, 0x98
je 0x488497
cmp dl, 0x9a
jne 0x48849a
mov byte [ecx + 0x23], al
push ebp
call fcn.00489de0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
push 1
push eax
push ecx
push ebp
call fcn.0048a080
push 1
push ebp
call fcn.00489df0
add esp, 0x1c
jmp 0x4884c7
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x30]
cmp eax, 2
jl 0x4884e2
test byte [ebx + 2], 0x80
je 0x4884e2
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x18]
jmp 0x4884ef
test eax, eax
jle 0x48850b
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 8]
mov ecx, dword [eax]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
push ecx
call fcn.0049fcd0
add esp, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x18], ebx
jle 0x48858b
cmp ebx, 0x300
jge 0x48854d
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ebx]
push ecx
call fcn.00488da0
add esp, 4
test eax, eax
je 0x48854d
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edx, 1
shl edx, cl
or eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
test byte [eax + 3], 8
je 0x488577
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x488577
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov eax, dword [edx + ebx]
push eax
push ebp
call fcn.00488ad0
add esp, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
inc eax
add ebx, 0x18
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x488519
mov ecx, dword [esp + 0x10]
test byte [ecx + 3], 8
je 0x4885c0
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4885a8
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
push 0xfffffffffffffffc
push ecx
push 0
push 0
push 0
push 0x1f
push esi
call fcn.00486710
add esp, 0x1c
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push 0xfffffffffffffffb
push edx
push edi
push eax
push ecx
push 1
push esi
call fcn.00486710
mov edi, dword [esp + 0x4c]
push edi
push esi
call fcn.00487620
add esp, 0x24
test edi, edi
je 0x4889a6
mov eax, dword [esp + 0x2c]
mov edx, edi
push edx
push eax
push ebp
call fcn.0048a7a0
add esp, 0xc
jmp 0x4889a6
push 0
push 0
push ebx
push ebp
call fcn.00489190
add esp, 0x10
mov dword [esp + 0x1c], eax
jmp 0x4889a6
push esi
call fcn.00487bf0
push esi
mov dword [esp + 0x1c], eax
call fcn.00487bf0
push edi
push 0
push 0x18
push esi
mov dword [esp + 0x30], eax
call fcn.004870f0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push ecx
push edx
push ebx
push ebp
call fcn.004895e0
push edi
push 1
push 0x15
push esi
call fcn.004870f0
mov eax, dword [esp + 0x4c]
push eax
push esi
call fcn.00487c40
add esp, 0x40
push 0
push edi
push 0x20
push esi
call fcn.004870f0
mov ecx, dword [esp + 0x28]
push ecx
push esi
call fcn.00487c40
add esp, 0x18
jmp 0x4889a6
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 8]
mov dword [esp + 0x14], eax
mov ecx, dword [edx + 8]
mov dword [esp + 0x10], ecx
mov ebx, dword [ecx]
lea ecx, [esp + 0x34]
push ecx
push eax
push ebp
mov dword [esp + 0x30], ebx
call fcn.0048a030
lea edx, [esp + 0x44]
mov dword [esp + 0x38], eax
push edx
push ebx
push ebp
call fcn.0048a030
push ebp
mov dword [esp + 0x3c], eax
call fcn.00487130
push ebp
mov ebx, eax
call fcn.00487130
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
push 0x10
push ebx
push eax
mov eax, dword [esp + 0x40]
push ecx
push 0x50
push edx
push eax
push ebp
call fcn.00488bc0
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x78]
add esp, 0x40
mov edx, dword [ecx + 0x18]
push eax
push ebp
mov dword [esp + 0x2c], edx
call fcn.00487160
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x40]
push ecx
push edx
push ebp
call fcn.0048a030
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
push 0x10
push ecx
mov ecx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x44]
push edx
push 0x4e
push eax
push ecx
push ebp
call fcn.00488bc0
push edi
mov edi, dword [esp + 0x50]
push edi
push ebx
push 0x45
push esi
call fcn.00486750
add esp, 0x48
push ebx
push ebp
call fcn.00487160
push edi
push ebp
call fcn.00487160
add esp, 0x10
jmp 0x4889a6
mov edx, dword [ebx + 8]
push edi
push edx
push ebp
call fcn.00487f00
add esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x4889a6
mov eax, dword [ebx + 0x28]
push edi
mov dword [esp + 0x18], eax
movsx eax, word [eax + 0x26]
inc eax
imul eax, dword [ebx + 0x18]
movsx ecx, word [ebx + 0x1c]
lea edx, [eax + ecx + 1]
push edx
push 0x7a
push esi
call fcn.004870f0
mov bx, word [ebx + 0x1c]
add esp, 0x10
test bx, bx
jl 0x4889a6
mov ecx, dword [esp + 0x14]
movsx eax, bx
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
cmp byte [edx + eax*8 + 0x15], 0x65
jne 0x4889a6
push edi
push 0x22
push esi
call fcn.00487bd0
add esp, 0xc
jmp 0x4889a6
mov eax, dword [ebp + 0x1b8]
test eax, eax
jne 0x4887f3
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebp
call fcn.0047a260
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
cmp byte [ebx + 1], 2
jne 0x488802
push ebp
call fcn.004906d0
add esp, 4
mov al, byte [ebx + 1]
push 0
cmp al, 4
jne 0x488825
mov eax, dword [ebx + 4]
push eax
push 0
push 4
push 0
push 0x14
push esi
call fcn.00486710
add esp, 0x1c
jmp 0x4889a6
mov ecx, dword [ebx + 4]
movsx edx, al
push ecx
push edx
push 0x713
push ebp
call fcn.004906f0
add esp, 0x14
jmp 0x4889a6
mov eax, dword [ebx + 0x10]
push esi
mov dword [esp + 0x18], 0
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
call fcn.00487bf0
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x4888bd
mov ecx, 0xb
mov esi, eax
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x34]
push ecx
push eax
push ebp
call fcn.0048a030
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0xac]
mov dword [esp + 0x60], eax
lea edx, [esp + 0x48]
lea eax, [esp + 0x74]
add esp, 0xc
mov byte [esp + 0x3c], 0x84
mov byte [esp + 0x68], 0x4c
mov dword [esp + 0x70], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x488965
mov ecx, dword [esp + 0x28]
inc eax
shr eax, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
push ebp
call fcn.00489de0
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x4888f5
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
mov dword [esp + 0x74], eax
jmp 0x4888ff
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov dword [esp + 0x14], edx
push esi
call fcn.00487bf0
push 8
mov dword [esp + 0x30], eax
push eax
mov eax, dword [esp + 0x20]
push eax
push ebp
call fcn.0048a0f0
mov ecx, dword [esp + 0x34]
push edi
mov edx, dword [ecx + 0x18]
push edx
push ebp
call fcn.00487ea0
mov eax, dword [esp + 0x30]
push eax
push 0
push 0xe
push esi
call fcn.004870f0
push 1
push ebp
call fcn.00489df0
mov ecx, dword [esp + 0x60]
push ecx
push esi
call fcn.00487c40
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
add esp, 0x40
add ecx, 0x30
dec eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jne 0x4888d8
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x48898a
push ebp
call fcn.00489de0
mov edx, dword [ebx + 0xc]
push edi
push edx
push ebp
call fcn.00487ea0
push 1
push ebp
call fcn.00489df0
add esp, 0x18
jmp 0x488998
push edi
push 0
push 0x18
push esi
call fcn.004870f0
add esp, 0x10
mov eax, dword [esp + 0x10]
push eax
push esi
call fcn.00487c40
add esp, 8
mov ecx, dword [esp + 0x34]
push ecx
push ebp
call fcn.00487160
mov edx, dword [esp + 0x40]
push edx
push ebp
call fcn.00487160
mov eax, dword [esp + 0x2c]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret