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

Disassembly:
sub esp, 0x80
push ebp
push esi
mov esi, dword [esp + 0x8c]
xor ebp, ebp
cmp esi, ebp
je 0x487a03
push edi
mov edi, dword [esp + 0x94]
cmp edi, ebp
je 0x487a02
push ebx
push esi
mov ecx, 0x6b602c
call fcn.004c14d0
push esi
mov ecx, 0x6b4198
call fcn.00493910
push esi
mov ecx, 0x6b4198
call fcn.00493ce0
xor ebx, ebx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x14], ebp
add edi, 0x19c
nop
mov ecx, dword [esp + 0x98]
cmp word [ecx + 0x19a], bx
jbe 0x4873bf
mov al, byte [edi]
test al, al
je 0x4873bf
movzx eax, al
add eax, 0xfffffffe
cmp eax, 0xc
ja case.0x48731d.8
jmp dword [eax*4 + 0x487a0c]
mov dword [esp + 0x18], 1
jmp case.0x48731d.8
movzx eax, word [edi + 1]
push eax
lea ecx, [edi + 3]
push ecx
mov dword [esp + 0x1c], 1
push 0x6b3ff8
jmp 0x487396
movzx edx, word [edi + 1]
push edx
lea eax, [edi + 3]
push eax
mov dword [esp + 0x1c], 2
push 0x6b3ff8
jmp 0x487396
mov dword [esp + 0x1c], 1
lea eax, [esp + 0x20]
jmp 0x48738c
mov dword [esp + 0x24], 1
lea eax, [esp + 0x28]
jmp 0x48738c
mov dword [esp + 0x2c], 1
lea eax, [esp + 0x10]
jmp 0x48738c
lea eax, [esp + 0x44]
movzx ecx, word [edi + 1]
push ecx
lea edx, [edi + 3]
push edx
push eax
call fcn.00562a30
add esp, 0xc
mov cx, word [edi + 1]
mov eax, dword [esp + 0x98]
add cx, 3
add bx, cx
movzx edx, bx
lea edi, [edx + eax + 0x19c]
jmp 0x4872f0
mov eax, dword [ecx + 0x195]
cmp eax, ebp
je 0x4873e6
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
mov dword [esi + 0x404], eax
call fcn.0049a2d0
push esi
mov ecx, 0x6b4040
call fcn.004870b0
mov edx, dword [esp + 0x98]
fldz
cmp byte [edx + 0x69], 0
je 0x487452
fstp st(0)
cmp dword [esi + 0x404], ebp
je 0x48741b
push 0x58b8b8
call fcn.00513830
add esp, 4
push ebp
mov word [esp + 0x34], ax
push 1
lea eax, [esp + 0x38]
push eax
jmp 0x487435
push 0x58b8d0
call fcn.00513830
add esp, 4
push ebp
push 1
lea ecx, [esp + 0x38]
mov word [esp + 0x38], ax
push ecx
fldz
push 0xfffffffffffffffb
fst dword [esp + 0x50]
mov ecx, esi
fst dword [esp + 0x4c]
mov dword [esp + 0x44], ebp
fstp dword [esp + 0x48]
call fcn.00492540
fldz
cmp byte [esi + 0x450], 0
je 0x487468
cmp byte [esi + 0x149], 0
jne case.0x487491.1
mov edx, dword [esp + 0x98]
cmp dword [edx + 0x6a], ebp
je case.0x487491.1
movzx eax, byte [esi + 0x43b]
cmp eax, 0x81
ja case.0x487491.1
movzx eax, byte [eax + 0x487a50]
jmp dword [eax*4 + 0x487a40]
push esi
fst dword [esp + 0x44]
push 1
fst dword [esp + 0x44]
lea edx, [esp + 0x38]
fstp dword [esp + 0x40]
mov ecx, 0x40b
push edx
mov word [esp + 0x3c], cx
push 0xffffffffffffffed
mov ecx, esi
mov dword [esp + 0x44], ebp
call fcn.00492540
jmp 0x487521
push esi
fst dword [esp + 0x44]
push 1
fst dword [esp + 0x44]
lea ecx, [esp + 0x38]
fstp dword [esp + 0x40]
push ecx
mov eax, 0x378
push 0xffffffffffffffec
mov ecx, esi
mov word [esp + 0x40], ax
mov dword [esp + 0x44], ebp
call fcn.00492540
jmp 0x487521
push esi
fst dword [esp + 0x44]
push 1
fst dword [esp + 0x44]
lea eax, [esp + 0x38]
fstp dword [esp + 0x40]
push eax
mov edx, 0x379
push 0xffffffffffffffeb
mov ecx, esi
mov word [esp + 0x40], dx
mov dword [esp + 0x44], ebp
call fcn.00492540
jmp 0x487521
fstp st(0)
mov ecx, dword [esp + 0x98]
cmp byte [ecx + 0x199], 0
je 0x48756a
mov ecx, dword [esi + 0x129]
push ebp
push ebp
push ebp
push ecx
push ebp
lea edx, [esp + 0x6c]
push edx
push esi
push 1
mov ecx, 0x6e1c58
mov dword [esp + 0x78], esi
call fcn.0053f8a0
mov ecx, dword [esi + 0x354]
mov eax, dword [esi]
mov edx, dword [eax + 0x9c]
push ecx
mov ecx, esi
call edx
jmp 0x487617
cmp byte [ecx + 0x27], 8
mov eax, dword [0x6a6320]
mov ebx, dword [eax + 0x319c]
mov edi, dword [eax + 0x31a0]
jne 0x4875ef
mov eax, dword [esp + 0x14]
cmp ax, 1
jne 0x4875a0
push 0xc8
push 0x6b3ff8
push 1
mov ecx, esi
call fcn.00498f10
jmp 0x4875b9
cmp ax, 2
jne 0x4875b9
push 0xc8
push 0x6b3ff8
push 1
mov ecx, esi
call fcn.00498f50
cmp dword [esi + 0x568], ebp
je 0x4875d2
movzx eax, word [esp + 0x14]
push eax
push esi
mov ecx, 0x6c1748
call fcn.004d4d70
cmp ebx, dword [esi + 0x129]
jne 0x487617
movzx ecx, word [esp + 0x14]
cmp ecx, edi
jne 0x487617
push 1
push edi
mov ecx, esi
call fcn.004998d0
jmp 0x487617
cmp ebx, dword [esi + 0x129]
jne 0x487617
push ebp
push edi
mov ecx, esi
call fcn.004998d0
mov edx, dword [0x6a6320]
mov dword [edx + 0x319c], ebp
mov eax, dword [0x6a6320]
mov dword [eax + 0x31a0], ebp
cmp dword [esp + 0x18], ebp
je 0x4876c8
mov ecx, dword [esp + 0x98]
mov al, byte [ecx + 0x26]
test al, al
jne 0x487660
cmp dword [esi + 0x404], ebp
je 0x48763e
push 0x58b8e4
jmp 0x487692
push 0x58b8f8
call fcn.00513830
mov ecx, dword [0x6b419c]
add esp, 4
push ecx
push 1
lea edx, [esp + 0x38]
mov word [esp + 0x38], ax
push edx
jmp 0x4876ad
cmp al, 1
jne 0x4876c8
cmp dword [esi + 0x404], ebp
je 0x48768d
push 0x58b90c
call fcn.00513830
add esp, 4
mov word [esp + 0x30], ax
mov eax, dword [0x6b419c]
push eax
push 1
lea ecx, [esp + 0x38]
push ecx
jmp 0x4876ad
push 0x58b920
call fcn.00513830
mov edx, dword [0x6b419c]
add esp, 4
push edx
mov word [esp + 0x34], ax
push 1
lea eax, [esp + 0x38]
push eax
fldz
push 0xfffffffffffffffe
fst dword [esp + 0x50]
mov ecx, esi
fst dword [esp + 0x4c]
mov dword [esp + 0x44], ebp
fstp dword [esp + 0x48]
call fcn.00492540
cmp dword [esp + 0x1c], ebp
je 0x487775
mov eax, dword [esp + 0x20]
cmp eax, 1
jne 0x48770b
cmp dword [esi + 0x404], ebp
je 0x4876ea
push 0x58b934
jmp 0x48773f
push 0x58b948
call fcn.00513830
add esp, 4
mov word [esp + 0x30], ax
mov eax, dword [0x6b419c]
push eax
push 1
lea ecx, [esp + 0x38]
push ecx
jmp 0x48775a
cmp eax, 2
jne 0x487775
cmp dword [esi + 0x404], ebp
je 0x48773a
push 0x58b95c
call fcn.00513830
mov edx, dword [0x6b419c]
add esp, 4
push edx
mov word [esp + 0x34], ax
push 1
lea eax, [esp + 0x38]
push eax
jmp 0x48775a
push 0x58b970
call fcn.00513830
mov ecx, dword [0x6b419c]
add esp, 4
push ecx
push 1
lea edx, [esp + 0x38]
push edx
mov word [esp + 0x3c], ax
fldz
push 0xfffffffffffffffe
fst dword [esp + 0x50]
mov ecx, esi
fst dword [esp + 0x4c]
mov dword [esp + 0x44], ebp
fstp dword [esp + 0x48]
call fcn.00492540
cmp dword [esp + 0x24], ebp
je 0x4878ac
mov eax, dword [esp + 0x28]
cmp eax, ebp
jne 0x4877f7
cmp dword [esi + 0x404], ebp
je 0x4877b0
push 0x58b984
call fcn.00513830
add esp, 4
mov word [esp + 0x30], ax
mov eax, dword [0x6b419c]
push eax
push 1
lea ecx, [esp + 0x38]
push ecx
jmp 0x4877d0
push 0x58b998
call fcn.00513830
mov edx, dword [0x6b419c]
add esp, 4
push edx
mov word [esp + 0x34], ax
push 1
lea eax, [esp + 0x38]
push eax
fldz
push 0xfffffffffffffffe
fst dword [esp + 0x50]
mov ecx, esi
fst dword [esp + 0x4c]
mov dword [esp + 0x44], ebp
fstp dword [esp + 0x48]
call fcn.00492540
mov byte [esi + 0x450], 1
jmp 0x4878ac
cmp eax, 1
jne 0x487869
cmp dword [esi + 0x404], ebp
je 0x487826
push 0x58b9ac
call fcn.00513830
mov ecx, dword [0x6b419c]
add esp, 4
push ecx
push 1
lea edx, [esp + 0x38]
mov word [esp + 0x38], ax
push edx
jmp 0x487845
push 0x58b9c0
call fcn.00513830
add esp, 4
mov word [esp + 0x30], ax
mov eax, dword [0x6b419c]
push eax
push 1
lea ecx, [esp + 0x38]
push ecx
fldz
push 0xfffffffffffffffe
fst dword [esp + 0x50]
mov ecx, esi
fst dword [esp + 0x4c]
mov dword [esp + 0x44], ebp
fstp dword [esp + 0x48]
call fcn.00492540
mov byte [esi + 0x450], 1
jmp 0x4878ac
cmp eax, 2
jne 0x4878ac
mov eax, 4
mov byte [esi + 0x450], 0
cmp dword [0x6a5d64], eax
jg 0x4878a1
cmp dword [0x6e14f8], eax
je 0x4878a1
fld dword [0x58ba50]
push ecx
lea ecx, [esi + 0x284]
fstp dword [esp]
call fcn.0052e1f0
jmp 0x4878ac
lea ecx, [esi + 0x284]
call fcn.0052dde0
cmp dword [esp + 0x2c], ebp
je 0x4879bb
mov ecx, dword [0x6b419c]
cmp ecx, ebp
je 0x4879bb
mov bx, word [esp + 0x10]
mov eax, dword [esi + 0x447]
push eax
movzx edx, bl
push edx
push esi
push ecx
call fcn.0041e6c0
mov ecx, eax
call fcn.0054a1a0
mov ecx, eax
call fcn.0054f3e0
test bh, bh
je 0x487947
push 0x1e
push esi
mov ecx, 0x6b602c
call fcn.004c1730
mov eax, dword [esi]
mov edx, dword [eax + 0x98]
push 1
push 0x149
mov ecx, esi
call edx
push 0x58b9d4
call fcn.00513830
fldz
add esp, 4
fst dword [esp + 0x40]
mov word [esp + 0x30], ax
fst dword [esp + 0x3c]
mov eax, dword [0x6b419c]
fstp dword [esp + 0x38]
push eax
push 1
lea ecx, [esp + 0x38]
push ecx
push 0xfffffffffffffff4
mov ecx, esi
mov dword [esp + 0x44], ebp
call fcn.00492540
cmp byte [esi + 0x4e7], 0
je 0x4879bb
push esi
mov ecx, 0x6b4198
mov byte [esi + 0x4e7], 1
call fcn.00493910
cmp dword [esi + 0x404], ebp
je 0x487986
push 0x58b9e8
call fcn.00513830
add esp, 4
push ebp
push 1
lea edx, [esp + 0x38]
mov word [esp + 0x38], ax
push edx
jmp 0x4879a0
push 0x58ba00
call fcn.00513830
add esp, 4
push ebp
mov word [esp + 0x34], ax
push 1
lea eax, [esp + 0x38]
push eax
fldz
push 0xfffffffffffffffb
fst dword [esp + 0x50]
mov ecx, esi
fst dword [esp + 0x4c]
mov dword [esp + 0x44], ebp
fstp dword [esp + 0x48]
call fcn.00492540
mov ecx, esi
call fcn.004912b0
pop ebx
cmp al, 0x1e
jne 0x487a02
push 0x58ba14
call fcn.00513830
fldz
mov ecx, dword [0x6b419c]
fst dword [esp + 0x40]
add esp, 4
fst dword [esp + 0x38]
push ecx
fstp dword [esp + 0x38]
push 1
lea edx, [esp + 0x34]
push edx
push 0xfffffffffffffff4
mov ecx, esi
mov word [esp + 0x3c], ax
mov dword [esp + 0x40], ebp
call fcn.00492540
pop edi
pop esi
pop ebp
add esp, 0x80
ret