Function at 0x449c80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x404
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 0x18]
imul eax, esi
push edi
mov edi, dword [ebp + 0xc]
push eax
push edi
call fcn.00444b10
push 0xc0
lea ecx, [esp + 0x29c]
fstp qword [esp + 0x2c]
push 0
push ecx
call sub.MSVCR80.DLL_memset
add esp, 0x14
test esi, esi
jle 0x449d23
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
lea esp, [esp]
mov eax, dword [ebp + 0x1c]
inc eax
cmp eax, 1
jle 0x449d12
mov ebx, dword [esp + 0x10]
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x1c]
add ebx, 4
dec edi
lea esi, [esp + 0x290]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x10]
push edi
push ebx
push edx
call fcn.0044b840
fadd qword [esi]
add esp, 0xc
dec edi
fstp qword [esi]
add ebx, 4
add esi, 8
dec dword [esp + 0x18]
jne 0x449cf2
mov eax, dword [ebp + 0x14]
add eax, eax
add eax, eax
add dword [esp + 0x10], eax
dec dword [esp + 0x14]
jne 0x449cd0
movsd xmm4, qword [esp + 0x20]
mulsd xmm4, qword [0x45a8f8]
mov edx, dword [ebp + 0x1c]
movsd xmm0, qword [0x451328]
movsd xmm7, qword [0x451f40]
mov ecx, 0x30
lea esi, [esp + 0x290]
lea edi, [esp + 0x350]
rep movsd dword es:[edi], dword [esi]
xor esi, esi
movapd xmm6, xmm4
addsd xmm6, qword [esp + 0x20]
addsd xmm6, qword [0x45a6d8]
movsd qword [esp + 0x38], xmm4
movsd qword [esp + 0x100], xmm6
movsd qword [esp + 0x1c8], xmm6
movsd qword [esp + 0x30], xmm0
mov dword [esp + 0x18], esi
cmp edx, esi
jle 0x44a857
jmp 0x449da0
cmp dword [ebp + 0x18], 0
jle 0x44a260
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
sub eax, esi
mov dword [esp + 0x10], eax
lea eax, [eax*4 - 4]
lea ecx, [esi*4]
sub eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x2c]
movss xmm3, dword [ebx + esi*4]
lea eax, [ebx + esi*4]
movss xmm0, dword [eax + ecx]
xor eax, eax
xorps xmm1, xmm1
xorps xmm2, xmm2
cvtps2pd xmm1, xmm3
cvtps2pd xmm2, xmm0
cmp esi, 4
jl 0x449fec
mov ecx, dword [esp + 0x10]
movss xmm4, dword [ebx + ecx*4 - 4]
lea edi, [esi - 3]
lea ecx, [ebx + ecx*4 + 8]
lea edx, [ebx + esi*4 - 8]
mov edi, edi
movss xmm0, dword [edx + 4]
cvtps2pd xmm6, xmm0
xorps xmm5, xmm5
cvtss2sd xmm5, xmm3
mulsd xmm5, xmm6
movsd xmm6, qword [esp + eax*8 + 0x290]
subsd xmm6, xmm5
movss xmm5, dword [ecx - 8]
movsd qword [esp + eax*8 + 0x290], xmm6
xorps xmm6, xmm6
cvtss2sd xmm6, xmm4
cvtps2pd xmm7, xmm5
mulsd xmm6, xmm7
movsd xmm7, qword [esp + eax*8 + 0x350]
subsd xmm7, xmm6
movsd xmm6, qword [esp + eax*8 + 0x40]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm6
addsd xmm0, xmm1
cvtps2pd xmm1, xmm5
mulsd xmm1, xmm6
addsd xmm1, xmm2
movss xmm2, dword [edx]
cvtps2pd xmm6, xmm2
xorps xmm5, xmm5
cvtss2sd xmm5, xmm3
mulsd xmm5, xmm6
movsd xmm6, qword [esp + eax*8 + 0x298]
subsd xmm6, xmm5
movss xmm5, dword [ecx - 4]
movsd qword [esp + eax*8 + 0x298], xmm6
xorps xmm6, xmm6
cvtss2sd xmm6, xmm4
movsd qword [esp + eax*8 + 0x350], xmm7
cvtps2pd xmm7, xmm5
mulsd xmm6, xmm7
movsd xmm7, qword [esp + eax*8 + 0x358]
subsd xmm7, xmm6
movsd xmm6, qword [esp + eax*8 + 0x48]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm6
addsd xmm2, xmm0
cvtps2pd xmm0, xmm5
mulsd xmm0, xmm6
addsd xmm0, xmm1
movss xmm1, dword [edx - 4]
cvtps2pd xmm6, xmm1
xorps xmm5, xmm5
cvtss2sd xmm5, xmm3
mulsd xmm5, xmm6
movsd xmm6, qword [esp + eax*8 + 0x2a0]
subsd xmm6, xmm5
movss xmm5, dword [ecx]
movsd qword [esp + eax*8 + 0x2a0], xmm6
xorps xmm6, xmm6
cvtss2sd xmm6, xmm4
movsd qword [esp + eax*8 + 0x358], xmm7
cvtps2pd xmm7, xmm5
mulsd xmm6, xmm7
movsd xmm7, qword [esp + eax*8 + 0x360]
subsd xmm7, xmm6
movsd xmm6, qword [esp + eax*8 + 0x50]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm6
addsd xmm1, xmm2
xorps xmm2, xmm2
cvtps2pd xmm2, xmm5
mulsd xmm2, xmm6
xorps xmm5, xmm5
addsd xmm2, xmm0
movss xmm0, dword [edx - 8]
cvtps2pd xmm6, xmm0
cvtss2sd xmm5, xmm3
mulsd xmm5, xmm6
movsd xmm6, qword [esp + eax*8 + 0x2a8]
subsd xmm6, xmm5
movss xmm5, dword [ecx + 4]
movsd qword [esp + eax*8 + 0x2a8], xmm6
xorps xmm6, xmm6
movsd qword [esp + eax*8 + 0x360], xmm7
cvtss2sd xmm6, xmm4
xorps xmm7, xmm7
cvtps2pd xmm7, xmm5
mulsd xmm6, xmm7
movsd xmm7, qword [esp + eax*8 + 0x368]
cvtps2pd xmm0, xmm0
subsd xmm7, xmm6
movsd xmm6, qword [esp + eax*8 + 0x58]
mulsd xmm0, xmm6
addsd xmm1, xmm0
xorps xmm0, xmm0
movsd qword [esp + eax*8 + 0x368], xmm7
cvtps2pd xmm0, xmm5
add eax, 4
mulsd xmm0, xmm6
add ecx, 0x10
sub edx, 0x10
addsd xmm0, xmm2
movapd xmm2, xmm0
cmp eax, edi
jl 0x449e10
movsd xmm7, qword [0x451f40]
cmp eax, esi
jge 0x44a09d
mov edx, dword [esp + 0x10]
movss xmm6, dword [ebx + edx*4 - 4]
mov ecx, eax
sub ecx, esi
add ecx, dword [ebp + 0x14]
mov edx, esi
sub edx, eax
lea ecx, [ebx + ecx*4]
lea edx, [ebx + edx*4 - 4]
movss xmm0, dword [edx]
cvtps2pd xmm5, xmm0
xorps xmm4, xmm4
cvtss2sd xmm4, xmm3
mulsd xmm4, xmm5
movsd xmm5, qword [esp + eax*8 + 0x290]
subsd xmm5, xmm4
movss xmm4, dword [ecx]
movsd qword [esp + eax*8 + 0x290], xmm5
xorps xmm5, xmm5
xorps xmm7, xmm7
cvtss2sd xmm7, xmm6
cvtps2pd xmm5, xmm4
mulsd xmm5, xmm7
movsd xmm7, qword [esp + eax*8 + 0x350]
cvtps2pd xmm0, xmm0
subsd xmm7, xmm5
movsd xmm5, qword [esp + eax*8 + 0x40]
mulsd xmm0, xmm5
addsd xmm1, xmm0
xorps xmm0, xmm0
movsd qword [esp + eax*8 + 0x350], xmm7
cvtps2pd xmm0, xmm4
inc eax
mulsd xmm0, xmm5
add ecx, 4
sub edx, 4
addsd xmm0, xmm2
movapd xmm2, xmm0
cmp eax, esi
jl 0x44a010
movsd xmm7, qword [0x451f40]
xor eax, eax
test esi, esi
js 0x44a24d
lea ecx, [esi + 1]
cmp ecx, 4
jl 0x44a1e1
mov ecx, dword [esp + 0x10]
lea edi, [esi - 3]
lea ecx, [ebx + ecx*4 + 4]
lea edx, [ebx + esi*4 - 8]
movss xmm0, dword [edx + 8]
movsd xmm3, qword [esp + eax*8 + 0x100]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
subsd xmm3, xmm0
movss xmm0, dword [ecx - 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
movsd qword [esp + eax*8 + 0x100], xmm3
movsd xmm3, qword [esp + eax*8 + 0x1c8]
subsd xmm3, xmm0
movss xmm0, dword [edx + 4]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
movsd qword [esp + eax*8 + 0x1c8], xmm3
movsd xmm3, qword [esp + eax*8 + 0x108]
subsd xmm3, xmm0
movss xmm0, dword [ecx - 4]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
movsd qword [esp + eax*8 + 0x108], xmm3
movsd xmm3, qword [esp + eax*8 + 0x1d0]
subsd xmm3, xmm0
movss xmm0, dword [edx]
cvtps2pd xmm0, xmm0
movsd qword [esp + eax*8 + 0x1d0], xmm3
movsd xmm3, qword [esp + eax*8 + 0x110]
mulsd xmm0, xmm1
subsd xmm3, xmm0
movss xmm0, dword [ecx]
movsd qword [esp + eax*8 + 0x110], xmm3
movsd xmm3, qword [esp + eax*8 + 0x1d8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
subsd xmm3, xmm0
movss xmm0, dword [edx - 4]
movsd qword [esp + eax*8 + 0x1d8], xmm3
movsd xmm3, qword [esp + eax*8 + 0x118]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
subsd xmm3, xmm0
movss xmm0, dword [ecx + 4]
movsd qword [esp + eax*8 + 0x118], xmm3
movsd xmm3, qword [esp + eax*8 + 0x1e0]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
subsd xmm3, xmm0
movsd qword [esp + eax*8 + 0x1e0], xmm3
add eax, 4
add ecx, 0x10
sub edx, 0x10
cmp eax, edi
jle 0x44a0c2
cmp eax, esi
jg 0x44a24d
mov ecx, eax
mov edx, esi
sub ecx, esi
sub edx, eax
add ecx, dword [ebp + 0x14]
lea edx, [ebx + edx*4]
lea ecx, [ebx + ecx*4 - 4]
jmp 0x44a200
movss xmm0, dword [edx]
movsd xmm3, qword [esp + eax*8 + 0x100]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
subsd xmm3, xmm0
movss xmm0, dword [ecx]
movsd qword [esp + eax*8 + 0x100], xmm3
movsd xmm3, qword [esp + eax*8 + 0x1c8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
subsd xmm3, xmm0
movsd qword [esp + eax*8 + 0x1c8], xmm3
inc eax
add ecx, 4
sub edx, 4
cmp eax, esi
jle 0x44a200
mov eax, dword [ebp + 0x14]
add eax, eax
add eax, eax
add ebx, eax
dec dword [esp + 0x14]
jne 0x449dd1
movsd xmm1, qword [esp + esi*8 + 0x290]
movsd xmm5, qword [esp + esi*8 + 0x350]
xor ecx, ecx
cmp esi, 4
jl 0x44a36f
lea edx, [esp + 0x350]
mov ebx, edx
sub ebx, 0x10
mov dword [esp + 0x2c], ebx
lea edi, [esp + 0x290]
mov ebx, edi
sub ebx, 0x10
mov dword [esp + 0x14], ebx
mov ebx, edx
sub ebx, 0x18
mov dword [esp + 0x10], ebx
mov ebx, edi
sub ebx, 0x18
lea eax, [esi*8 - 8]
mov dword [esp + 0x1c], ebx
jmp 0x44a2c0
movsd xmm2, qword [esp + ecx*8 + 0x40]
movsd xmm0, qword [esp + eax + 0x350]
movsd xmm3, qword [esp + ecx*8 + 0x48]
mov ebx, dword [esp + 0x2c]
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd xmm1, qword [esp + eax + 0x290]
mulsd xmm1, xmm2
movsd xmm2, qword [edx + eax - 8]
mulsd xmm2, xmm3
addsd xmm2, xmm0
movsd xmm0, qword [edi + eax - 8]
addsd xmm1, xmm5
mulsd xmm0, xmm3
movsd xmm3, qword [esp + ecx*8 + 0x50]
addsd xmm0, xmm1
movsd xmm1, qword [ebx + eax]
mov ebx, dword [esp + 0x14]
mulsd xmm1, xmm3
addsd xmm1, xmm2
movsd xmm2, qword [ebx + eax]
mov ebx, dword [esp + 0x10]
mulsd xmm2, xmm3
movsd xmm3, qword [ebx + eax]
mov ebx, dword [esp + 0x1c]
movsd xmm5, qword [ebx + eax]
addsd xmm2, xmm0
movsd xmm0, qword [esp + ecx*8 + 0x58]
add ecx, 4
lea ebx, [esi - 3]
mulsd xmm3, xmm0
sub eax, 0x20
addsd xmm3, xmm1
mulsd xmm5, xmm0
movapd xmm1, xmm3
addsd xmm5, xmm2
cmp ecx, ebx
jl 0x44a2c0
cmp ecx, esi
jge 0x44a3b4
mov edx, esi
sub edx, ecx
lea eax, [edx*8 - 8]
mov edi, edi
movsd xmm0, qword [esp + ecx*8 + 0x40]
movsd xmm2, qword [esp + eax + 0x350]
mulsd xmm2, xmm0
addsd xmm1, xmm2
movsd xmm2, qword [esp + eax + 0x290]
inc ecx
mulsd xmm2, xmm0
sub eax, 8
addsd xmm2, xmm5
movapd xmm5, xmm2
cmp ecx, esi
jl 0x44a380
movsd qword [esp + esi*8 + 0x108], xmm1
movsd xmm6, qword [esp + 0x100]
xor eax, eax
movsd qword [esp + esi*8 + 0x1d0], xmm5
movsd xmm2, qword [esp + 0x1c8]
movapd xmm4, xmm6
cmp esi, 4
jl 0x44a4d6
lea edx, [esi - 3]
lea ecx, [esp + esi*8 + 0x1b8]
movsd xmm3, qword [esp + eax*8 + 0x40]
movsd xmm1, qword [esp + eax*8 + 0x1d0]
movsd xmm0, qword [ecx + 0x10]
mulsd xmm1, xmm3
addsd xmm1, xmm2
movsd xmm2, qword [esp + eax*8 + 0x108]
mulsd xmm0, xmm3
addsd xmm0, xmm5
movsd xmm5, qword [esp + eax*8 + 0x48]
mulsd xmm2, xmm3
movsd xmm3, qword [ecx + 8]
addsd xmm2, xmm4
movsd xmm4, qword [esp + eax*8 + 0x1d8]
mulsd xmm4, xmm5
addsd xmm4, xmm1
movsd xmm1, qword [esp + eax*8 + 0x110]
mulsd xmm3, xmm5
addsd xmm3, xmm0
mulsd xmm1, xmm5
movsd xmm5, qword [esp + eax*8 + 0x50]
movapd xmm0, xmm5
mulsd xmm0, qword [ecx]
addsd xmm0, xmm3
movsd xmm3, qword [esp + eax*8 + 0x118]
addsd xmm1, xmm2
movsd xmm2, qword [esp + eax*8 + 0x1e0]
mulsd xmm2, xmm5
mulsd xmm3, xmm5
movsd xmm5, qword [ecx - 8]
addsd xmm2, xmm4
movsd xmm4, qword [esp + eax*8 + 0x120]
addsd xmm3, xmm1
movsd xmm1, qword [esp + eax*8 + 0x58]
mulsd xmm5, xmm1
addsd xmm5, xmm0
movsd xmm0, qword [esp + eax*8 + 0x1e8]
add eax, 4
mulsd xmm0, xmm1
sub ecx, 0x20
addsd xmm0, xmm2
mulsd xmm4, xmm1
movapd xmm2, xmm0
addsd xmm4, xmm3
cmp eax, edx
jl 0x44a3f1
cmp eax, esi
jge 0x44a530
mov ecx, esi
sub ecx, eax
lea ecx, [esp + ecx*8 + 0x1c8]
jmp 0x44a4f0
movsd xmm0, qword [esp + eax*8 + 0x40]
movsd xmm1, qword [ecx]
mulsd xmm1, xmm0
addsd xmm5, xmm1
movsd xmm1, qword [esp + eax*8 + 0x1d0]
mulsd xmm1, xmm0
addsd xmm2, xmm1
movsd xmm1, qword [esp + eax*8 + 0x108]
inc eax
mulsd xmm1, xmm0
sub ecx, 8
addsd xmm1, xmm4
movapd xmm4, xmm1
cmp eax, esi
jl 0x44a4f0
movsd xmm1, qword [0x451328]
movsd xmm3, qword [esp + 0x30]
addsd xmm4, xmm2
movapd xmm0, xmm5
mulsd xmm0, qword [0x451570]
divsd xmm0, xmm4
movapd xmm2, xmm0
mulsd xmm2, xmm0
subsd xmm1, xmm2
movss xmm2, dword [ebp + 0x10]
xorps xmm4, xmm4
mulsd xmm1, xmm3
cvtps2pd xmm4, xmm2
comisd xmm4, xmm1
jb 0x44a5a9
comisd xmm5, xmmword [0x45a6c0]
movsd xmm1, qword [0x451328]
xorps xmm0, xmm0
cvtps2pd xmm0, xmm2
divsd xmm0, xmm3
subsd xmm1, xmm0
sqrtsd xmm0, xmm1
jbe 0x44a59b
xorpd xmm0, xmm7
xorps xmm1, xmm1
cvtps2pd xmm1, xmm2
mov dword [esp + 0x18], 1
lea ebx, [esi + 1]
mov edx, ebx
sar edx, 1
xor ecx, ecx
movsd qword [esp + 0x30], xmm1
cmp edx, 4
jl 0x44a694
lea edi, [edx - 3]
lea eax, [esp + esi*8 + 0x30]
jmp 0x44a5d0
movsd xmm2, qword [eax + 8]
movsd xmm1, qword [esp + ecx*8 + 0x40]
movapd xmm3, xmm0
mulsd xmm3, xmm2
addsd xmm3, xmm1
movsd qword [esp + ecx*8 + 0x40], xmm3
movapd xmm3, xmm0
mulsd xmm3, xmm1
addsd xmm3, xmm2
movsd xmm2, qword [eax]
movsd qword [eax + 8], xmm3
movsd xmm1, qword [esp + ecx*8 + 0x48]
movapd xmm3, xmm0
mulsd xmm3, xmm2
addsd xmm3, xmm1
movsd qword [esp + ecx*8 + 0x48], xmm3
movapd xmm3, xmm0
mulsd xmm3, xmm1
addsd xmm3, xmm2
movsd xmm2, qword [eax - 8]
movsd qword [eax], xmm3
movsd xmm1, qword [esp + ecx*8 + 0x50]
movapd xmm3, xmm0
mulsd xmm3, xmm2
addsd xmm3, xmm1
movsd qword [esp + ecx*8 + 0x50], xmm3
movapd xmm3, xmm0
mulsd xmm3, xmm1
addsd xmm3, xmm2
movsd xmm2, qword [eax - 0x10]
movsd qword [eax - 8], xmm3
movsd xmm1, qword [esp + ecx*8 + 0x58]
movapd xmm3, xmm0
mulsd xmm3, xmm2
addsd xmm3, xmm1
movsd qword [esp + ecx*8 + 0x58], xmm3
movapd xmm3, xmm0
mulsd xmm3, xmm1
addsd xmm3, xmm2
movsd qword [eax - 0x10], xmm3
add ecx, 4
sub eax, 0x20
cmp ecx, edi
jl 0x44a5d0
cmp ecx, edx
jge 0x44a6d4
mov eax, esi
sub eax, ecx
lea eax, [esp + eax*8 + 0x38]
movsd xmm2, qword [eax]
movsd xmm1, qword [esp + ecx*8 + 0x40]
movapd xmm3, xmm0
mulsd xmm3, xmm2
addsd xmm3, xmm1
movsd qword [esp + ecx*8 + 0x40], xmm3
movapd xmm3, xmm0
mulsd xmm3, xmm1
addsd xmm3, xmm2
movsd qword [eax], xmm3
inc ecx
sub eax, 8
cmp ecx, edx
jl 0x44a6a0
cmp dword [esp + 0x18], 0
movsd qword [esp + esi*8 + 0x40], xmm0
jne 0x44a9a7
xor ecx, ecx
test ebx, ebx
js 0x44a843
lea edx, [ebx + 1]
cmp edx, 4
jl 0x44a7ec
lea edx, [ebx - 3]
lea eax, [esp + esi*8 + 0x1b8]
jmp 0x44a710
movsd xmm1, qword [esp + ecx*8 + 0x100]
movsd xmm3, qword [eax + 0x18]
mulsd xmm3, xmm0
addsd xmm3, xmm1
movsd qword [esp + ecx*8 + 0x100], xmm3
movsd xmm2, qword [eax]
movapd xmm3, xmm0
mulsd xmm3, xmm1
addsd xmm3, qword [eax + 0x18]
movsd xmm1, qword [esp + ecx*8 + 0x108]
movsd qword [eax + 0x18], xmm3
movsd xmm3, qword [eax + 0x10]
mulsd xmm3, xmm0
addsd xmm3, xmm1
movsd qword [esp + ecx*8 + 0x108], xmm3
movapd xmm3, xmm0
mulsd xmm3, xmm1
addsd xmm3, qword [eax + 0x10]
movsd xmm1, qword [esp + ecx*8 + 0x110]
movsd qword [eax + 0x10], xmm3
movsd xmm3, qword [eax + 8]
mulsd xmm3, xmm0
addsd xmm3, xmm1
movsd qword [esp + ecx*8 + 0x110], xmm3
movapd xmm3, xmm0
mulsd xmm3, xmm1
addsd xmm3, qword [eax + 8]
movsd xmm1, qword [esp + ecx*8 + 0x118]
movsd qword [eax + 8], xmm3
movapd xmm3, xmm2
mulsd xmm3, xmm0
addsd xmm3, xmm1
movsd qword [esp + ecx*8 + 0x118], xmm3
movapd xmm3, xmm0
mulsd xmm3, xmm1
addsd xmm3, xmm2
movsd qword [eax], xmm3
add ecx, 4
sub eax, 0x20
cmp ecx, edx
jle 0x44a710
movsd xmm6, qword [esp + 0x100]
cmp ecx, ebx
jg 0x44a843
sub esi, ecx
lea esi, [esp + esi*8 + 0x1d0]
lea esp, [esp]
movsd xmm2, qword [esi]
movsd xmm1, qword [esp + ecx*8 + 0x100]
movapd xmm3, xmm2
mulsd xmm3, xmm0
addsd xmm3, xmm1
movsd qword [esp + ecx*8 + 0x100], xmm3
movapd xmm3, xmm0
mulsd xmm3, xmm1
addsd xmm3, xmm2
movsd qword [esi], xmm3
inc ecx
sub esi, 8
cmp ecx, ebx
jle 0x44a800
movsd xmm6, qword [esp + 0x100]
mov esi, ebx
cmp esi, dword [ebp + 0x1c]
jl 0x449da0
movsd xmm4, qword [esp + 0x38]
mov edx, dword [ebp + 0x1c]
movsd xmm3, qword [0x451328]
mov edi, dword [ebp + 8]
xor eax, eax
movapd xmm2, xmm6
cmp edx, 4
jl 0x44a94d
lea esi, [edx - 3]
lea ecx, [edi + 8]
jmp 0x44a880
movsd xmm0, qword [esp + eax*8 + 0x40]
movsd xmm1, qword [esp + eax*8 + 0x108]
mulsd xmm1, xmm0
addsd xmm1, xmm2
movapd xmm2, xmm0
mulsd xmm2, xmm0
addsd xmm2, xmm3
movsd xmm3, qword [esp + eax*8 + 0x110]
xorpd xmm0, xmm7
cvtpd2ps xmm0, xmm0
movss dword [ecx - 8], xmm0
movsd xmm0, qword [esp + eax*8 + 0x48]
mulsd xmm3, xmm0
addsd xmm3, xmm1
movapd xmm1, xmm0
mulsd xmm1, xmm0
addsd xmm1, xmm2
movsd xmm2, qword [esp + eax*8 + 0x118]
xorpd xmm0, xmm7
cvtpd2ps xmm0, xmm0
movss dword [ecx - 4], xmm0
movsd xmm0, qword [esp + eax*8 + 0x50]
mulsd xmm2, xmm0
addsd xmm2, xmm3
movapd xmm3, xmm0
mulsd xmm3, xmm0
xorpd xmm0, xmm7
addsd xmm3, xmm1
movsd xmm1, qword [esp + eax*8 + 0x120]
cvtpd2ps xmm0, xmm0
movss dword [ecx], xmm0
movsd xmm0, qword [esp + eax*8 + 0x58]
mulsd xmm1, xmm0
addsd xmm2, xmm1
movapd xmm1, xmm0
mulsd xmm1, xmm0
xorpd xmm0, xmm7
cvtpd2ps xmm0, xmm0
movss dword [ecx + 4], xmm0
add eax, 4
add ecx, 0x10
addsd xmm3, xmm1
cmp eax, esi
jl 0x44a880
cmp eax, edx
jge 0x44a986
movsd xmm0, qword [esp + eax*8 + 0x40]
movsd xmm1, qword [esp + eax*8 + 0x108]
mulsd xmm1, xmm0
addsd xmm2, xmm1
movapd xmm1, xmm0
mulsd xmm1, xmm0
xorpd xmm0, xmm7
cvtpd2ps xmm0, xmm0
movss dword [edi + eax*4], xmm0
inc eax
addsd xmm3, xmm1
cmp eax, edx
jl 0x44a951
mulsd xmm4, xmm3
subsd xmm2, xmm4
movsd qword [esp + 0x20], xmm2
fld qword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x1c]
inc esi
cmp esi, edi
jge 0x44a9c7
mov ecx, dword [ebp + 0x1c]
sub ecx, esi
add ecx, ecx
and ecx, 0x3ffffffe
lea edi, [esp + esi*8 + 0x40]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
xor eax, eax
cmp edi, 4
jl 0x44aa35
lea edx, [edi - 3]
lea ecx, [esi + 8]
jmp 0x44a9e0
movsd xmm0, qword [esp + eax*8 + 0x40]
xorpd xmm0, xmm7
cvtpd2ps xmm0, xmm0
movss dword [ecx - 8], xmm0
movsd xmm0, qword [esp + eax*8 + 0x48]
xorpd xmm0, xmm7
cvtpd2ps xmm0, xmm0
movss dword [ecx - 4], xmm0
movsd xmm0, qword [esp + eax*8 + 0x50]
xorpd xmm0, xmm7
cvtpd2ps xmm0, xmm0
movss dword [ecx], xmm0
movsd xmm0, qword [esp + eax*8 + 0x58]
xorpd xmm0, xmm7
cvtpd2ps xmm0, xmm0
movss dword [ecx + 4], xmm0
add eax, 4
add ecx, 0x10
cmp eax, edx
jl 0x44a9e0
cmp eax, edi
jge 0x44aa58
lea esp, [esp]
movsd xmm0, qword [esp + eax*8 + 0x40]
xorpd xmm0, xmm7
cvtpd2ps xmm0, xmm0
movss dword [esi + eax*4], xmm0
inc eax
cmp eax, edi
jl 0x44aa40
mov ebx, dword [ebp + 0x18]
test ebx, ebx
jle 0x44aa89
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
lea ecx, [eax*4]
mov dword [esp + 0x1c], ecx
push edi
push esi
call fcn.00444b10
fsubr qword [esp + 0x28]
add esi, dword [esp + 0x24]
add esp, 8
dec ebx
fstp qword [esp + 0x20]
jne 0x44aa70
movsd xmm0, qword [esp + 0x30]
mulsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
pop edi
fstp dword [esp + 0x18]
pop esi
fld dword [esp + 0x14]
pop ebx
mov esp, ebp
pop ebp
ret