Function at 0x58f3d0
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 + 0x30]
fld dword [esp + 0x30]
call fcn.005c6e00
fld dword [ebx + 0xc]
fsub dword [ebx + 4]
mov esi, eax
mov dword [esp + 0x40], esi
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
call fcn.005c6e00
mov edi, dword [ebp + 0x10]
fld dword [edi + 8]
mov dword [esp + 0x18], eax
fsub dword [edi]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
call fcn.005c6e00
fld dword [edi + 0xc]
fsub dword [edi + 4]
mov dword [esp + 0x28], eax
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
call fcn.005c6e00
mov dword [esp + 0x44], eax
test esi, esi
jle 0x58f7d5
mov edx, dword [esp + 0x18]
test edx, edx
jle 0x58f7d5
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0x58f7d5
test eax, eax
jle 0x58f7d5
cmp esi, ecx
jne 0x58f4cd
cmp edx, eax
jne 0x58f4cd
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 + 0xb8]
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 + 0x30]
fld dword [ebx + 4]
fld dword [esp + 0x30]
fld st(0)
fsubp st(2)
fxch st(1)
call fcn.005c6e00
fld dword [ebx + 0xc]
fadd st(1)
mov dword [esp + 0x14], eax
call fcn.005c6e00
fld1
test dword [ebp + 0x3c], 0x20000000
mov dword [esp + 0x34], eax
je 0x58f522
fld dword [edi + 0xc]
and dword [ebp + 0x3c], 0xdfffffff
faddp st(2)
fsub st(1), st(0)
fxch st(1)
call fcn.005c6e00
mov dword [esp + 0x30], 0xffffffff
jmp 0x58f536
fld dword [edi + 4]
fsubrp st(2)
fxch st(1)
call fcn.005c6e00
mov dword [esp + 0x30], 1
mov ebx, dword [ebp + 0x38]
fldz
mov ecx, esi
fst dword [esp + 0x74]
mov esi, dword [esp + 0x18]
imul ecx, ebx
fst dword [esp + 0x7c]
fst dword [esp + 0x60]
fst dword [esp + 0x64]
fst dword [esp + 0x68]
fstp dword [esp + 0x6c]
fld dword [edi]
fstp dword [esp + 0x70]
fld dword [edi + 8]
fstp dword [esp + 0x78]
fild dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, ecx
cdq
xor eax, edx
fstp dword [esp + 0x14]
fild dword [esp + 0x34]
sub eax, edx
mov dword [esp + 0x48], eax
xor eax, eax
xor edx, edx
fst qword [esp + 0x58]
fld dword [esp + 0x14]
shl esi, 8
cmp ebx, eax
fcom st(1)
setg dl
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 0x58f7e2
fild dword [ebp + 0x2c]
fstp dword [esp + 0x34]
fild dword [ebp + 0x24]
fstp dword [esp + 0x38]
fld qword [0x650dd0]
fld qword [0x650bc0]
jmp 0x58f5e7
fxch st(2)
fld dword [esp + 0x34]
fmul st(3)
fmul st(2)
fadd dword [esp + 0x38]
fldz
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x58f602
fadd st(1)
jmp 0x58f604
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 + 0x3c], ecx
fild dword [esp + 0x3c]
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
fld dword [edi + 4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x58f7de
fld dword [edi + 0xc]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x58f7de
fstp st(4)
mov edx, dword [ebp + 0xc]
fstp st(0)
sub esp, 8
fxch st(2)
fadd st(3)
fstp dword [esp + 0x84]
fst dword [esp + 0x6c]
fld st(0)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x74]
fld dword [edx]
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 + 0x44], eax
add esp, 8
cmp dword [ebp + 0x30], 0
fild dword [esp + 0x3c]
fsubr qword [esp + 0x50]
fiadd dword [esp + 0x24]
fstp dword [esp + 0x60]
jle 0x58f70b
mov ecx, 0x7a9f00
call fcn.00419420
cdq
mov ecx, 0x64
idiv ecx
cmp edx, dword [ebp + 0x34]
jg 0x58f70b
mov ecx, 0x7a9f00
call fcn.00419420
mov edx, dword [ebp + 0x30]
lea ecx, [edx + edx]
cdq
idiv ecx
mov dword [esp + 0x3c], edx
fild dword [esp + 0x3c]
fld dword [esp + 0x60]
fisub dword [ebp + 0x30]
faddp st(1)
fstp dword [esp + 0x60]
mov edx, dword [ebp + 0x20]
fild dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
lea eax, [edx + edx]
fadd dword [esp + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x48]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x40]
fiadd dword [esp + 0x3c]
push eax
mov eax, dword [ebp + 0x3c]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x6c]
push eax
fstp dword [esp + 0x78]
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 + 0x44]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
cmp ecx, eax
jl 0x58f790
add ebx, dword [esp + 0x30]
sub ecx, eax
cmp ecx, eax
jge 0x58f77e
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 0x58f7b2
mov ecx, dword [esp + 0x4c]
add dword [esp + 0x24], ecx
sub eax, esi
cmp eax, esi
jge 0x58f7a0
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 0x58f5e5
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 0x58f76a
fstp st(0)
pop edi
fstp st(1)
pop esi
fstp st(0)
pop ebx
mov esp, ebp
pop ebp
ret 0x3c