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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
and dword [ebp - 8], 0
fld qword [0x5c003840]
push ebx
push esi
push edi
mov edi, ecx
fst qword [ebp - 0x10]
test dword [edi + 0x1a6c], 0x48000
mov ebx, dword [edi + 0x5c4]
je 0x5c01f546
fld dword [edi + 0x5b8]
fstp dword [ebp - 8]
fld dword [ebp - 8]
fst dword [ebp - 8]
fst dword [ebp - 4]
fcomp dword [0x5c0037a4]
fnstsw ax
test ah, 0x41
jne 0x5c01f3b3
lea esi, [edi + 0x2838]
fstp st(0)
mov ecx, dword [esi]
test ecx, ecx
je 0x5c01f363
fld dword [ebp - 8]
fld dword [ecx + 8]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5c01f35d
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x5c01f348
fstp st(0)
test ecx, ecx
jne 0x5c01f38d
fld dword [ebp - 4]
push ecx
fstp dword [esp]
call fcn.5c01f1a5
pop ecx
mov ecx, eax
test ecx, ecx
je 0x5c01f8b3
mov eax, dword [esi]
lea edx, [ecx + 4]
mov dword [edx], eax
test eax, eax
je 0x5c01f389
mov eax, dword [esi]
mov dword [eax], edx
mov dword [esi], ecx
mov dword [ecx], esi
fld dword [edi + 0x5b8]
fld1
fdivrp st(1)
mov dword [edi + 0x283c], ecx
fld qword [0x5c0037d0]
fxch st(1)
call sub.msvcrt.dll__CIpow
fstp dword [edi + 0x5dc]
fld qword [ebp - 0x10]
cmp dword [edi + 0x283c], 0
je 0x5c01f3d1
test dword [edi + 0x1a64], 0x800
je 0x5c01f3d1
mov dword [ebp - 8], 1
jmp 0x5c01f3d5
and dword [ebp - 8], 0
fmul dword [edi + 0x584]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fistp qword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov esi, 0xff
mov dword [edi + 0x5e4], eax
mov ecx, 0xff000000
test eax, eax
jns 0x5c01f3ff
xor eax, eax
jmp 0x5c01f40a
cmp eax, esi
jle 0x5c01f407
mov eax, ecx
jmp 0x5c01f40a
shl eax, 0x18
mov dword [edi + 0x5e4], eax
fld dword [edi + 0x5a4]
fmul qword [ebp - 0x10]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fistp qword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [edi + 0x5e8], eax
test eax, eax
jns 0x5c01f433
xor ecx, ecx
jmp 0x5c01f43c
cmp eax, esi
jg 0x5c01f43c
mov ecx, eax
shl ecx, 0x18
mov dword [edi + 0x5e8], ecx
mov eax, dword [edi + 0x283c]
fld dword [edi + 0x548]
add eax, 0xc
mov dword [edi + 0x524], eax
fmul dword [edi + 0x588]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fst dword [edi + 0x518]
fld dword [edi + 0x54c]
fmul dword [edi + 0x58c]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fst dword [edi + 0x51c]
fld dword [edi + 0x550]
fmul dword [edi + 0x590]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fst dword [edi + 0x520]
fld dword [edi + 0x5a8]
fld qword [ebp - 0x10]
fmul st(1), st(0)
fxch st(1)
faddp st(4)
fxch st(3)
fstp dword [ebp - 4]
fld dword [ebp - 4]
fst dword [edi + 0x518]
fld dword [edi + 0x5ac]
fmul st(4)
faddp st(3)
fxch st(2)
fstp dword [edi + 0x51c]
fld dword [edi + 0x5b0]
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [edi + 0x520]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fistp qword [ebp - 0x18]
fld dword [edi + 0x51c]
mov eax, dword [ebp - 0x18]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fistp qword [ebp - 0x18]
fld dword [edi + 0x520]
mov edx, dword [ebp - 0x18]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fistp qword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
test eax, eax
jns 0x5c01f512
xor eax, eax
jmp 0x5c01f518
cmp eax, esi
jle 0x5c01f518
mov eax, esi
test edx, edx
jns 0x5c01f520
xor edx, edx
jmp 0x5c01f526
cmp edx, esi
jle 0x5c01f526
mov edx, esi
test ecx, ecx
jns 0x5c01f52e
xor ecx, ecx
jmp 0x5c01f534
cmp ecx, esi
jle 0x5c01f534
mov ecx, esi
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
mov dword [edi + 0x5ec], eax
jmp 0x5c01f548
fstp st(0)
test dword [edi + 0x1a64], 0x800000
lea edx, [edi + 0x538]
fldz
fst dword [edx]
fst dword [edi + 0x53c]
fst dword [edi + 0x540]
fst dword [edi + 0x568]
fstp dword [edi + 0x56c]
fld dword [0x5c003874]
fstp dword [edi + 0x570]
je 0x5c01f5b5
lea esi, [edi + 0x448]
mov ecx, edx
push esi
call fcn.5c01f278
add esp, 4
mov dword [edi + 0x2840], 0x5c0631fc
lea eax, [edi + 0x568]
mov edx, eax
mov ecx, eax
push esi
call fcn.5c01f226
add esp, 4
jmp 0x5c01f89a
mov dword [edi + 0x2840], 0x5c0631e4
jmp 0x5c01f89a
test dword [edi + 0x1a6c], 0x4000
je 0x5c01f7dd
cmp dword [ebx + 0xc], 3
mov eax, dword [edi + 0x2840]
je 0x5c01f6a9
mov eax, dword [eax + 4]
lea edx, [ebx + 0x9c]
mov dword [ebx + 0x80], eax
mov eax, dword [edi + 0x2840]
mov eax, dword [eax + 0x10]
mov dword [ebx + 0xbc], eax
mov eax, dword [edi + 0x2840]
mov eax, dword [eax + 0x14]
mov dword [ebx + 0xc0], eax
test dword [edi + 0x1a64], 0x800000
jne 0x5c01f693
fld dword [edi + 0x2348]
fmul dword [edx + 4]
fld dword [edx]
fmul dword [edi + 0x2338]
faddp st(1)
fld dword [edi + 0x2358]
fmul dword [edx + 8]
faddp st(1)
fadd dword [edi + 0x2368]
fstp dword [ebx]
fld dword [edi + 0x234c]
fmul dword [edx + 4]
fld dword [edi + 0x233c]
fmul dword [edx]
faddp st(1)
fld dword [edi + 0x235c]
fmul dword [edx + 8]
faddp st(1)
fadd dword [edi + 0x236c]
fstp dword [ebx + 4]
fld dword [edi + 0x2350]
fmul dword [edx + 4]
fld dword [edi + 0x2340]
fmul dword [edx]
faddp st(1)
fld dword [edi + 0x2360]
fmul dword [edx + 8]
faddp st(1)
fadd dword [edi + 0x2370]
fstp dword [ebx + 8]
jmp 0x5c01f6a4
lea eax, [edi + 0x2378]
mov ecx, ebx
push eax
call fcn.5c01f278
add esp, 4
mov eax, dword [ebx + 0xc]
jmp 0x5c01f6d2
mov eax, dword [eax]
mov dword [ebx + 0x80], eax
mov eax, dword [edi + 0x2840]
push 3
mov eax, dword [eax + 8]
mov dword [ebx + 0xbc], eax
mov eax, dword [edi + 0x2840]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc0], eax
pop eax
cmp eax, 1
je 0x5c01f7dd
test dword [edi + 0x1a64], 0x800000
lea esi, [ebx + 0x10]
lea edx, [ebx + 0xa8]
mov ecx, esi
jne 0x5c01f75d
fld dword [edi + 0x2348]
fmul dword [edx + 4]
fld dword [edx]
fmul dword [edi + 0x2338]
faddp st(1)
fld dword [edi + 0x2358]
fmul dword [edx + 8]
faddp st(1)
fstp dword [esi]
fld dword [edi + 0x234c]
fmul dword [edx + 4]
fld dword [edi + 0x233c]
fmul dword [edx]
faddp st(1)
fld dword [edi + 0x235c]
fmul dword [edx + 8]
faddp st(1)
fstp dword [esi + 4]
fld dword [edi + 0x2350]
fmul dword [edx + 4]
fld dword [edi + 0x2340]
fmul dword [edx]
faddp st(1)
fld dword [edi + 0x2360]
fmul dword [edx + 8]
mov edx, esi
faddp st(1)
fstp dword [esi + 8]
call fcn.5c075ed9
jmp 0x5c01f76c
lea eax, [edi + 0x2378]
push eax
call fcn.5c01f226
add esp, 4
fld dword [esi]
mov ecx, 0x80000000
fstp dword [ebp - 4]
xor dword [ebp - 4], ecx
fld dword [ebp - 4]
fst dword [esi]
fld dword [ebx + 0x14]
fstp dword [ebp - 4]
xor dword [ebp - 4], ecx
fld dword [ebp - 4]
fst dword [ebx + 0x14]
fld dword [ebx + 0x18]
fstp dword [ebp - 4]
mov eax, dword [ebp - 4]
xor eax, ecx
mov dword [ebp - 4], eax
fld dword [ebp - 4]
fst dword [ebx + 0x18]
test dword [edi + 0x1a64], 0x1000000
jne 0x5c01f7d7
fld dword [edi + 0x568]
lea ecx, [ebx + 0x4c]
faddp st(3)
mov edx, ecx
fxch st(2)
fstp dword [ecx]
fadd dword [edi + 0x56c]
fstp dword [ebx + 0x50]
fadd dword [edi + 0x570]
fstp dword [ebx + 0x54]
call fcn.5c0504a4
jmp 0x5c01f7dd
fstp st(2)
fstp st(0)
fstp st(0)
test dword [edi + 0x1a6c], 0x48000
je 0x5c01f897
fld dword [edi + 0x578]
fld qword [ebp - 0x10]
fmul st(1), st(0)
fld dword [ebx + 0x5c]
mov eax, dword [ebx + 0x20]
fmulp st(2)
fxch st(1)
fstp dword [ebx + 0x24]
fld dword [edi + 0x57c]
fmul st(1)
fmul dword [ebx + 0x60]
fstp dword [ebx + 0x28]
fld dword [edi + 0x580]
fmul st(1)
fmul dword [ebx + 0x64]
fstp dword [ebx + 0x2c]
test eax, 0x200
jne 0x5c01f852
fld dword [edi + 0x588]
fmul st(1)
fmul dword [ebx + 0x74]
fstp dword [ebx + 0x3c]
fld dword [edi + 0x58c]
fmul st(1)
fmul dword [ebx + 0x78]
fstp dword [ebx + 0x40]
fld dword [edi + 0x590]
fmul st(1)
fmul dword [ebx + 0x7c]
fstp dword [ebx + 0x44]
cmp dword [ebp - 8], 0
je 0x5c01f88f
test eax, 0x100
jne 0x5c01f88f
or eax, 0x20
mov dword [ebx + 0x20], eax
fld dword [edi + 0x598]
fmul st(1)
fmul dword [ebx + 0x68]
fstp dword [ebx + 0x30]
fld dword [edi + 0x59c]
fmul st(1)
fmul dword [ebx + 0x6c]
fstp dword [ebx + 0x34]
fmul dword [edi + 0x5a0]
fmul dword [ebx + 0x70]
fstp dword [ebx + 0x38]
jmp 0x5c01f897
and eax, 0xffffffdf
fstp st(0)
mov dword [ebx + 0x20], eax
mov ebx, dword [ebx + 0x58]
test ebx, ebx
jne 0x5c01f5c4
and dword [edi + 0x1a6c], 0xfffb3fff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x5c061ef0
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x8007000e
push eax
call sub.msvcrt.dll__CxxThrowException
int3