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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
push ebx
mov ebx, dword [ebp + 0xc]
fld dword [ebx + 8]
push esi
fsub dword [ebx]
push edi
mov dword [esp + 0x2c], ecx
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
call fcn.005c6e00
fld dword [ebx + 0xc]
fsub dword [ebx + 4]
mov esi, eax
mov dword [esp + 0x44], esi
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
call fcn.005c6e00
mov edi, dword [ebp + 0x10]
fld dword [edi + 8]
mov dword [esp + 0x18], eax
fsub dword [edi]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
call fcn.005c6e00
fld dword [edi + 0xc]
fsub dword [edi + 4]
mov dword [esp + 0x30], eax
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
call fcn.005c6e00
test esi, esi
jle 0x58e49e
mov edx, dword [esp + 0x18]
test edx, edx
jle 0x58e49e
mov ecx, dword [esp + 0x30]
test ecx, ecx
jle 0x58e49e
test eax, eax
jle 0x58e49e
cmp esi, ecx
jne 0x58e199
cmp edx, eax
jne 0x58e199
mov edx, dword [ebp + 0x40]
fld dword [ebx + 4]
push edx
mov edx, dword [ebp + 0x3c]
push edx
mov edx, dword [ebp + 0x38]
push edx
mov edx, dword [ebp + 0x34]
push edx
mov edx, dword [ebp + 0x30]
push edx
mov edx, dword [ebp + 0x2c]
push edx
mov edx, dword [ebp + 0x28]
push edx
mov edx, dword [ebp + 0x24]
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx]
push edx
mov edx, dword [ebp + 0x20]
mov eax, dword [eax + 0xdc]
push edx
mov edx, dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 8]
push edi
sub esp, 8
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
push edx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x3c
fild dword [ebp + 0x28]
fstp dword [esp + 0x34]
fld dword [ebx]
fld dword [esp + 0x34]
fld st(0)
fsubp st(2)
fxch st(1)
call fcn.005c6e00
fld st(0)
fadd dword [ebx + 8]
mov dword [esp + 0x14], eax
call fcn.005c6e00
fld1
test dword [ebp + 0x3c], 0x10000000
mov dword [esp + 0x38], eax
je 0x58e1ed
fld dword [edi + 8]
and dword [ebp + 0x3c], 0xefffffff
faddp st(2)
fsub st(1), st(0)
fxch st(1)
call fcn.005c6e00
mov dword [esp + 0x34], 0xffffffff
jmp 0x58e200
fld dword [edi]
fsubrp st(2)
fxch st(1)
call fcn.005c6e00
mov dword [esp + 0x34], 1
mov ebx, dword [ebp + 0x38]
fldz
mov ecx, dword [esp + 0x18]
fst dword [esp + 0x70]
imul ecx, ebx
fst dword [esp + 0x78]
fst dword [esp + 0x60]
fst dword [esp + 0x64]
fst dword [esp + 0x68]
fstp dword [esp + 0x6c]
fld dword [edi + 4]
fstp dword [esp + 0x74]
fld dword [edi + 0xc]
mov dword [esp + 0x1c], eax
fstp dword [esp + 0x7c]
fild dword [esp + 0x14]
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
fstp dword [esp + 0x14]
fild dword [esp + 0x38]
mov dword [esp + 0x48], eax
xor eax, eax
xor edx, edx
shl esi, 8
fst qword [esp + 0x58]
fld dword [esp + 0x14]
cmp ebx, eax
setg dl
fcom st(1)
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
mov eax, ecx
lea edx, [edx + edx - 1]
mov dword [esp + 0x4c], edx
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
neg eax
mov dword [esp + 0x24], eax
fnstsw ax
test ah, 5
jp 0x58e4ab
fild dword [ebp + 0x2c]
fstp dword [esp + 0x38]
fild dword [ebp + 0x24]
fstp dword [esp + 0x3c]
fld qword [0x650dd0]
fld qword [0x650bc0]
jmp 0x58e2b0
fxch st(2)
fld dword [esp + 0x38]
fmul st(3)
fmul st(2)
fadd dword [esp + 0x3c]
fldz
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x58e2cb
fadd st(1)
jmp 0x58e2cd
fsub st(1)
call fcn.005c6e00
mov ebx, dword [esp + 0x1c]
and eax, 0xffff
mov eax, dword [eax*4 + 0x6e9ef0]
imul eax, dword [ebp + 0x28]
add eax, 0x200
sar eax, 0xa
mov ecx, ebx
sub ecx, eax
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
fstp dword [esp + 0x70]
fld dword [esp + 0x70]
fld dword [edi]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x58e4a7
fld dword [edi + 8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x58e4a7
fstp st(4)
mov edx, dword [ebp + 0xc]
fstp st(0)
sub esp, 8
fxch st(2)
fadd st(3)
fstp dword [esp + 0x80]
fst dword [esp + 0x68]
fld st(0)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x70]
fld dword [edx + 4]
fisub dword [ebp + 0x20]
fstp qword [esp + 0x58]
fild dword [ebp + 0x1c]
fmulp st(2)
fmulp st(1)
fiadd dword [ebp + 0x14]
fstp qword [esp]
call fcn.00448ae0
and eax, 0xffff
mov eax, dword [eax*4 + 0x6e9ef0]
imul eax, dword [ebp + 0x18]
add eax, 0x200
sar eax, 0xa
mov dword [esp + 0x48], eax
add esp, 8
cmp dword [ebp + 0x30], 0
fild dword [esp + 0x40]
fsubr qword [esp + 0x50]
fiadd dword [esp + 0x24]
fstp dword [esp + 0x64]
jle 0x58e3d4
mov ecx, 0x7a9f00
call fcn.00419420
cdq
mov ecx, 0x64
idiv ecx
cmp edx, dword [ebp + 0x34]
jg 0x58e3d4
mov ecx, 0x7a9f00
call fcn.00419420
mov edx, dword [ebp + 0x30]
lea ecx, [edx + edx]
cdq
idiv ecx
mov dword [esp + 0x40], edx
fild dword [esp + 0x40]
fld dword [esp + 0x64]
fisub dword [ebp + 0x30]
faddp st(1)
fstp dword [esp + 0x64]
mov edx, dword [ebp + 0x20]
fild dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
lea eax, [edx + edx]
fadd dword [esp + 0x64]
mov edx, dword [ecx]
mov edx, dword [edx + 0x68]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x40]
fiadd dword [esp + 0x40]
push eax
mov eax, dword [ebp + 0x3c]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x6c]
push eax
fstp dword [esp + 0x7c]
mov eax, dword [ebp + 8]
push eax
call edx
fld dword [esp + 0x14]
fld qword [0x650bc0]
fld qword [0x650dd0]
fld1
fld qword [esp + 0x58]
fxch st(1)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], ecx
cmp ecx, eax
jl 0x58e459
add ebx, dword [esp + 0x34]
sub ecx, eax
cmp ecx, eax
jge 0x58e447
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
cmp eax, esi
jl 0x58e47b
mov ecx, dword [esp + 0x4c]
add dword [esp + 0x24], ecx
sub eax, esi
cmp eax, esi
jge 0x58e469
mov dword [esp + 0x28], eax
fxch st(2)
fadd st(4)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x58e2ae
fstp st(0)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x3c
fstp st(0)
jmp 0x58e433
fstp st(0)
pop edi
fstp st(1)
pop esi
fstp st(0)
pop ebx
mov esp, ebp
pop ebp
ret 0x3c