Function at 0x5c01e3a4
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 [0x5c003180]
push ebx
push esi
push edi
mov edi, ecx
fst qword [ebp - 0x10]
test dword [edi + 0x1a6c], 0x48000
mov ebx, dword [edi + 0x5c4]
je 0x5c01e602
fld dword [edi + 0x5b8]
fstp dword [ebp - 8]
fld dword [ebp - 8]
fst dword [ebp - 8]
fst dword [ebp - 4]
fcomp dword [0x5c0030dc]
fnstsw ax
test ah, 0x41
jne 0x5c01e46f
lea esi, [edi + 0x2838]
fstp st(0)
mov ecx, dword [esi]
test ecx, ecx
je 0x5c01e41f
fld dword [ebp - 8]
fld dword [ecx + 8]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5c01e419
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x5c01e404
fstp st(0)
test ecx, ecx
jne 0x5c01e449
fld dword [ebp - 4]
push ecx
fstp dword [esp]
call fcn.5c01e265
pop ecx
mov ecx, eax
test ecx, ecx
je 0x5c01e96d
mov eax, dword [esi]
lea edx, [ecx + 4]
mov dword [edx], eax
test eax, eax
je 0x5c01e445
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 [0x5c003110]
fxch st(1)
call sub.msvcrt.dll__CIpow
fstp dword [edi + 0x5dc]
fld qword [ebp - 0x10]
cmp dword [edi + 0x283c], 0
je 0x5c01e48d
test dword [edi + 0x1a64], 0x800
je 0x5c01e48d
mov dword [ebp - 8], 1
jmp 0x5c01e491
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 0x5c01e4bb
xor eax, eax
jmp 0x5c01e4c6
cmp eax, esi
jle 0x5c01e4c3
mov eax, ecx
jmp 0x5c01e4c6
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 0x5c01e4ef
xor ecx, ecx
jmp 0x5c01e4f8
cmp eax, esi
jg 0x5c01e4f8
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 0x5c01e5ce
xor eax, eax
jmp 0x5c01e5d4
cmp eax, esi
jle 0x5c01e5d4
mov eax, esi
test edx, edx
jns 0x5c01e5dc
xor edx, edx
jmp 0x5c01e5e2
cmp edx, esi
jle 0x5c01e5e2
mov edx, esi
test ecx, ecx
jns 0x5c01e5ea
xor ecx, ecx
jmp 0x5c01e5f0
cmp ecx, esi
jle 0x5c01e5f0
mov ecx, esi
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
mov dword [edi + 0x5ec], eax
jmp 0x5c01e604
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 [0x5c0031f8]
fstp dword [edi + 0x570]
je 0x5c01e671
lea esi, [edi + 0x448]
mov ecx, edx
push esi
call fcn.5c01e336
add esp, 4
mov dword [edi + 0x2840], 0x5c0571fc
lea eax, [edi + 0x568]
mov edx, eax
mov ecx, eax
push esi
call fcn.5c01e2e4
add esp, 4
jmp 0x5c01e956
mov dword [edi + 0x2840], 0x5c0571e4
jmp 0x5c01e956
test dword [edi + 0x1a6c], 0x4000
je 0x5c01e899
cmp dword [ebx + 0xc], 3
mov eax, dword [edi + 0x2840]
je 0x5c01e765
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 0x5c01e74f
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 0x5c01e760
lea eax, [edi + 0x2378]
mov ecx, ebx
push eax
call fcn.5c01e336
add esp, 4
mov eax, dword [ebx + 0xc]
jmp 0x5c01e78e
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 0x5c01e899
test dword [edi + 0x1a64], 0x800000
lea esi, [ebx + 0x10]
lea edx, [ebx + 0xa8]
mov ecx, esi
jne 0x5c01e819
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.5c04ff08
jmp 0x5c01e828
lea eax, [edi + 0x2378]
push eax
call fcn.5c01e2e4
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 0x5c01e893
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.5c04ff08
jmp 0x5c01e899
fstp st(2)
fstp st(0)
fstp st(0)
test dword [edi + 0x1a6c], 0x48000
je 0x5c01e953
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 0x5c01e90e
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 0x5c01e94b
test eax, 0x100
jne 0x5c01e94b
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 0x5c01e953
and eax, 0xffffffdf
fstp st(0)
mov dword [ebx + 0x20], eax
mov ebx, dword [ebx + 0x58]
test ebx, ebx
jne 0x5c01e680
and dword [edi + 0x1a6c], 0xfffb3fff
pop edi
pop esi
pop ebx
leave
ret
push 0x5c056c10
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x8007000e
push eax
call sub.msvcrt.dll__CxxThrowException
int3