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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xf8
mov eax, dword [ebp + 8]
fld qword [0x511068]
mov edx, dword [eax + 0x10]
fst qword [esp + 0x50]
mov eax, dword [edx + 0x34]
fldz
push ebx
mov ebx, dword [esi + 0x14]
xor ecx, ecx
push edi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x3c], ecx
lea edx, [ecx + 1]
cmp edx, dword [esi + 0x90]
mov dword [esp + 0x44], edx
jne 0x44cfa1
xor edx, edx
mov dword [esp + 0x44], edx
mov eax, dword [esi + 0x18]
shl edx, 4
fld qword [edx + ebx]
shl ecx, 4
fsub qword [ecx + ebx]
lea edi, [eax + ecx + 8]
fld qword [edx + ebx + 8]
mov dword [esp + 0x68], edi
fsub qword [ecx + ebx + 8]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld qword [edx + ebx]
fsub qword [eax + ecx]
fld qword [edx + ebx + 8]
fsub qword [edi]
lea edi, [eax + edx + 8]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld qword [eax + edx]
fsub qword [ecx + ebx]
fld qword [edi]
fsub qword [ecx + ebx + 8]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld qword [eax + edx]
fsub qword [eax + ecx]
mov eax, dword [esp + 0x68]
fld qword [edi]
fsub qword [eax]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x44d017
fstp st(0)
jmp 0x44d019
fstp st(2)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x44d026
fstp st(0)
jmp 0x44d028
fstp st(2)
mov eax, dword [esi + 0x10]
fld st(2)
mov edi, dword [esp + 0x3c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x1c]
test eax, 0x6602
je 0x44d051
fstp st(0)
fld qword [0x511060]
fld st(0)
faddp st(2)
faddp st(2)
jmp 0x44d1a8
test eax, 0x1180
je 0x44d06b
fstp st(0)
fld qword [0x510f48]
fld st(0)
faddp st(2)
faddp st(2)
jmp 0x44d1a8
mov eax, dword [esi + 0x10]
mov edi, dword [esp + 0x44]
mov eax, dword [eax + edi*4]
test dword [eax + 0x1c], 0x1180
je 0x44d091
fstp st(0)
fld qword [0x511058]
fld st(0)
faddp st(2)
faddp st(2)
jmp 0x44d1a8
mov eax, dword [esp + 0x7c]
test eax, 0x2200
je 0x44d1a6
test eax, 0x200
je 0x44d105
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
fld qword [edi + ecx]
fsub qword [eax + ecx]
fabs
fld qword [0x510f80]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x44d0d0
fstp st(1)
fld qword [0x510fb8]
jmp 0x44d0d2
fxch st(1)
mov eax, dword [esi + 0x14]
fld qword [edi + edx]
fsub qword [eax + edx]
fabs
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x44d0ec
fadd qword [0x510f90]
fld qword [0x511058]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x44d193
mov eax, dword [esp + 0x7c]
jmp 0x44d10d
fld qword [0x510f80]
fxch st(1)
test eax, 0x2000
je 0x44d193
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
fld qword [edi + ecx + 8]
fsub qword [eax + ecx + 8]
fabs
fcomp st(2)
fnstsw ax
test ah, 5
mov eax, dword [esi + 0x14]
jp 0x44d161
fstp st(0)
fld qword [edi + edx + 8]
fsub qword [eax + edx + 8]
fabs
fcompp
fnstsw ax
test ah, 5
jp 0x44d153
fld qword [0x511058]
fld st(0)
faddp st(2)
faddp st(2)
jmp 0x44d1a8
fld qword [0x510fb8]
fld st(0)
faddp st(2)
faddp st(2)
jmp 0x44d1a8
fld qword [edi + edx + 8]
fsub qword [eax + edx + 8]
fabs
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x44d195
fld qword [0x510f90]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x44d18f
fstp st(1)
fld st(0)
faddp st(2)
faddp st(2)
jmp 0x44d1a8
fstp st(0)
jmp 0x44d195
fstp st(1)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x44d1a6
fld st(0)
faddp st(2)
faddp st(2)
jmp 0x44d1a8
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x44d1d7
fstp st(1)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x44d1ee
mov edi, dword [esp + 0x3c]
fstp st(2)
fld st(1)
mov dword [esp + 0x48], edi
fld st(1)
fucomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x44
jnp 0x44d204
jmp 0x44d1f4
fstp st(0)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x44d1ee
mov edi, dword [esp + 0x3c]
fstp st(2)
mov dword [esp + 0x48], edi
jmp 0x44d1f4
mov edi, dword [esp + 0x48]
fstp st(0)
mov ecx, dword [esp + 0x44]
test ecx, ecx
mov dword [esp + 0x3c], ecx
jne 0x44cf8c
xor ecx, ecx
fstp st(0)
lea eax, [edi + 1]
fstp qword [esp + 0x58]
cmp eax, dword [esi + 0x90]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x44], edi
jne 0x44d233
xor eax, eax
mov edx, dword [esi + 0x14]
shl eax, 4
mov ebx, eax
lea ecx, [esp + 0xa8]
push ecx
mov ecx, dword [esi + 0x18]
shl edi, 4
lea eax, [edi + edx]
add ecx, ebx
add edx, ebx
mov dword [esp + 0x6c], ebx
mov ebx, dword [ebp + 8]
push ebx
call fcn.0044c080
mov ecx, dword [esi + 0x18]
mov ebx, dword [esp + 0x70]
lea edx, [esp + 0x60]
push edx
mov edx, dword [esi + 0x14]
lea eax, [edi + ecx]
add ecx, ebx
add edx, ebx
mov ebx, dword [ebp + 8]
push ebx
call fcn.0044c080
fld qword [esp + 0x68]
fcomp qword [esp + 0xb8]
add esp, 0x10
fnstsw ax
test ah, 0x41
jne 0x44d2e0
mov eax, dword [esi + 0x10]
mov ebx, dword [esp + 0x48]
mov eax, dword [eax + ebx*4]
push eax
call fcn.00434840
mov ecx, dword [esi + 0x14]
fld qword [ecx + edi]
mov edx, dword [esi + 0x18]
fld qword [ecx + edi + 8]
lea eax, [ecx + edi]
fld qword [edi + edx]
add esp, 4
fstp qword [eax]
mov eax, dword [esi + 0x18]
fld qword [edi + eax + 8]
mov ecx, dword [esi + 0x14]
fstp qword [ecx + edi + 8]
mov edx, dword [esi + 0x18]
fxch st(1)
fstp qword [edi + edx]
mov eax, dword [esi + 0x18]
fstp qword [edi + eax + 8]
mov ecx, dword [esi + 8]
mov eax, dword [ecx + ebx*4]
xor byte [eax + 0x14], 1
mov eax, dword [esi + 0x90]
fld qword [0x511050]
fld1
lea edx, [eax + eax]
mov eax, dword [esp + 0x7c]
fld qword [0x510f80]
and eax, 0xcc00
mov dword [esp + 0x50], edx
mov dword [esp + 0xcc], eax
jmp 0x44d317
fld1
fld qword [0x511050]
fxch st(2)
mov edx, dword [esp + 0x44]
lea edi, [edx + 1]
cmp edi, dword [esi + 0x90]
mov dword [esp + 0x3c], edi
jne 0x44d330
xor edi, edi
mov dword [esp + 0x3c], edi
mov eax, dword [esi + 0x14]
shl edi, 4
fld qword [eax + edi]
lea ecx, [eax + edi]
mov eax, dword [esi + 0x18]
mov ebx, edx
shl ebx, 4
fsub qword [eax + ebx]
add eax, ebx
cmp dword [esp + 0xcc], 0
mov dword [esp + 0x64], ebx
fst qword [esp + 0x80]
fld qword [ecx + 8]
fsub qword [eax + 8]
fstp qword [esp + 0x88]
je 0x44d7dc
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + edx*4]
mov ecx, dword [ecx + 0x1c]
test cl, 1
mov dword [esp + 0x68], ecx
je 0x44d39a
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx + 0x1c]
mov ecx, eax
shr ecx, 1
and eax, 0x2200
and ecx, 0x2200
add eax, eax
or ecx, eax
test ecx, 0x4400
je 0x44d7dc
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x1c]
test ecx, 0x6600
mov dword [esp + 0x4c], ecx
je 0x44d7dc
test byte [esp + 0x68], 2
je 0x44d3e5
sub edx, 1
jns 0x44d3d8
mov edx, dword [esi + 0x90]
add edx, 0xffffffff
mov ecx, dword [eax + edx*4]
test byte [ecx + 0x1c], 2
jne 0x44d3ca
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x4c]
test cl, 1
je 0x44d40e
mov ecx, dword [esp + 0x3c]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x1c]
mov ecx, eax
shr ecx, 1
and eax, 0x2200
and ecx, 0x2200
add eax, eax
or ecx, eax
test ecx, 0x2200
jne 0x44d420
mov dword [esp + 0x40], 1
jmp 0x44d494
test ecx, 0x4400
je 0x44d48c
mov ebx, dword [esi + 0x18]
mov eax, edx
shl eax, 4
test ecx, 0x600
mov dword [esp + 0x40], 0x20
mov dword [esp + 0x64], eax
je 0x44d45b
fld qword [ebx + edi]
fsub qword [ebx + eax]
mov eax, dword [esi + 0x14]
fabs
fld qword [eax + edi]
mov eax, dword [esp + 0x64]
fsub qword [eax + ebx]
jmp 0x44d477
fld qword [ebx + edi + 8]
fsub qword [ebx + eax + 8]
mov eax, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
fabs
fld qword [eax + edi + 8]
mov eax, dword [esp + 0x64]
fsub qword [eax + ebx + 8]
fabs
fcompp
fnstsw ax
test ah, 0x41
jne 0x44d494
mov dword [esp + 0x40], 0x21
jmp 0x44d494
mov dword [esp + 0x40], 0
mov eax, dword [esi + 0x14]
fld qword [eax + edi]
mov eax, dword [esi + 0x18]
mov ebx, edx
shl ebx, 4
fsub qword [ebx + eax]
mov dword [esp + 0x64], ebx
fabs
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x44d4f7
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
fld qword [edx + edi + 8]
fsub qword [ebx + eax + 8]
fabs
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x44d4f7
mov eax, dword [esi + 0x18]
fld qword [eax + edi]
fsub qword [ebx + edx]
fabs
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x44d4f7
mov eax, dword [esi + 0x18]
fld qword [eax + edi + 8]
fsub qword [ebx + edx + 8]
fabs
fcomp st(2)
fnstsw ax
test ah, 5
jnp 0x44d54f
mov eax, dword [esi + 0x14]
fld qword [eax + edi]
fsub qword [eax + ebx]
fabs
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x44d593
mov eax, dword [esi + 0x14]
fld qword [eax + edi + 8]
fsub qword [eax + ebx + 8]
fabs
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x44d593
mov eax, dword [esi + 0x18]
fld qword [eax + edi]
fsub qword [eax + ebx]
fabs
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x44d593
mov eax, dword [esi + 0x18]
fld qword [eax + edi + 8]
fsub qword [eax + ebx + 8]
fabs
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x44d593
test ecx, 0x600
fstp st(3)
fstp st(1)
je 0x44d56f
test dword [esp + 0x7c], 0x2000
je 0x44d56f
or dword [esp + 0x40], 0x44
jmp 0x44d6d7
test ecx, 0x6000
je 0x44d6d7
test dword [esp + 0x7c], 0x200
je 0x44d6d7
or dword [esp + 0x40], 0x42
jmp 0x44d6d7
test byte [esp + 0x40], 0x20
jne 0x44db59
test dword [esp + 0x7c], 0x2200
je 0x44db59
mov eax, dword [esp + 0x3c]
add eax, 1
cmp eax, dword [esi + 0x90]
mov dword [esp + 0x48], eax
jne 0x44d5c5
xor eax, eax
mov dword [esp + 0x48], eax
mov edx, dword [esi + 0x10]
mov edx, dword [edx + eax*4]
test dword [edx + 0x1c], 0x6600
jne 0x44db59
mov edx, dword [esp + 0x50]
fstp st(0)
and ecx, 0x600
neg ecx
sbb ecx, ecx
neg ecx
mov eax, 2
shl eax, cl
test byte [esp + 0x40], 1
mov dword [esp + 0x98], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x3c]
lea edx, [ecx + eax*2]
je 0x44d61e
mov eax, dword [esi + 0x14]
jmp 0x44d621
mov eax, dword [esi + 0x18]
fld qword [eax + edx*8]
mov eax, dword [esp + 0x48]
lea ecx, [ecx + eax*2]
fld st(0)
mov eax, dword [esi + 0x14]
add ecx, ecx
add ecx, ecx
add ecx, ecx
fsub qword [ecx + eax]
xor edx, edx
fabs
fst qword [esp + 0x58]
fcom st(4)
fnstsw ax
test ah, 0x41
jne 0x44d654
mov edx, dword [esp + 0x4c]
fsub st(3)
fst qword [esp + 0x58]
mov eax, dword [esi + 0x18]
fxch st(1)
fsub qword [ecx + eax]
fabs
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x44d673
fstp st(1)
xor edx, edx
fld st(0)
fst qword [esp + 0x58]
fxch st(1)
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 0x41
jne 0x44d697
fxch st(3)
fsubrp st(2)
fxch st(2)
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x44d69b
mov edx, dword [esp + 0x4c]
fstp qword [esp + 0x58]
jmp 0x44d69d
fstp st(3)
fstp st(2)
fstp st(0)
mov ecx, dword [esi + 0x14]
mov eax, dword [esp + 0x48]
add ecx, edi
mov dword [esp + 0x68], ecx
mov ecx, dword [esi + 0x18]
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0x68]
fld qword [ecx]
or edx, 0x10
fsub qword [eax]
or dword [esp + 0x40], edx
fst qword [esp + 0x80]
fld qword [ecx + 8]
fsub qword [eax + 8]
fstp qword [esp + 0x88]
fxch st(1)
mov eax, dword [esi + 0x90]
cmp dword [esp + 0x50], eax
jne 0x44d758
mov ecx, dword [esp + 0x54]
test dword [esp + 0x40], ecx
je 0x44d758
mov ebx, dword [esp + 0x9c]
lea edi, [ebx + 1]
cmp edi, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], ecx
mov dword [esp + 0x3c], edi
jne 0x44d71c
xor edi, edi
mov dword [esp + 0x3c], edi
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
shl edi, 4
fld qword [edx + edi]
lea eax, [edx + edi]
shl ebx, 4
fsub qword [ecx + ebx]
add ecx, ebx
mov dword [esp + 0x64], ebx
fsubrp st(2)
fxch st(1)
fst qword [esp + 0x80]
fld qword [eax + 8]
fsub qword [ecx + 8]
fsub qword [esp + 0x88]
fstp qword [esp + 0x88]
fxch st(1)
test byte [esp + 0x40], 1
je 0x44db8a
mov edx, dword [esi + 0x10]
fstp st(1)
mov eax, dword [esp + 0x3c]
fstp st(0)
mov ecx, dword [edx + eax*4]
push ecx
call fcn.00434840
mov edx, dword [esi + 0x14]
fld qword [edx + edi]
mov ecx, dword [esi + 0x18]
fld qword [edx + edi + 8]
lea eax, [edx + edi]
fld qword [edi + ecx]
add esp, 4
fstp qword [eax]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
fld qword [edi + edx + 8]
fstp qword [eax + edi + 8]
mov ecx, dword [esi + 0x18]
fxch st(1)
fstp qword [edi + ecx]
mov edx, dword [esi + 0x18]
mov ecx, dword [esp + 0x3c]
fstp qword [edi + edx + 8]
mov eax, dword [esi + 8]
mov eax, dword [eax + ecx*4]
xor byte [eax + 0x14], 1
test byte [esp + 0x40], 0x10
je 0x44db62
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x48]
lea eax, [edx + edi]
mov edx, dword [esi + 0x18]
shl ecx, 4
add ecx, edx
jmp 0x44db6c
mov ecx, dword [esi + 0x18]
fstp st(0)
lea edx, [esp + 0x58]
fstp st(0)
push edx
fstp st(1)
mov edx, dword [esi + 0x14]
fstp st(0)
push dword [ebp + 8]
lea eax, [ecx + ebx]
add ecx, edi
add edx, edi
call fcn.0044c080
fld qword [0x511040]
fcomp qword [esp + 0x60]
mov dword [esp + 0x48], eax
add esp, 8
fnstsw ax
test ah, 5
jp 0x44db47
mov ecx, dword [esi + 0x10]
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx + eax*4]
test byte [edx + 0x1c], 0x80
je 0x44db47
mov ecx, dword [esi + 8]
mov edx, dword [ecx + eax*4]
cmp byte [edx + 0x14], 0
jne 0x44d84d
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax + ecx*4]
push edx
call fcn.00434840
add esp, 4
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
push 1
push edx
push ecx
call fcn.004674f0
mov edx, dword [esi + 8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [edx + eax*4]
add esp, 0xc
cmp byte [ecx + 0x14], 0
jne 0x44d88c
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + eax*4]
push ecx
call fcn.00434840
add esp, 4
cmp dword [esp + 0x4c], 0
je 0x44db47
mov eax, dword [esp + 0x4c]
fld qword [eax + 8]
lea edx, [esp + 0xb0]
push edx
sub esp, 8
fstp qword [esp]
push eax
call fcn.00434970
fld qword [esp + 0xc0]
fsub qword [esi + 0x60]
add esp, 0x10
lea eax, [esp + 0xb0]
push eax
fmul qword [esi + 0x70]
mov eax, dword [esp + 0x50]
sub esp, 8
fstp qword [esp + 0xdc]
fld qword [esp + 0xc4]
fsub qword [esi + 0x78]
fmul qword [esi + 0x88]
fstp qword [esp + 0xe4]
fld qword [eax + 0x10]
fstp qword [esp]
push eax
call fcn.00434970
fld qword [esp + 0xc0]
fsub qword [esi + 0x60]
mov edx, dword [ebp + 8]
mov eax, dword [esi + 0x18]
lea ecx, [esp + 0xb8]
fmul qword [esi + 0x70]
push ecx
push edx
add eax, ebx
fstp qword [esp + 0xf8]
lea ecx, [esp + 0xf8]
fld qword [esp + 0xd0]
lea edx, [esp + 0xe8]
fsub qword [esi + 0x78]
fmul qword [esi + 0x88]
fstp qword [esp + 0x100]
call fcn.0044c080
fld qword [esp + 0x70]
mov dword [esp + 0x80], eax
fcomp qword [esp + 0xc0]
add esp, 0x18
fnstsw ax
test ah, 0x41
jne 0x44db3a
mov eax, dword [esp + 0x3c]
mov ecx, dword [esi + 0x90]
add eax, 1
cmp eax, ecx
jne 0x44d97d
xor eax, eax
cmp eax, dword [esp + 0x44]
je 0x44d98f
mov edx, dword [esi + 0x10]
mov edx, dword [edx + eax*4]
test byte [edx + 0x1c], 0x80
jne 0x44d974
test byte [esp + 0x40], 1
je 0x44d99d
mov ecx, dword [esi + 0x14]
add ecx, edi
jmp 0x44d9a3
mov edx, dword [esi + 0x18]
lea ecx, [edi + edx]
fld qword [ecx]
mov edx, dword [esi + 0x14]
shl eax, 4
fstp qword [esp + 0xb0]
fld qword [ecx + 8]
mov ecx, dword [esi + 0x18]
add ecx, eax
fstp qword [esp + 0xb8]
add edx, eax
lea eax, [esp + 0xf8]
push eax
mov eax, dword [ebp + 8]
push eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x98], edx
call fcn.0044c080
add esp, 8
test byte [esp + 0x68], 1
je 0x44da07
fld qword [esp + 0xd0]
fstp qword [esp + 0xb0]
fld qword [esp + 0xd8]
jmp 0x44da1c
fld qword [esp + 0xe0]
fstp qword [esp + 0xb0]
fld qword [esp + 0xe8]
mov edx, dword [ebp + 8]
fstp qword [esp + 0xb8]
lea ecx, [esp + 0xf0]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x98]
lea eax, [esp + 0xb8]
call fcn.0044c080
fld qword [esp + 0xf8]
fadd qword [esp + 0xb0]
add esp, 8
fld qword [esp + 0xf8]
fadd qword [esp + 0x58]
fcompp
fnstsw ax
test ah, 0x41
jne 0x44db3a
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x18]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x90], edx
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x18], edx
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x18], eax
add ecx, 8
push ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + edx*4]
push eax
call fcn.004350b0
fld qword [esp + 0xd8]
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x44]
mov eax, dword [ecx + edx*4]
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 0x1c]
xor edx, dword [eax + 0x1c]
add esp, 8
and edx, 1
xor dword [eax + 0x1c], edx
mov eax, dword [esi + 0x14]
fstp qword [edi + eax]
mov ecx, dword [esi + 0x14]
fld qword [esp + 0xd8]
fstp qword [ecx + edi + 8]
mov edx, dword [esi + 0x18]
fld qword [esp + 0xe0]
fstp qword [edi + edx]
mov eax, dword [esi + 0x18]
fld qword [esp + 0xe8]
fstp qword [edi + eax + 8]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x18]
fld qword [ecx + edi]
fsub qword [ebx + edx]
lea eax, [ecx + edi]
lea ecx, [ebx + edx]
fstp qword [esp + 0x80]
fld qword [eax + 8]
mov eax, dword [esp + 0x68]
fsub qword [ecx + 8]
or eax, 8
mov dword [esp + 0x40], eax
fstp qword [esp + 0x88]
fld qword [esp + 0xa8]
fstp qword [esp + 0x58]
mov eax, dword [esp + 0x4c]
push eax
call fcn.00434890
add esp, 4
fld qword [0x510f80]
fld qword [esp + 0x80]
jmp 0x44d6d5
fstp st(3)
fstp st(1)
jmp 0x44d6d7
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
add eax, edi
add ecx, ebx
fld qword [eax]
fsub qword [ecx]
fst qword [esp + 0x80]
fld qword [eax + 8]
fsub qword [ecx + 8]
fstp qword [esp + 0x88]
fld qword [0x510f80]
mov al, byte [esp + 0x40]
test al, 2
je 0x44dde2
test al, 0x40
fstp st(0)
je 0x44dbb9
fldz
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x44dbb2
fld qword [0x50de40]
jmp 0x44dd77
fld1
jmp 0x44dd77
fadd qword [0x50c4f8]
sub esp, 8
fstp qword [esp]
call fcn.00500340
fldz
mov ecx, dword [esi + 0x90]
fsubrp st(1)
lea edx, [ecx + 2]
add esp, 8
cmp dword [esp + 0x50], edx
fst qword [esp + 0x68]
jg 0x44dd6e
mov eax, dword [esi + 0x14]
fld qword [eax + edi]
mov edx, dword [esi + 0x18]
fsub qword [edi + edx]
fabs
fld1
fld st(0)
fsubrp st(2)
fxch st(1)
fabs
fcomp qword [0x510f80]
fnstsw ax
test ah, 5
jp 0x44dd6c
mov edx, dword [esp + 0x3c]
add edx, 1
cmp edx, ecx
jne 0x44dc1e
xor edx, edx
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
fld qword [eax + edi]
fsub qword [ecx + ebx]
shl edx, 4
fld qword [eax + edi + 8]
mov dword [esp + 0x44], edx
fsub qword [ecx + ebx + 8]
fld st(3)
faddp st(2)
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld qword [ecx + edi]
fsub qword [eax + edx]
fld qword [ecx + edi + 8]
fsub qword [eax + edx + 8]
fld st(4)
faddp st(2)
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
faddp st(1)
fst qword [esp + 0x58]
fcompp
fnstsw ax
test ah, 0x41
jne 0x44dd6e
fstp st(0)
mov eax, ecx
fld qword [eax + edi]
sub esp, 8
fsub qword [eax + ebx]
fadd qword [0x50c4f8]
fstp qword [esp]
call fcn.00500340
fldz
mov eax, dword [esi + 0x18]
fsubrp st(1)
mov ecx, dword [esp + 0x4c]
add esp, 8
fst qword [esp + 0x90]
fld qword [eax + edi]
fsub qword [eax + ebx]
fld qword [eax + edi + 8]
fsub qword [eax + ebx + 8]
mov eax, dword [esi + 0x14]
fld st(2)
faddp st(2)
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld qword [eax + edi]
fsub qword [eax + ecx]
fld qword [eax + edi + 8]
fsub qword [eax + ecx + 8]
fxch st(3)
faddp st(1)
fld st(2)
fmulp st(3)
fmul st(0), st(0)
faddp st(2)
faddp st(1)
fld1
fcompp
fnstsw ax
test ah, 0x41
jne 0x44dd5f
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax + ecx*4]
push edx
call fcn.00434840
mov eax, dword [esi + 0x14]
fld qword [eax + edi]
mov ecx, dword [esi + 0x18]
fld qword [eax + edi + 8]
add eax, edi
fld qword [edi + ecx]
add esp, 4
fstp qword [eax]
mov edx, dword [esi + 0x18]
fld qword [edi + edx + 8]
mov eax, dword [esi + 0x14]
fstp qword [eax + edi + 8]
mov ecx, dword [esi + 0x18]
fxch st(1)
fstp qword [edi + ecx]
mov edx, dword [esi + 0x18]
mov ecx, dword [esp + 0x3c]
fstp qword [edi + edx + 8]
mov eax, dword [esi + 8]
mov eax, dword [eax + ecx*4]
xor byte [eax + 0x14], 1
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
fld qword [edx + edi]
fsub qword [ecx + ebx]
lea eax, [edx + edi]
fld qword [eax + 8]
add ecx, ebx
fsub qword [ecx + 8]
fstp qword [esp + 0x88]
fld qword [esp + 0x90]
jmp 0x44dd77
fld qword [esp + 0x80]
fld qword [esp + 0x68]
jmp 0x44dd77
fstp st(0)
fld qword [esp + 0x80]
fxch st(1)
fld st(0)
call fcn.00418120
fxch st(1)
fabs
mov ecx, eax
fcomp qword [0x511048]
mov dword [esp + 0x48], ecx
fnstsw ax
test ah, 0x41
jne 0x44dd9f
mov dword [esp + 0x74], 0
jmp 0x44ddb4
mov edx, ecx
imul edx, dword [esp + 0x74]
test edx, edx
jle 0x44ddb0
add dword [esp + 0x74], ecx
jmp 0x44ddb4
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x3c]
sub esp, 8
fstp qword [esp]
push eax
push esi
xor ebx, ebx
call fcn.0044c5a0
fld qword [0x510f80]
mov ebx, dword [esp + 0x74]
mov al, byte [esp + 0x50]
add esp, 0x10
add dword [esp + 0xa0], 1
jmp 0x44ddec
fstp st(1)
mov dword [esp + 0x74], 0
test al, 4
je 0x44e032
test al, 0x40
fstp st(0)
je 0x44de1c
fldz
fcomp qword [esp + 0x88]
fnstsw ax
test ah, 5
jp 0x44de15
fld qword [0x50de40]
jmp 0x44dfc4
fld1
jmp 0x44dfc4
fld qword [esp + 0x88]
sub esp, 8
fadd qword [0x50c4f8]
fstp qword [esp]
call fcn.00500340
fldz
mov ecx, dword [esi + 0x90]
fsubrp st(1)
lea edx, [ecx + 2]
add esp, 8
cmp dword [esp + 0x50], edx
fst qword [esp + 0x68]
jg 0x44dfc4
mov eax, dword [esi + 0x14]
fld qword [eax + edi + 8]
mov edx, dword [esi + 0x18]
fsub qword [edi + edx + 8]
fabs
fld1
fld st(0)
fsubrp st(2)
fxch st(1)
fabs
fcomp qword [0x510f80]
fnstsw ax
test ah, 5
jp 0x44dfc2
mov edx, dword [esp + 0x3c]
add edx, 1
cmp edx, ecx
jne 0x44de8a
xor edx, edx
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
fld qword [edi + eax]
fsub qword [ebx + ecx]
shl edx, 4
fld qword [edi + eax + 8]
mov dword [esp + 0x44], edx
fsub qword [ebx + ecx + 8]
fadd st(3)
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld qword [edi + ecx]
fsub qword [edx + eax]
fld qword [edi + ecx + 8]
fsub qword [edx + eax + 8]
fadd st(4)
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
faddp st(1)
fst qword [esp + 0x58]
fcompp
fnstsw ax
test ah, 0x41
jne 0x44dfc4
fstp st(0)
mov eax, ecx
fld qword [edi + eax + 8]
sub esp, 8
fsub qword [ebx + eax + 8]
fadd qword [0x50c4f8]
fstp qword [esp]
call fcn.00500340
fldz
mov eax, dword [esi + 0x18]
fsubrp st(1)
mov ecx, dword [esp + 0x4c]
add esp, 8
fst qword [esp + 0x90]
fld qword [edi + eax]
fsub qword [ebx + eax]
fld qword [edi + eax + 8]
fsub qword [ebx + eax + 8]
mov eax, dword [esi + 0x14]
fadd st(2)
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld qword [edi + eax]
fsub qword [ecx + eax]
fld qword [edi + eax + 8]
fsub qword [ecx + eax + 8]
faddp st(3)
fld st(2)
fmulp st(3)
fmul st(0), st(0)
faddp st(2)
faddp st(1)
fld1
fcompp
fnstsw ax
test ah, 0x41
jne 0x44dfbc
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax + ecx*4]
push edx
call fcn.00434840
mov eax, dword [esi + 0x14]
fld qword [eax + edi]
mov ecx, dword [esi + 0x18]
fld qword [eax + edi + 8]
add eax, edi
fld qword [edi + ecx]
add esp, 4
fstp qword [eax]
mov edx, dword [esi + 0x18]
fld qword [edi + edx + 8]
mov eax, dword [esi + 0x14]
fstp qword [eax + edi + 8]
mov ecx, dword [esi + 0x18]
fxch st(1)
fstp qword [edi + ecx]
mov edx, dword [esi + 0x18]
mov ecx, dword [esp + 0x3c]
fstp qword [edi + edx + 8]
mov eax, dword [esi + 8]
mov eax, dword [eax + ecx*4]
xor byte [eax + 0x14], 1
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
fld qword [edx + edi + 8]
fsub qword [ebx + eax + 8]
fstp qword [esp + 0x88]
fld qword [esp + 0x90]
jmp 0x44dfc4
fld qword [esp + 0x68]
jmp 0x44dfc4
fstp st(0)
fld st(0)
call fcn.00418120
fld qword [esp + 0x88]
fabs
mov ecx, eax
fcomp qword [0x511048]
mov dword [esp + 0x48], ecx
fnstsw ax
test ah, 0x41
jne 0x44dff1
mov dword [esp + 0x78], 0
jmp 0x44e006
mov edx, ecx
imul edx, dword [esp + 0x78]
test edx, edx
jle 0x44e002
add dword [esp + 0x78], ecx
jmp 0x44e006
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x3c]
sub esp, 8
fstp qword [esp]
push eax
push esi
mov ebx, 1
call fcn.0044c5a0
fld qword [0x510f80]
mov al, byte [esp + 0x50]
add esp, 0x10
add dword [esp + 0xa4], ebx
jmp 0x44e03a
mov dword [esp + 0x78], 0
sub dword [esp + 0x50], 1
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x44], ecx
js 0x44e061
mov edx, dword [esp + 0x50]
cmp edx, dword [esi + 0x90]
jge 0x44d30d
test al, 0xe
jne 0x44d30d
mov edx, dword [esi + 0x90]
fstp st(0)
fldz
mov eax, edx
sar eax, 1
cmp dword [esp + 0xa0], eax
mov dword [esp + 0x54], edx
jl 0x44e15d
add edx, 0xffffffff
fld st(0)
lea eax, [edx + 1]
cmp eax, 4
mov dword [esp + 0x9c], eax
jl 0x44e0f8
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x14]
lea eax, [edx - 3]
shl eax, 4
add eax, edi
sub edi, ebx
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x9c]
mov ecx, edx
shl ecx, 4
lea ecx, [ecx + ebx - 0x10]
shr edi, 2
mov ebx, edi
neg ebx
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0x98]
fld qword [ecx + 0x10]
sub ecx, 0x40
fadd qword [eax + 0x30]
sub eax, 0x40
sub edi, 1
faddp st(1)
fld qword [ebx + ecx + 0x40]
fadd qword [ecx + 0x40]
faddp st(1)
fld qword [ecx + 0x30]
fadd qword [eax + 0x50]
faddp st(1)
fld qword [ecx + 0x20]
fadd qword [eax + 0x40]
faddp st(1)
jne 0x44e0cc
test edx, edx
jl 0x44e11c
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov eax, edx
shl eax, 4
add eax, edi
sub ecx, edi
fld qword [eax + ecx]
sub edx, 1
fadd qword [eax]
sub eax, 0x10
test edx, edx
faddp st(1)
jge 0x44e10b
fild dword [esp + 0x54]
fadd st(0), st(0)
fdivp st(1)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x44e138
fld1
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x44e15b
fstp st(1)
sub esp, 8
fstp qword [esp]
call fcn.00500340
fldz
xor ebx, ebx
fsubrp st(1)
fstp qword [esp]
push esi
call fcn.0044c9a0
fldz
add esp, 0xc
jmp 0x44e15d
fstp st(0)
mov edx, dword [esi + 0x90]
mov eax, edx
sar eax, 1
cmp dword [esp + 0xa4], eax
mov dword [esp + 0x54], edx
jl 0x44e23d
add edx, 0xffffffff
fld st(0)
lea edi, [edx + 1]
cmp edi, 4
jl 0x44e1cd
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
mov eax, edx
shl eax, 4
shr edi, 2
lea ecx, [ecx + eax - 8]
lea eax, [eax + ebx - 8]
mov ebx, edi
neg ebx
lea edx, [edx + ebx*4]
fld qword [eax + 0x10]
sub eax, 0x40
fadd qword [ecx + 0x10]
sub ecx, 0x40
sub edi, 1
faddp st(1)
fld qword [ecx + 0x40]
fadd qword [eax + 0x40]
faddp st(1)
fld qword [eax + 0x30]
fadd qword [ecx + 0x30]
faddp st(1)
fld qword [eax + 0x20]
fadd qword [ecx + 0x20]
faddp st(1)
jne 0x44e1a2
test edx, edx
jl 0x44e1f7
mov ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov eax, edx
shl eax, 4
lea ecx, [ecx + eax + 8]
lea eax, [eax + edi + 8]
fld qword [ecx]
sub edx, 1
fadd qword [eax]
sub eax, 0x10
sub ecx, 0x10
test edx, edx
faddp st(1)
jge 0x44e1e4
fild dword [esp + 0x54]
fadd st(0), st(0)
fdivp st(1)
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x44e215
fld1
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x44e23d
sub esp, 8
fstp qword [esp]
call fcn.00500340
fldz
mov ebx, 1
fsubrp st(1)
fstp qword [esp]
push esi
call fcn.0044c9a0
add esp, 0xc
xor eax, eax
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
fstp st(0)
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret