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

Disassembly:
sub esp, 0xd8
push ebx
mov ebx, dword [esp + 0xe0]
push ebp
push esi
push edi
push ebx
call fcn.00459370
mov esi, dword [ebx + 0x498]
mov eax, dword [ebx + 0x48c]
mov edi, dword [ebx + 0x49c]
mov ebp, dword [ebx + 0x490]
sub esi, eax
sub edi, ebp
mov eax, edi
mov ecx, esi
imul eax, edi
imul ecx, esi
add esp, 4
add eax, ecx
jns 0x487346
neg eax
shl edi, 0x10
push eax
mov dword [esp + 0x14], edi
shl esi, 0x10
call fcn.0048df00
mov ecx, eax
add esp, 4
shl ecx, 0x10
je 0x4873b7
mov eax, 0x1000000
mov dword [esp + 0x10], esi
cdq
sar ecx, 8
idiv ecx
shl eax, 8
sar eax, 8
cdq
mov ebx, eax
mov eax, edi
neg eax
mov ebp, edx
cdq
push ebp
push ebx
push edx
push eax
call fcn.0049dae0
mov ecx, 0x10
call fcn.0049db20
mov esi, eax
mov eax, dword [esp + 0x10]
cdq
push ebp
push ebx
push edx
push eax
call fcn.0049dae0
mov ecx, 0x10
call fcn.0049db20
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x10], eax
lea ecx, [ebx + 0x494]
mov eax, 0x60000
mov dword [esp + 0x14], ecx
mov ebx, dword [ecx]
test ebx, ebx
je 0x4873e4
mov eax, dword [0x753bdc]
lea eax, [eax + eax*2]
shl eax, 0x11
cdq
idiv ebx
cmp eax, 1
jge 0x4873e4
mov eax, 1
shl eax, 0x10
cdq
mov ebp, eax
mov eax, esi
mov edi, edx
cdq
push edi
push ebp
push edx
push eax
call fcn.0049dae0
mov ecx, 0x10
call fcn.0049db20
mov esi, eax
mov eax, dword [esp + 0x10]
cdq
push edi
push ebp
push edx
push eax
sar esi, 0x10
call fcn.0049dae0
mov ecx, 0x10
call fcn.0049db20
mov edi, dword [esp + 0xec]
sar eax, 0x10
mov ecx, dword [edi + 0x48c]
mov edx, ecx
add ecx, esi
sub edx, esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x490]
mov edi, edx
sub edi, eax
sar ebx, 0xe
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x14]
add edx, eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 0x17
mov esi, dword [edi + 4]
mov ebx, dword [edi - 8]
mov edx, dword [edi - 4]
sub esi, ebx
mov ebx, dword [edi + 8]
sub ebx, edx
mov edx, esi
mov eax, ebx
imul edx, esi
imul eax, ebx
add eax, edx
jns 0x487484
neg eax
push eax
shl esi, 0x10
shl ebx, 0x10
call fcn.0048df00
mov ecx, eax
add esp, 4
shl ecx, 0x10
je 0x4874f0
mov eax, 0x1000000
mov dword [esp + 0x10], esi
cdq
sar ecx, 8
idiv ecx
shl eax, 8
sar eax, 8
cdq
mov ebp, eax
mov eax, ebx
neg eax
mov ecx, edx
cdq
push ecx
push ebp
push edx
push eax
mov dword [esp + 0x74], ecx
call fcn.0049dae0
mov ecx, 0x10
call fcn.0049db20
mov ecx, dword [esp + 0x64]
mov esi, eax
mov eax, dword [esp + 0x10]
push ecx
cdq
push ebp
push edx
push eax
call fcn.0049dae0
mov ecx, 0x10
call fcn.0049db20
mov ebx, eax
mov ecx, dword [edi]
mov eax, 0x60000
test ecx, ecx
je 0x487513
mov eax, dword [0x753bdc]
lea eax, [eax + eax*2]
shl eax, 0x11
cdq
idiv ecx
cmp eax, 3
jge 0x487513
mov eax, 3
shl eax, 0x10
cdq
mov ebp, eax
mov eax, esi
mov ecx, edx
cdq
push ecx
push ebp
push edx
push eax
mov dword [esp + 0x6c], ecx
call fcn.0049dae0
mov ecx, 0x10
call fcn.0049db20
mov ecx, dword [esp + 0x5c]
mov esi, eax
mov eax, ebx
push ecx
cdq
push ebp
push edx
push eax
sar esi, 0x10
call fcn.0049dae0
mov ecx, 0x10
call fcn.0049db20
mov edx, dword [edi + 4]
mov ebp, dword [edi + 8]
fild dword [esp + 0x18]
mov ecx, dword [edi + 0xc]
mov ebx, edx
sub ebx, esi
add esi, edx
fcomp dword [0x753ba4]
mov edx, dword [edi + 8]
sar eax, 0x10
sub ebp, eax
add edx, eax
fnstsw ax
sar ecx, 0xe
and eax, 0x4100
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], edx
jne 0x4876c3
fild dword [esp + 0x10]
fcomp dword [0x753ba4]
fnstsw ax
and eax, 0x4100
jne 0x4876c3
mov eax, dword [0x753854]
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x2c]
push ecx
push edx
mov edx, dword [esp + 0x3c]
push esi
push ebp
push ebx
push edx
lea ecx, [esp + 0x8c]
push eax
push ecx
call fcn.00483420
mov ecx, dword [esp + 0x44]
mov eax, 0xff7f7f7f
add esp, 0x2c
mov dword [esp + 0x78], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xd8], eax
cmp ecx, 0x3000
mov eax, 0xff
jle 0x48761b
mov eax, 0x5000
sub eax, ecx
mov edx, eax
shl edx, 8
sub edx, eax
mov eax, edx
sar eax, 0xd
shl eax, 0x18
mov dword [esp + 0x7c], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xdc], eax
movsx eax, word [0x532ae2]
mov ecx, dword [0x533994]
add eax, 0x10
push 0
lea eax, [eax + eax*2]
fld dword [ecx + eax*8 + 8]
fld dword [ecx + eax*8 + 0xc]
fld dword [ecx + eax*8 + 0x10]
lea eax, [ecx + eax*8]
lea ecx, [esp + 0x6c]
fld dword [eax + 0x14]
fld st(3)
mov word [esp + 0x34], 1
mov word [esp + 0x38], 0
mov dx, word [eax]
lea eax, [esp + 0x34]
fstp dword [esp + 0x3a]
fld st(2)
push eax
push 3
fstp dword [esp + 0x46]
fxch st(3)
fstp dword [esp + 0x4a]
fxch st(2)
fst dword [esp + 0x4e]
fld st(2)
push 2
push 1
fstp dword [esp + 0x5a]
push 0
push ecx
fstp dword [esp + 0x66]
fxch st(1)
fstp dword [esp + 0x6a]
mov word [esp + 0x4e], dx
fstp dword [esp + 0x6e]
call dword [0x5339a4]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
add esp, 0x1c
mov eax, dword [esp + 0x14]
add edi, 0xc
dec eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
jne 0x487464
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd8
ret