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

Disassembly:
mov eax, 0x1290
call fcn.00430a90
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov edi, edx
mov dword [esp + 0x14], ebp
cmp dword [ebp + 0x90], 0
mov dword [esp + 0x1c], edi
jne 0x438684
mov dword [esp + 0x28], 0
cmp dword [ebp + 0xb8], 1
mov ebx, dword [ebp + 0x4c]
mov dword [esp + 0x2c], ebx
jne 0x438693
mov dword [esp + 0x18], 4
push 0x1200
lea eax, [esp + 0xa4]
push 0
push eax
call fcn.004172a0
fldz
xor esi, esi
add esp, 0xc
mov dword [esp + 0x10], esi
test ebx, ebx
jle 0x40cf84
imul ecx, dword [esp + 0x12a4], 0x3d0
lea ebx, [esp + 0xa0]
mov edx, dword [esp + 0x12a8]
add ebp, 0x6440
lea eax, [ecx + edx]
add ecx, 0xf4
add ecx, dword [esp + 0x12ac]
sub edx, dword [esp + 0x12ac]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x12a8], edx
mov esi, dword [edi + esi*4]
mov edi, 0x240
add esi, 0x684
fld dword [esi - 0x28]
lea ecx, [esi - 0x50]
mov eax, 0x453a24
mov edx, esi
fld dword [edx + 4]
fadd dword [ecx]
fmul dword [eax - 4]
faddp st(1)
fld dword [ecx + 4]
add ecx, 8
fadd dword [edx]
sub edx, 8
fmul dword [eax]
add eax, 8
faddp st(2)
cmp eax, 0x453a48
jl 0x40cec2
faddp st(1)
add esi, 4
fstp dword [ebx]
fldz
add ebx, 4
sub edi, 1
jne 0x40ceb5
mov edi, dword [esp + 0x12a8]
lea esi, [ebp + 0x3d0]
mov edx, dword [esp + 0x24]
mov ecx, 0x3d
mov eax, dword [esp + 0x20]
add edi, edx
cmp dword [esp + 0x18], 2
fstp st(0)
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3d
mov esi, ebp
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jle 0x40cf4a
lea esi, [ebp + 0x5b8]
mov ecx, 0x3d
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp + 0x1e8]
mov ecx, 0x3d
lea edi, [edx - 0xf4]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x10]
add eax, 0x1e8
fldz
inc esi
mov edi, dword [esp + 0x1c]
add edx, 0x1e8
add ebp, 0xf4
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
cmp esi, dword [esp + 0x2c]
jl 0x40cea7
mov ebp, dword [esp + 0x14]
fstp st(0)
fldz
xor edi, edi
mov dword [esp + 0x10], edi
cmp dword [esp + 0x18], edi
jle 0x40d379
fld1
fld dword [0x452404]
jmp 0x40cfa2
fxch st(2)
fxch st(1)
mov eax, edi
mov dword [esp + 0x1c], 1
and eax, 1
lea esi, [esp + 0xa0]
fxch st(2)
fst dword [esp + 0x34]
fst dword [esp + 0x38]
lea eax, [eax + eax*8]
shl eax, 8
add esi, eax
fstp dword [esp + 0x3c]
cmp edi, 2
je 0x40d38d
lea eax, [edi + edi*8]
xor ebx, ebx
shl eax, 2
fld dword [eax + ebp + 0x6c10]
fst dword [esp + 0x40]
fld st(0)
fdiv dword [eax + ebp + 0x6c08]
fstp dword [esp + 0x70]
fld dword [eax + ebp + 0x6c14]
fst dword [esp + 0x44]
fld st(0)
fdiv dword [eax + ebp + 0x6c0c]
fstp dword [esp + 0x74]
fld dword [eax + ebp + 0x6c18]
add ebp, 0x6bf8
fst dword [esp + 0x48]
fld st(0)
add ebp, eax
fdiv st(3)
fstp dword [esp + 0x78]
fxch st(1)
faddp st(2)
faddp st(1)
fstp dword [esp + 0x30]
fldz
lea eax, [esi + 0x100]
xor edi, edi
cmp eax, esi
fld st(1)
sbb edx, edx
and edx, 0xffffffc0
add edx, 0x40
cmp esi, eax
ja 0x40d0b1
lea ecx, [edx - 4]
shr ecx, 2
inc ecx
lea edi, [ecx*4]
fld dword [esi]
fabs
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x40d2fc
fstp st(0)
fld dword [esi + 4]
fabs
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x40d303
fstp st(0)
fld dword [esi + 8]
fabs
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x40d30a
fstp st(0)
fld dword [esi + 0xc]
fabs
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x40d311
fstp st(0)
add esi, 0x10
sub ecx, 1
jne 0x40d05a
cmp edi, edx
jae 0x40d0d0
fld dword [esi]
fabs
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x40d386
fstp st(0)
inc edi
add esi, 4
cmp edi, edx
jb 0x40d0b5
mov eax, 0xaaaaaaab
mul ebx
fst dword [esp + ebx*4 + 0x4c]
fst dword [ebp]
shr edx, 1
fld dword [esp + edx*4 + 0x34]
fadd st(1)
fstp dword [esp + edx*4 + 0x34]
fld dword [esp + ebx*4 + 0x44]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x40d318
fxch st(1)
fmul st(4)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x40d4ac
fstp st(1)
fstp st(0)
fld st(0)
fstp dword [esp + ebx*4 + 0x7c]
inc ebx
add ebp, 4
cmp ebx, 9
jl 0x40d034
fstp st(0)
fstp st(1)
fld dword [esp + 0x4c]
fld dword [esp + 0x50]
fadd st(1), st(0)
fld dword [esp + 0x54]
fadd st(2), st(0)
fld st(3)
fld dword [0x4521a4]
fmulp st(2)
fxch st(1)
fcomp st(3)
fnstsw ax
fld dword [0x4523a4]
test ah, 5
jnp 0x40d417
fstp st(2)
fstp st(2)
mov edx, dword [esp + 0x10]
fxch st(1)
mov ebx, dword [esp + 0x12b4]
lea ecx, [edx + edx*2]
fstp dword [ebx + ecx*4]
fld dword [esp + 0x5c]
fld dword [esp + 0x58]
fadd st(1)
fld dword [esp + 0x60]
fadd st(1), st(0)
fld st(4)
fld dword [0x4521a4]
fmulp st(2)
fxch st(1)
fcomp st(2)
fnstsw ax
fld dword [0x452610]
test ah, 5
jnp 0x40d43b
fstp st(3)
fstp st(1)
fstp dword [ebx + ecx*4 + 4]
fld dword [esp + 0x68]
fld dword [esp + 0x64]
fadd st(1)
fld dword [esp + 0x6c]
fadd st(1), st(0)
fld st(5)
fld dword [0x4521a4]
fmulp st(2)
fxch st(1)
fcomp st(2)
fnstsw ax
fld dword [0x452404]
test ah, 5
jnp 0x40d45f
fstp st(3)
fstp st(1)
fstp dword [ebx + ecx*4 + 8]
mov ebx, dword [esp + 0x28]
test ebx, ebx
jne 0x43869c
mov ecx, dword [esp + 0x14]
lea ebx, [edx*4]
mov ebp, dword [esp + 0x12b8]
xor esi, esi
mov eax, dword [ecx + 0x14f2c]
fld dword [eax + edx*4 + 0x2b50]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea edi, [edx + ebx]
cmp dword [ebp + edi*4], 0
jne 0x40d22a
fcom dword [esp + esi*4 + 0x70]
fnstsw ax
test ah, 5
jnp 0x40d3c5
inc esi
cmp esi, 0xc
jl 0x40d208
mov esi, dword [esp + 0x10]
fstp st(0)
mov ecx, 1
fld dword [esp + ecx*4 + 0x2c]
fld dword [esp + ecx*4 + 0x30]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x40d31f
fld st(1)
fcomp st(4)
fnstsw ax
test ah, 5
jp 0x40d3bc
fld st(0)
fmul st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x40d3bc
fxch st(1)
fmul st(4)
fcompp
fnstsw ax
test ah, 0x41
jne 0x40d291
cmp ecx, 1
je 0x40d326
lea eax, [ebx + ecx]
mov dword [ebp + eax*4], 0
inc ecx
cmp ecx, 4
jl 0x40d23b
mov edi, dword [esp + 0x10]
fstp st(2)
mov eax, dword [esp + 0x14]
mov ecx, edi
add ecx, ecx
fstp st(0)
mov eax, dword [eax + edi*4 + 0x6c88]
mov edx, dword [ebp + ecx*8]
cmp edx, eax
jg 0x40d2bc
xor edx, edx
mov dword [ebp + ecx*8], edx
cmp eax, 3
je 0x40d3d6
mov eax, dword [ebp + ecx*8 + 0xc]
add eax, dword [ebp + ecx*8 + 8]
add eax, dword [ebp + ecx*8 + 4]
add eax, edx
jne 0x40d3d6
mov eax, dword [esp + 0x1c]
cmp edi, 2
jl 0x40d345
test eax, eax
jne 0x40d34f
mov eax, dword [esp + 0x12bc]
mov dword [eax + 4], 0
mov dword [eax], 0
jmp 0x40d34f
fstp st(1)
jmp 0x40d06d
fstp st(1)
jmp 0x40d081
fstp st(1)
jmp 0x40d095
fstp st(1)
jmp 0x40d0a9
fdivp st(1)
jmp 0x40d112
fld st(0)
jmp 0x40d252
mov edx, esi
add edx, edx
mov eax, dword [ebp + edx*8]
cmp eax, dword [ebp + ebx*4 + 4]
jg 0x40d286
mov dword [ebp + edx*8], 0
jmp 0x40d286
mov ecx, dword [esp + 0x12bc]
mov dword [ebx + ecx], eax
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x12b0]
fld dword [ebp + edi*4 + 0x6be8]
inc edi
fstp dword [ebx + eax]
fldz
mov dword [esp + 0x10], edi
cmp edi, dword [esp + 0x18]
jl 0x40cf9e
fstp st(0)
fstp st(1)
pop edi
pop esi
pop ebp
fstp st(0)
pop ebx
add esp, 0x1290
ret
fstp st(1)
jmp 0x40d0c8
mov ecx, 0x240
lea eax, [esp + 0x9a0]
fld dword [eax - 0x900]
dec ecx
fld dword [eax]
fld st(0)
fadd st(2)
fstp dword [eax - 0x900]
fsubp st(1)
fstp dword [eax]
add eax, 4
test ecx, ecx
jg 0x40d399
jmp 0x40cfd5
fstp st(1)
fstp st(0)
jmp 0x40d291
lea eax, [edx + edx*2]
mov ecx, esi
sub ecx, eax
inc ecx
mov dword [ebp + edi*4], ecx
jmp 0x40d22a
xor eax, eax
cmp dword [ebp + ecx*8 + 4], eax
jne 0x40d401
cmp dword [ebp + ecx*8 + 8], eax
jne 0x40d40b
cmp dword [ebp + ecx*8 + 0xc], eax
je 0x40d2dd
cmp dword [ebp + ecx*8 + 8], eax
je 0x40d2dd
mov dword [ebp + ecx*8 + 0xc], eax
jmp 0x40d2dd
test edx, edx
je 0x40d3de
mov dword [ebp + ecx*8 + 4], eax
jmp 0x40d3de
cmp dword [ebp + ecx*8 + 4], eax
je 0x40d3e4
mov dword [ebp + ecx*8 + 8], eax
jmp 0x40d3e4
fstp st(1)
fld dword [0x4523b4]
fld dword [0x4521a4]
fmulp st(3)
fxch st(2)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 5
jnp 0x40d483
fxch st(1)
jmp 0x40d15a
fstp st(1)
fld dword [0x4523b4]
fld dword [0x4521a4]
fmulp st(4)
fxch st(3)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x40d492
fxch st(1)
jmp 0x40d1a0
fstp st(1)
fld dword [0x4523b4]
fld dword [0x4521a4]
fmulp st(4)
fxch st(3)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x40d49f
fxch st(1)
jmp 0x40d1d7
fstp st(0)
fld dword [0x452184]
fxch st(1)
jmp 0x40d15a
fstp st(1)
fld dword [0x452184]
jmp 0x40d1a0
fstp st(1)
fld dword [0x452184]
jmp 0x40d1d7
fdivp st(1)
jmp 0x40d112
mov eax, dword [ebp + 0x14f30]
mov dword [esp + 0x28], eax
jmp 0x40ce1f
mov dword [esp + 0x18], ebx
jmp 0x40ce3b
fld dword [esp + 0x70]
mov ecx, 1
fld dword [esp + ecx*4 + 0x70]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4386b6
fstp st(1)
jmp 0x4386b8
fstp st(0)
inc ecx
cmp ecx, 0xc
jl 0x4386a5
mov eax, dword [esp + 0x12a4]
fld qword [ebx + edx*8 + 0x301f8]
lea eax, [edx + eax*4]
fstp qword [ebx + eax*8 + 0x30218]
fstp qword [ebx + edx*8 + 0x301f8]
jmp 0x40d1e7