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

Disassembly:
sub esp, 0x2c
push esi
mov esi, ecx
cmp dword [esi + 0x6c], 0
fild dword [esi + 0x28]
mov dword [esp + 0x24], 0
fstp dword [esp + 0x28]
fild dword [esi + 0x2c]
fstp dword [esp + 0x2c]
fild dword [esi + 0x68]
fdiv dword [esp + 0x28]
fstp dword [esp + 0x18]
jle 0x459bba
push ebx
push ebp
push edi
mov edi, 2
lea esp, [esp]
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x45966e
mov edx, dword [esi + 0x7c]
cmp ecx, edx
jg 0x459673
mov ecx, dword [esi + 0x74]
jmp 0x4596a8
test edx, edx
jg 0x45967c
mov ecx, dword [esi + 0x70]
jmp 0x4596a8
mov ebx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
cmp ebx, eax
jle 0x45969c
mov ebp, eax
mov eax, ebx
mov ebx, ecx
sub eax, ebp
sub ebx, edx
imul eax, ebx
cdq
idiv ecx
mov ecx, eax
add ecx, ebp
jmp 0x4596a8
sub eax, ebx
imul eax, edx
cdq
idiv ecx
mov ecx, eax
add ecx, ebx
mov ebp, dword [esi + 0x78]
test ebp, ebp
je 0x4596b6
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jg 0x4596bb
mov eax, dword [esi + 0x74]
jmp 0x4596ee
test edx, edx
jg 0x4596c4
mov eax, dword [esi + 0x70]
jmp 0x4596ee
mov ebx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
cmp ebx, eax
jle 0x4596e4
mov edx, eax
mov eax, ebx
sub eax, edx
mov edx, ebp
sub edx, dword [esi + 0x7c]
imul eax, edx
cdq
idiv ebp
add eax, dword [esi + 0x74]
jmp 0x4596ee
sub eax, ebx
imul eax, edx
cdq
idiv ebp
add eax, ebx
push ecx
neg eax
push eax
call fcn.004ac800
fild dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
inc ebx
fstp dword [esp + 0x34]
mov dword [esp + 0x38], ebx
fld dword [esp + 0x34]
mov dword [esp + 0x30], eax
fst dword [esp + 0x1c]
add esp, 8
fild dword [esp + 0x30]
sub esp, 0x10
mov ecx, esi
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 0x2c]
fld dword [esp + 0x48]
fld st(0)
fdivp st(3)
fxch st(2)
fstp dword [esp + 0x20]
fdivrp st(1)
fstp dword [esp + 0x28]
fild dword [esi + 0x68]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 0x3c]
fild dword [esp + 0x38]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 0x30]
fld dword [esp + 0x30]
fld st(0)
fld dword [esp + 0x3c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x38]
test eax, eax
jge 0x459997
faddp st(2)
lea eax, [edi - 2]
fld dword [esp + 0x44]
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x3c]
fxch st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x20]
fstp dword [esp + 0xc]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.00459510
fld dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
lea ecx, [edi - 1]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
mov ecx, esi
fldz
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push edi
call fcn.00459510
fld dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
lea edx, [edi + 1]
fld dword [esp + 0x34]
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push edx
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea eax, [edi + 2]
fldz
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push eax
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea ecx, [edi + 3]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.00459510
fld dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
lea edx, [edi + 4]
fld dword [esp + 0x34]
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push edx
call fcn.00459510
fld dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
lea eax, [edi + 5]
fld dword [esp + 0x3c]
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
push eax
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea ecx, [edi + 6]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.00459510
fld dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
lea edx, [edi + 7]
fld dword [esp + 0x3c]
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
push edx
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea eax, [edi + 8]
fld dword [esp + 0x34]
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push eax
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea ecx, [edi + 9]
fld dword [esp + 0x3c]
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
push ecx
jmp 0x459ba0
fstp st(1)
lea edx, [edi - 2]
fstp st(2)
fstp st(1)
fdiv dword [esp + 0x44]
fstp dword [esp + 0x40]
fld dword [esp + 0x20]
fstp dword [esp + 0xc]
fld dword [esp + 0x40]
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fldz
fstp dword [esp]
push edx
call fcn.00459510
fld dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
lea eax, [edi - 1]
fldz
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push eax
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
mov ecx, esi
fld dword [esp + 0x40]
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fldz
fstp dword [esp]
push edi
call fcn.00459510
fld dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
lea ecx, [edi + 1]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea edx, [edi + 2]
fld dword [esp + 0x40]
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fldz
fstp dword [esp]
push edx
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea eax, [edi + 3]
fldz
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push eax
call fcn.00459510
sub esp, 0x10
fld dword [esp + 0x20]
lea ecx, [edi + 4]
fstp dword [esp + 0xc]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.00459510
fld dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
lea edx, [edi + 5]
fld dword [esp + 0x34]
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push edx
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea eax, [edi + 6]
fldz
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push eax
call fcn.00459510
fld dword [esp + 0x10]
sub esp, 0x10
fstp dword [esp + 0xc]
lea ecx, [edi + 7]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea edx, [edi + 8]
fldz
mov ecx, esi
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push edx
call fcn.00459510
fld dword [esp + 0x18]
sub esp, 0x10
fstp dword [esp + 0xc]
lea eax, [edi + 9]
fld dword [esp + 0x34]
fstp dword [esp + 8]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push eax
mov ecx, esi
call fcn.00459510
add edi, 0xc
cmp ebx, dword [esi + 0x6c]
mov dword [esp + 0x30], ebx
jl 0x459660
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x2c
ret