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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x344
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
fild dword [eax + 0x10]
mov ecx, dword [eax + 0x78]
mov esi, dword [eax + 0x118]
mov edi, 1
dec ecx
fstp dword [esp + 0x28]
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], 0x41500000
mov dword [esp + 0x30], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x2c], 0xc0900000
mov edx, 0
je 0x440ac1
dec ecx
je 0x440ad4
dec ecx
je 0x440a9f
mov dword [esp + 0x24], edi
jmp 0x440ad8
mov dword [esp + 0x38], 0x41000000
mov dword [esp + 0x30], 0xbfe00000
mov dword [esp + 0x3c], 0xbc4ccccd
mov dword [esp + 0x2c], 0xc0100000
jmp 0x440ad8
mov eax, dword [eax + 0x84]
cmp eax, 4
je 0x440ad4
cmp eax, edi
mov dword [esp + 0x24], edi
jne 0x440ad8
mov dword [esp + 0x24], edx
mov dword [esi + 0x15614], edx
mov dword [esi + 0x15610], edx
lea edx, [esi + 0x143d0]
lea eax, [esi + 0x15628]
lea ecx, [esi + 0x156b8]
mov dword [esp + 0x14], edx
mov dword [esi + 0x1560c], 0x3e800000
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
lea edx, [esi + 0x1376c]
mov dword [esp + 0x40], 4
mov edi, 0x60ad78ec
mov ecx, 0x3f800000
mov eax, 0x40
mov dword [edx - 0x400], edi
mov dword [edx], edi
mov dword [edx + 0x800], ecx
mov dword [edx + 0x400], ecx
add edx, 4
dec eax
jne 0x440b29
mov eax, dword [esp + 0x14]
mov ecx, 0x16
add eax, 0xffffffa8
mov dword [eax + 0x3d0], edi
mov dword [eax], edi
add eax, 4
dec ecx
jne 0x440b4f
mov edi, dword [esp + 0x14]
mov ebx, 3
mov eax, edi
mov ecx, 0xd
mov dword [eax + 0x3d0], 0x60ad78ec
mov dword [eax], 0x60ad78ec
add eax, 0xc
dec ecx
jne 0x440b6d
mov ecx, dword [esp + 0x10]
add edi, 4
dec ebx
mov dword [ecx], 0
jne 0x440b66
mov ebx, dword [esp + 0x18]
mov ecx, 9
mov eax, 0x41200000
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add eax, 0xf4
add edi, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
add ebx, 0x24
dec eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x40], eax
jne 0x440b1a
mov ecx, dword [esp + 0x28]
push 0x16
lea edx, [esi + 0x130a0]
push 0x3f638e39
push edx
mov edx, dword [esi + 0x157d0]
push 0x400
push ecx
add edx, 8
lea ecx, [esi + 0x14b40]
push edx
push ecx
lea edx, [esp + 0x26c]
lea ecx, [esp + 0x6c]
push edx
push ecx
lea edx, [esi + 0x14bcc]
lea ecx, [esi + 0x14c24]
lea eax, [esi + 0x151ec]
push edx
xor edi, edi
push ecx
push eax
mov dword [esi + 0x14b3c], edi
mov dword [esi + 0x14b38], edi
call fcn.00441450
add esp, 0x30
cmp eax, edi
mov dword [esi + 0x14ce4], eax
jle 0x440cdf
lea ebx, [esi + 0x152ec]
fld dword [esp + 0x30]
fstp qword [esp + 0x40]
fld dword [esp + edi*4 + 0x50]
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 1
jne 0x440c8f
fld dword [0x45ba58]
fsub dword [esp + 0x38]
fld dword [esp + edi*4 + 0x50]
fsub dword [esp + 0x38]
fmul dword [esp + 0x3c]
fdiv st(1)
fld dword [0x45ba58]
fsub dword [esp + edi*4 + 0x50]
fmul dword [esp + 0x30]
fdiv st(2)
faddp st(1)
fstp qword [esp + 0x40]
fstp st(0)
fld qword [0x4574e8]
fld qword [esp + 0x40]
fmul qword [0x456f60]
call fcn.00429980
fstp dword [esp + edi*4 + 0x150]
mov eax, dword [ebx - 0x100]
test eax, eax
mov dword [esp + 0x40], eax
jle 0x440cc7
fild dword [esp + 0x40]
fdivr qword [0x456610]
fstp dword [ebx]
jmp 0x440ccd
mov dword [ebx], 0
mov eax, dword [esi + 0x14ce4]
inc edi
add ebx, 4
cmp edi, eax
jl 0x440c48
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x150]
push edx
lea ecx, [esp + 0x254]
push eax
mov eax, dword [esi + 0x14ce4]
lea edx, [esp + 0x58]
push ecx
push edx
lea ecx, [esi + 0x14cec]
push eax
lea edx, [esi + 0x14370]
push ecx
push edx
call fcn.00441810
xor ebx, ebx
add esp, 0x1c
cmp eax, ebx
jne 0x441407
mov eax, dword [esi + 0x14ce4]
mov dword [esp + 0x10], ebx
cmp eax, ebx
mov dword [esp + 0x14], ebx
jle 0x440e8a
lea eax, [esp + 0x50]
lea edi, [esi + 0x151ec]
mov dword [esp + 0x30], eax
mov eax, 0xfffeaee8
sub eax, esi
mov dword [esp + 0x40], eax
mov eax, dword [edi]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x18], 0xe0000000
mov dword [esp + 0x1c], 0x47efffff
jle 0x440ddf
fild dword [esp + 0x10]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x48], 0
push ecx
push ecx
fmul dword [esp + 0x30]
mov dword [esp + 0x54], 0x40240000
fmul qword [0x45ba50]
fmul dword [0x4566e4]
fstp dword [esp]
call fcn.00437550
fsub dword [0x456cbc]
add esp, 8
fmul qword [0x456f60]
fld qword [esp + 0x48]
fxch st(1)
call fcn.00429980
mov ecx, dword [edi]
mov dword [esp + 0x3c], ecx
fimul dword [esp + 0x3c]
fld st(0)
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x440dcf
fstp qword [esp + 0x18]
jmp 0x440dd1
fstp st(0)
mov edx, dword [esp + 0x10]
inc ebx
inc edx
cmp ebx, ecx
mov dword [esp + 0x10], edx
jl 0x440d67
mov edx, dword [esi + 0x157cc]
mov eax, dword [esp + 0x40]
fld qword [esp + 0x18]
add edx, eax
mov eax, dword [esp + 0x30]
fstp dword [edx + edi]
fld dword [eax]
fadd st(0), st(0)
fsub dword [0x456cbc]
fcom qword [0x45b190]
fst qword [esp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x440e25
fstp st(0)
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0x40590000
jmp 0x440e42
fcomp qword [0x45ba48]
fnstsw ax
test ah, 1
je 0x440e42
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0xc02e0000
fld qword [0x4574e8]
fld qword [esp + 0x18]
fsub qword [0x45ba40]
fmul qword [0x456f60]
call fcn.00429980
fimul dword [edi]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x30]
inc eax
add ebx, 4
add edi, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], ebx
fstp dword [edi - 0x2084]
cmp eax, dword [esi + 0x14ce4]
jl 0x440d4f
xor ebx, ebx
mov eax, dword [esi + 0x157d0]
mov edx, dword [esp + 0x28]
push 0xd
lea ecx, [esi + 0x130fc]
push 0x3f2aaaab
push ecx
push 0x100
add eax, 0x60
push edx
lea ecx, [esi + 0x14b98]
push eax
lea edx, [esp + 0x268]
push ecx
lea eax, [esp + 0x6c]
push edx
lea ecx, [esi + 0x14c7c]
push eax
lea edx, [esi + 0x14cb0]
lea edi, [esi + 0x150ec]
push ecx
push edx
push edi
call fcn.00441450
add esp, 0x30
cmp eax, ebx
mov dword [esi + 0x14ce8], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
jle 0x4410e7
mov eax, 0xfffeb0e8
sub eax, esi
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0xc0208000
fld dword [esp + ecx*4 + 0x50]
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 1
jne 0x440f53
fld dword [0x45ba58]
fsub dword [esp + 0x38]
fld dword [esp + ecx*4 + 0x50]
fsub dword [esp + 0x38]
fmul dword [esp + 0x2c]
fdiv st(1)
fld dword [0x45ba58]
fsub dword [esp + ecx*4 + 0x50]
fmul dword [0x45ba38]
fdiv st(2)
fsubp st(1)
fstp qword [esp + 0x30]
fstp st(0)
fld qword [0x4574e8]
fld qword [esp + 0x30]
fmul qword [0x456f60]
call fcn.00429980
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x18], 0xe0000000
mov dword [esp + 0x1c], 0x47efffff
fstp dword [esp + eax*4 + 0x150]
cmp dword [edi], 0
jle 0x441002
fild dword [esp + 0x10]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x48], 0
push ecx
push ecx
fmul dword [esp + 0x30]
mov dword [esp + 0x54], 0x40240000
fmul qword [0x45ba30]
fmul dword [0x4566e4]
fstp dword [esp]
call fcn.00437550
fsub dword [0x456cbc]
add esp, 8
fmul qword [0x456f60]
fld qword [esp + 0x48]
fxch st(1)
call fcn.00429980
mov ecx, dword [edi]
mov dword [esp + 0x3c], ecx
fimul dword [esp + 0x3c]
fld st(0)
fcomp qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x440ff2
fstp qword [esp + 0x18]
jmp 0x440ff4
fstp st(0)
mov edx, dword [esp + 0x10]
inc ebx
inc edx
cmp ebx, ecx
mov dword [esp + 0x10], edx
jl 0x440f8a
mov edx, dword [esi + 0x157cc]
mov eax, dword [esp + 0x40]
fld qword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add edx, eax
fstp dword [edx + edi]
fld dword [esp + ecx*4 + 0x50]
fmul qword [0x45ba28]
fsub qword [0x456d00]
fst qword [esp + 0x18]
fld dword [esp + ecx*4 + 0x50]
fcomp dword [0x45ba20]
fnstsw ax
test ah, 0x41
jne 0x44105e
fld st(0)
fadd qword [0x456610]
fldln2
fxch st(1)
fyl2x
fmul qword [0x45ba18]
fadd qword [0x456610]
fmulp st(1)
fst qword [esp + 0x18]
fld dword [esp + ecx*4 + 0x50]
fcomp dword [0x45ba20]
fnstsw ax
test ah, 1
je 0x44108f
fld qword [0x456610]
fsub st(1)
fldln2
fxch st(1)
fyl2x
fmul qword [0x45ba10]
fadd qword [0x456610]
fmulp st(1)
fst qword [esp + 0x18]
fcomp qword [0x45ba48]
fnstsw ax
test ah, 1
je 0x4410ac
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0xc02e0000
fld qword [0x4574e8]
fld qword [esp + 0x18]
fsub qword [0x45ba40]
fmul qword [0x456f60]
call fcn.00429980
fimul dword [edi]
mov eax, dword [esp + 0x14]
add edi, 4
inc eax
mov dword [esp + 0x14], eax
fstp dword [edi - 0x1e84]
cmp eax, dword [esi + 0x14ce8]
jl 0x440efe
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x150]
push eax
lea edx, [esp + 0x254]
push ecx
mov ecx, dword [esi + 0x14ce8]
lea eax, [esp + 0x58]
push edx
push eax
lea edx, [esi + 0x14eec]
push ecx
lea eax, [esi + 0x1436c]
push edx
push eax
call fcn.00441810
add esp, 0x1c
test eax, eax
jne 0x441407
call fcn.00441410
push esi
call fcn.0044a7e0
fld dword [esp + 0x2c]
fmul qword [str.NeN_v_ffffff]
mov edi, dword [ebp + 8]
add esp, 4
fdivr qword [0x45ba00]
fldl2e
fmulp st(1)
fld st(0)
frndint
fxch st(1)
fsub st(1)
f2xm1
fld1
faddp st(1)
fscale
fstp st(1)
fstp dword [esi + 0x14374]
mov al, byte [edi + 0x7c]
fld dword [0x45b9f8]
test al, 2
je 0x441178
fstp st(0)
fld dword [0x4565ec]
fld dword [edi + 0xe8]
fabs
fcomp qword [0x457c28]
fnstsw ax
test ah, 0x41
jne 0x441195
fstp st(0)
fld dword [edi + 0xe8]
fstp dword [edi + 0xe8]
mov eax, dword [esi + 0x14ce4]
xor edx, edx
test eax, eax
jle 0x4411c4
lea ecx, [esi + 0x14cf0]
mov ebx, dword [ecx]
dec eax
cmp ebx, eax
jle 0x4411b6
mov dword [ecx], eax
mov eax, dword [esi + 0x14ce4]
inc edx
add ecx, 8
cmp edx, eax
jl 0x4411ad
fld qword [0x4574e8]
fild dword [esi + 0x7c9c]
fmul qword [0x45b9f0]
fdiv dword [esp + 0x28]
fmul qword [0x45b9e8]
call fcn.00429980
mov ecx, dword [esi + 0x157cc]
fstp dword [ecx + 0x10]
mov edx, dword [esi + 0x157cc]
mov dword [edx + 8], 0x3c23d70a
mov eax, dword [esi + 0x157cc]
mov dword [eax + 0xc], 0x3f800000
mov eax, dword [edi + 0xc4]
cmp eax, 0xffffffff
je 0x4412cd
fild dword [edi + 0x10]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x24], 0
mov dword [esp + 0x30], 0
mov edi, 0x2d4
fmul dword [0x45b9e0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fadd dword [esp + 0x2c]
push ebx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0x40240000
fstp dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
push ecx
call fcn.00437550
fmul dword [0x456f58]
fld qword [esp + 0x50]
fxch st(1)
add esp, 8
call fcn.00429980
fdivr qword [0x456610]
mov edx, dword [esi + 0x157cc]
add edi, 4
cmp edi, 0xad4
fstp dword [edi + edx - 4]
mov eax, dword [esi + 0x157cc]
fld dword [esp + 0x24]
fadd dword [edi + eax - 4]
fstp dword [esp + 0x24]
jl 0x44123c
fld dword [esp + 0x24]
fdivr qword [0x456610]
mov eax, 0xad0
mov ecx, dword [esi + 0x157cc]
add ecx, eax
sub eax, 4
fld st(0)
fmul dword [ecx]
cmp eax, 0x2d4
fstp dword [ecx]
jge 0x4412b3
fstp st(0)
mov eax, dword [esi + 0x14ce8]
xor edi, edi
test eax, eax
jle 0x4412ef
lea ecx, [esi + 0x150ec]
mov edx, eax
mov eax, dword [ecx]
test eax, eax
jle 0x4412e9
add edi, eax
add ecx, 4
dec edx
jne 0x4412e1
mov edx, dword [esi + 0x14ce4]
xor ebx, ebx
test edx, edx
jle 0x441311
lea ecx, [esi + 0x151ec]
mov edi, edx
mov eax, dword [ecx]
test eax, eax
jle 0x44130b
add ebx, eax
add ecx, 4
dec edi
jne 0x441303
xor ebx, ebx
cmp edx, ebx
mov dword [esp + 0x10], ebx
jle 0x441373
lea edi, [esi + 0x151ec]
mov eax, dword [edi]
mov ecx, dword [esp + 0x10]
cdq
sub eax, edx
sub esp, 8
sar eax, 1
add eax, ecx
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fmul dword [esp + 0x30]
fmul qword [0x45b9d8]
fstp qword [esp]
call fcn.00441e60
fstp dword [edi + 0x200]
mov edx, dword [edi]
mov eax, dword [esp + 0x18]
add eax, edx
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x14ce4]
inc ebx
add edi, 4
cmp ebx, eax
jl 0x441321
cmp ebx, 0x40
jge 0x441388
mov ecx, 0x40
lea edi, [esi + ebx*4 + 0x153ec]
sub ecx, ebx
mov eax, 0x3f800000
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x14ce8]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x10], ebx
jle 0x4413f0
lea edi, [esi + 0x150ec]
mov eax, dword [edi]
mov ecx, dword [esp + 0x10]
cdq
sub eax, edx
sub esp, 8
sar eax, 1
add eax, ecx
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fmul dword [esp + 0x30]
fmul qword [0x45b9d0]
fstp qword [esp]
call fcn.00441e60
fstp dword [edi + 0x400]
mov eax, dword [edi]
mov ecx, dword [esp + 0x18]
add esp, 8
add ecx, eax
mov eax, dword [esi + 0x14ce8]
inc ebx
add edi, 4
cmp ebx, eax
mov dword [esp + 0x10], ecx
jl 0x44139e
cmp ebx, 0x40
jge 0x441405
mov ecx, 0x40
lea edi, [esi + ebx*4 + 0x154ec]
sub ecx, ebx
mov eax, 0x3f800000
rep stosd dword es:[edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret