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

Disassembly:
sub esp, 0x98
mov eax, dword [0x62f460]
test eax, eax
push edi
mov edi, ecx
mov dword [esp + 0x24], edi
je 0x41ced0
cmp dword [eax + 0x30], 2
je 0x41d1f8
lea ecx, [esp + 0x44]
call fcn.004f4ce0
mov eax, dword [edi + 0x1c]
push 0x64
mov dword [esp + 0x7c], 0x1014
mov dword [esp + 0x48], eax
call fcn.00418ff0
push 0x6b
mov dword [esp + 0x84], eax
call fcn.00418ff0
add esp, 8
mov dword [esp + 0x80], eax
mov dword [esp + 4], 0
push esi
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx + 0x164]
test eax, eax
jne 0x41cf39
add ecx, 0x108
mov edx, dword [ecx]
mov dword [esp + 0xc], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], eax
mov ecx, dword [ecx + 8]
mov dword [esp + 0x14], ecx
jmp 0x41cf43
lea edx, [esp + 0xc]
push edx
call fcn.004d2520
fld dword [esp + 0x10]
push 0x43b40000
fadd dword [0x5da750]
fstp dword [esp + 0x14]
call fcn.004bd510
push 0x40000000
fstp dword [esp + 0x74]
push 0x3f000000
call fcn.004bd540
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
fmul dword [0x5da2d4]
push 0x42340000
mov dword [esp + 0x5c], eax
fstp dword [esp + 0x78]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
call fcn.004bd510
fstp dword [esp + 0x80]
mov ecx, dword [0x6800e4]
add esp, 0x10
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x78], 0x66
call fcn.004f54c0
mov esi, eax
test esi, esi
je 0x41d085
mov eax, dword [esp + 8]
cmp eax, 4
jb 0x41cfd1
xor eax, eax
mov ecx, dword [eax*4 + 0x62fad8]
push ecx
mov ecx, dword [0x6800b4]
push 0x11
lea edx, [esp + 0x14]
push edx
call fcn.004f1bd0
mov edi, eax
test edi, edi
je 0x41d065
push 0x42c80000
push 0
call fcn.004bd540
fstp dword [esp + 0x2c]
push 0x42c80000
push 0
call fcn.004bd540
fstp dword [esp + 0x3c]
push 0x42c80000
push 0
call fcn.004bd540
fstp dword [esp + 0x54]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x58]
lea edx, [edi + 0x70]
mov dword [edx], eax
mov eax, dword [esp + 0x5c]
mov dword [edx + 4], ecx
mov ecx, dword [edi + 0xb0]
or ecx, 0x840
add esp, 0x18
mov dword [edi + 0xb0], ecx
push edi
mov ecx, esi
mov dword [edx + 8], eax
call fcn.004f4d80
mov ecx, dword [esi + 4]
mov edi, dword [esp + 0x28]
or ecx, 1
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0x50]
add ecx, 0x7d0
mov dword [esi + 0x68], 0x7d0
mov dword [esi + 0x54], ecx
mov ecx, dword [0x6800b4]
push 0
push 7
lea edx, [esp + 0x14]
push edx
call fcn.004f1bd0
mov esi, eax
test esi, esi
je 0x41d1d3
push 0x3f000000
push 0
mov dword [esp + 0x20], 0
call fcn.004bd540
fchs
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
add esp, 8
fcomp dword [0x60477c]
mov dword [esp + 0x20], 0
fnstsw ax
test ah, 0x44
jp 0x41d0e7
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
jmp 0x41d11f
fld dword [esp + 0x1c]
fmul dword [esp + 0x1c]
fsqrt
fdivr dword [0x5f53f4]
fld dword [0x60477c]
fmul st(1)
fst dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
fld dword [esp + 0x1c]
fmul st(2)
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x34]
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
fstp st(0)
lea edi, [esi + 0x58]
mov dword [edi], ecx
mov dword [edi + 4], eax
push 0x42480000
push 0x41a00000
mov dword [edi + 8], edx
call fcn.004bd540
push 0x43fa0000
fstp dword [esi + 0x7c]
push 0x43960000
call fcn.004bd540
fstp dword [esp + 0xc]
add esp, 0xc
mov ecx, esi
call fcn.004f0f30
fld dword [esi + 0x88]
fsub dword [esi + 0x84]
mov eax, dword [esi + 0xa0]
test eax, eax
fmul dword [0x5da6e8]
fild dword [esi + 0xa0]
jge 0x41d181
fadd dword [0x5da2fc]
fdivp st(1)
mov ecx, dword [esi + 0xb0]
or ecx, 0x20000
push 0x40000000
push 0x3fa00000
mov dword [esi + 0xb0], ecx
fstp dword [esi + 0x8c]
call fcn.004bd540
fmul dword [0x5da6e8]
add esp, 8
call fcn.0058c3f0
push eax
mov ecx, esi
call fcn.004f0c30
mov eax, dword [esi + 0xb0]
mov edi, dword [esp + 0x28]
or eax, 0x20
mov dword [esi + 0xb0], eax
mov eax, dword [esp + 8]
inc eax
cmp eax, 9
mov dword [esp + 8], eax
jb 0x41cf10
mov edx, dword [edi]
push 0
mov ecx, edi
call dword [edx + 8]
lea ecx, [esp + 0x48]
call fcn.004031a0
pop esi
pop edi
add esp, 0x98
ret