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

Disassembly:
sub esp, 0x60
fldz
xor eax, eax
push ebx
push ebp
push esi
push edi
fst dword [esp + 0x10]
fld dword [esp + 0x7c]
lea edi, [esp + 0x20]
fld1
mov esi, ecx
push 0xa
pop ecx
rep stosd dword es:[edi], eax
fadd st(1), st(0)
mov dword [esp + 0x14], esi
push 0xa
pop ecx
mov ebx, edx
lea edi, [esp + 0x48]
fxch st(1)
mov dword [esp + 0x1c], ebx
rep stosd dword es:[edi], eax
fst dword [esp + 0x18]
call fcn.10085860
mov ebp, eax
mov edi, ebp
neg edi
cmp edi, ebp
jg 0x100584b1
fstp st(0)
fld dword [esp + 0x74]
call fcn.10085860
fld dword [esp + 0x78]
mov dword [esp + 0x74], eax
call fcn.10085860
sub ebp, edi
inc ebp
lea ebx, [edi + eax]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x7c], ebx
test edi, edi
js 0x1005849d
test ebx, ebx
js 0x1005849d
mov ecx, esi
fstp st(0)
call fcn.10055ade
dec eax
cmp edi, eax
ja 0x10058499
mov ecx, esi
call fcn.10055ada
dec eax
cmp ebx, eax
ja 0x10058499
push ebx
push edi
mov ecx, esi
call fcn.10055a94
mov ecx, dword [esp + 0x14]
mov edi, eax
call fcn.10055ad2
fild dword [esp + 0x7c]
push ecx
push ecx
add edi, eax
fsubr dword [esp + 0x80]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_fabs
fld dword [esp + 0x20]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.10057f8b
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x48]
push eax
mov ecx, esi
fstp dword [esp + 0x80]
call fcn.10055ad6
mov edx, eax
mov ecx, edi
call fcn.1005a584
cmp dword [esp + 0x68], 1
jne 0x10058421
fld dword [esp + 0x7c]
fld st(0)
fld qword [esp + 0x48]
fmul st(1)
fadd qword [esp + 0x20]
fstp qword [esp + 0x20]
fld qword [esp + 0x50]
fmul st(1)
fadd qword [esp + 0x28]
fstp qword [esp + 0x28]
fld qword [esp + 0x58]
fmul st(1)
fadd qword [esp + 0x30]
fstp qword [esp + 0x30]
fmul qword [esp + 0x60]
fadd qword [esp + 0x38]
fstp qword [esp + 0x38]
jmp 0x1005848b
fild qword [esp + 0x48]
fld dword [esp + 0x7c]
fmul st(1), st(0)
fild qword [esp + 0x20]
faddp st(2)
fxch st(1)
call fcn.100859a0
fild qword [esp + 0x50]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
fmul st(1)
fild qword [esp + 0x28]
faddp st(1)
call fcn.100859a0
fild qword [esp + 0x58]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
fmul st(1)
fild qword [esp + 0x30]
faddp st(1)
call fcn.100859a0
fild qword [esp + 0x60]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
fmul st(1)
fild qword [esp + 0x38]
faddp st(1)
call fcn.100859a0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
fadd dword [esp + 0x10]
mov edi, dword [esp + 0x74]
fst dword [esp + 0x10]
jmp 0x1005849d
fld dword [esp + 0x10]
inc ebx
mov dword [esp + 0x7c], ebx
sub ebp, 1
jne 0x1005834f
fld1
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x68]
mov al, byte [esp + 0x6c]
fdivrp st(1)
mov dword [esp + 0x40], ecx
mov byte [esp + 0x44], al
cmp ecx, 1
jne 0x100584f0
fld qword [esp + 0x20]
fmul st(1)
fstp qword [esp + 0x20]
fld qword [esp + 0x28]
fmul st(1)
fstp qword [esp + 0x28]
fld qword [esp + 0x30]
fmul st(1)
fstp qword [esp + 0x30]
fmul qword [esp + 0x38]
fstp qword [esp + 0x38]
jmp 0x1005853c
fild qword [esp + 0x20]
fmul st(1)
call fcn.100859a0
fild qword [esp + 0x28]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
fmul st(1)
call fcn.100859a0
fild qword [esp + 0x30]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
fmul st(1)
call fcn.100859a0
fild qword [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
fmulp st(1)
call fcn.100859a0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
push ebx
mov ecx, esi
call fcn.10055ad6
mov edx, eax
lea ecx, [esp + 0x24]
call fcn.1005a244
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x60
ret 0xc