Function at 0x5c01e214
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 [0x5c003160]
push ebx
push esi
push edi
mov edi, ecx
fst qword [ebp - 0x10]
test dword [edi + 0x1a6c], 0x48000
mov ebx, dword [edi + 0x5c4]
je 0x5c01e472
fld dword [edi + 0x5b8]
fstp dword [ebp - 8]
fld dword [ebp - 8]
fst dword [ebp - 8]
fst dword [ebp - 4]
fcomp dword [0x5c0030bc]
fnstsw ax
test ah, 0x41
jne 0x5c01e2df
lea esi, [edi + 0x2838]
fstp st(0)
mov ecx, dword [esi]
test ecx, ecx
je 0x5c01e28f
fld dword [ebp - 8]
fld dword [ecx + 8]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5c01e289
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x5c01e274
fstp st(0)
test ecx, ecx
jne 0x5c01e2b9
fld dword [ebp - 4]
push ecx
fstp dword [esp]
call fcn.5c01e0d5
pop ecx
mov ecx, eax
test ecx, ecx
je 0x5c01e7dd
mov eax, dword [esi]
lea edx, [ecx + 4]
mov dword [edx], eax
test eax, eax
je 0x5c01e2b5
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 [0x5c0030f0]
fxch st(1)
call sub.msvcrt.dll__CIpow
fstp dword [edi + 0x5dc]
fld qword [ebp - 0x10]
cmp dword [edi + 0x283c], 0
je 0x5c01e2fd
test dword [edi + 0x1a64], 0x800
je 0x5c01e2fd
mov dword [ebp - 8], 1
jmp 0x5c01e301
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 0x5c01e32b
xor eax, eax
jmp 0x5c01e336
cmp eax, esi
jle 0x5c01e333
mov eax, ecx
jmp 0x5c01e336
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 0x5c01e35f
xor ecx, ecx
jmp 0x5c01e368
cmp eax, esi
jg 0x5c01e368
mov ecx, eax
shl ecx, 0x18
mov dword [edi + 0x5e8], ecx
mov eax, dword [edi + 0x283c]
add eax, 0xc
mov dword [edi + 0x524], eax
fld dword [edi + 0x588]
fmul dword [edi + 0x548]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fst dword [edi + 0x518]
fld dword [edi + 0x58c]
fmul dword [edi + 0x54c]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fst dword [edi + 0x51c]
fld dword [edi + 0x590]
fmul dword [edi + 0x550]
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 0x5c01e43e
xor eax, eax
jmp 0x5c01e444
cmp eax, esi
jle 0x5c01e444
mov eax, esi
test edx, edx
jns 0x5c01e44c
xor edx, edx
jmp 0x5c01e452
cmp edx, esi
jle 0x5c01e452
mov edx, esi
test ecx, ecx
jns 0x5c01e45a
xor ecx, ecx
jmp 0x5c01e460
cmp ecx, esi
jle 0x5c01e460
mov ecx, esi
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
mov dword [edi + 0x5ec], eax
jmp 0x5c01e474
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 [0x5c0031d8]
fstp dword [edi + 0x570]
je 0x5c01e4e1
lea esi, [edi + 0x448]
mov ecx, edx
push esi
call fcn.5c01e1a6
add esp, 4
mov dword [edi + 0x2840], 0x5c0581fc
lea eax, [edi + 0x568]
mov edx, eax
mov ecx, eax
push esi
call fcn.5c01e154
add esp, 4
jmp 0x5c01e7c6
mov dword [edi + 0x2840], 0x5c0581e4
jmp 0x5c01e7c6
test dword [edi + 0x1a6c], 0x4000
je 0x5c01e709
cmp dword [ebx + 0xc], 3
mov eax, dword [edi + 0x2840]
je 0x5c01e5d5
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 0x5c01e5bf
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 0x5c01e5d0
lea eax, [edi + 0x2378]
mov ecx, ebx
push eax
call fcn.5c01e1a6
add esp, 4
mov eax, dword [ebx + 0xc]
jmp 0x5c01e5fe
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 0x5c01e709
test dword [edi + 0x1a64], 0x800000
lea esi, [ebx + 0x10]
lea edx, [ebx + 0xa8]
mov ecx, esi
jne 0x5c01e689
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.5c050908
jmp 0x5c01e698
lea eax, [edi + 0x2378]
push eax
call fcn.5c01e154
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 0x5c01e703
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.5c050908
jmp 0x5c01e709
fstp st(2)
fstp st(0)
fstp st(0)
test dword [edi + 0x1a6c], 0x48000
je 0x5c01e7c3
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 0x5c01e77e
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 0x5c01e7bb
test eax, 0x100
jne 0x5c01e7bb
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 0x5c01e7c3
and eax, 0xffffffdf
fstp st(0)
mov dword [ebx + 0x20], eax
mov ebx, dword [ebx + 0x58]
test ebx, ebx
jne 0x5c01e4f0
and dword [edi + 0x1a6c], 0xfffb3fff
pop edi
pop esi
pop ebx
leave
ret
push 0x5c057698
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x8007000e
push eax
call sub.msvcrt.dll__CxxThrowException
int3