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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x644
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
test edx, edx
mov dword [esp + 0x5fc], edx
jle 0x422aa4
mov eax, 0x38e38e39
mov ebx, edx
mov ecx, ebx
imul ebx
sar edx, 1
sar ecx, 0x1f
sub edx, ecx
mov esi, dword [ebp + 0xc]
mov edi, dword [esi]
lea ecx, [edx + edx*8]
neg ecx
add ecx, ebx
mov dword [esp + 0x5f0], edi
test ecx, ecx
jle 0x424113
mov ebx, edi
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
lea esi, [edx + ebx*8]
mov dword [esp + 0x30], esi
and esi, 0xf
mov eax, dword [eax]
mov dword [esp + 4], esi
je 0x41d1bd
test byte [esp + 4], 7
jne 0x4231e6
mov dword [esp + 4], 1
mov edx, dword [esp + 4]
lea ebx, [edx + 2]
cmp ecx, ebx
jl 0x4231e6
mov ebx, dword [ebp + 0x10]
lea edi, [eax + eax*4]
mov edx, ecx
mov esi, dword [esp + 4]
sub edx, esi
and edx, 1
lea edi, [ebx + edi*8]
mov dword [esp + 0x38], edi
mov edi, eax
shl edi, 5
neg edx
add edi, ebx
add edx, ecx
mov dword [esp + 0x48], edi
lea edi, [eax + eax*2]
lea edi, [ebx + edi*8]
mov dword [esp + 0x3c], edi
mov edi, eax
lea eax, [ebx + eax*8]
shl edi, 4
add edi, ebx
mov dword [esp + 0x44], edi
test esi, esi
mov dword [esp + 0x40], eax
jbe 0x4240fb
mov dword [esp + 0x34], ecx
xor eax, eax
pxor xmm6, xmm6
movaps xmm4, xmm6
movaps xmm3, xmm4
movaps xmm1, xmm3
mov dword [esp], edx
movaps xmm7, xmm1
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x48]
mov edx, edi
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
movsd xmm0, qword [ecx + eax*8]
movsd xmm5, qword [esi + eax*8 + 0x30]
movsd xmm2, qword [edi + eax*8 + 0x50]
mulsd xmm2, xmm0
mulsd xmm5, xmm0
addsd xmm7, xmm2
addsd xmm1, xmm5
mov edi, dword [esp + 0x3c]
movsd xmm5, qword [edx + eax*8 + 8]
mulsd xmm5, xmm0
movsd xmm2, qword [edi + eax*8 + 0x18]
addsd xmm4, xmm5
mulsd xmm2, xmm0
mulsd xmm0, qword [ebx + eax*8]
addsd xmm3, xmm2
addsd xmm6, xmm0
inc eax
cmp eax, dword [esp + 4]
jb 0x41d23e
mov ecx, dword [esp + 0x34]
mov edx, dword [esp]
pxor xmm0, xmm0
mov dword [esp + 0x34], ecx
pxor xmm2, xmm2
pxor xmm5, xmm5
movsd xmm2, xmm7
movsd xmm5, xmm4
pxor xmm7, xmm7
movsd xmm7, xmm1
pxor xmm1, xmm1
movsd xmm1, xmm3
pxor xmm3, xmm3
mov ecx, dword [esp + 0x30]
movsd xmm3, xmm6
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 4]
movsd xmm4, qword [esi + ebx*8 + 0x50]
movhpd xmm4, qword [esi + ebx*8 + 0x58]
mulpd xmm4, xmmword [ecx + ebx*8]
movsd xmm6, qword [eax + ebx*8 + 0x30]
movhpd xmm6, qword [eax + ebx*8 + 0x38]
mov edi, dword [esp + 0x3c]
mulpd xmm6, xmmword [ecx + ebx*8]
addpd xmm2, xmm4
addpd xmm7, xmm6
movsd xmm4, qword [edi + ebx*8 + 0x18]
movhpd xmm4, qword [edi + ebx*8 + 0x20]
mulpd xmm4, xmmword [ecx + ebx*8]
mov edi, dword [esp + 0x44]
addpd xmm1, xmm4
movsd xmm6, qword [edi + ebx*8 + 8]
movhpd xmm6, qword [edi + ebx*8 + 0x10]
mov edi, dword [esp + 0x40]
mulpd xmm6, xmmword [ecx + ebx*8]
movsd xmm4, qword [edi + ebx*8]
movhpd xmm4, qword [edi + ebx*8 + 8]
mulpd xmm4, xmmword [ecx + ebx*8]
addpd xmm5, xmm6
addpd xmm3, xmm4
add ebx, 2
cmp ebx, edx
jb 0x41d2da
movaps xmm4, xmm3
movaps xmm6, xmm5
unpckhpd xmm4, xmm3
unpckhpd xmm6, xmm5
addsd xmm3, xmm4
addsd xmm5, xmm6
movsd qword [esp + 0x540], xmm3
movaps xmm3, xmm1
unpckhpd xmm3, xmm1
mov ecx, dword [esp + 0x34]
addsd xmm1, xmm3
movaps xmm3, xmm7
movsd qword [esp + 0x558], xmm1
movaps xmm1, xmm2
unpckhpd xmm3, xmm7
unpckhpd xmm1, xmm2
addsd xmm7, xmm3
addsd xmm2, xmm1
movsd qword [esp + 0x550], xmm5
movsd qword [esp + 0x548], xmm7
movsd qword [esp + 0x538], xmm2
cmp edx, ecx
jae 0x41d486
movsd xmm7, qword [esp + 0x538]
movsd xmm2, qword [esp + 0x548]
movsd xmm3, qword [esp + 0x558]
movsd xmm4, qword [esp + 0x550]
movsd xmm1, qword [esp + 0x540]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
movsd xmm6, qword [esi + edx*8]
mulsd xmm6, qword [eax + edx*8]
movsd xmm5, qword [edi + edx*8 + 0x50]
addsd xmm1, xmm6
mulsd xmm5, qword [esi + edx*8]
mov edi, dword [esp + 0x3c]
addsd xmm7, xmm5
movsd xmm5, qword [ebx + edx*8 + 0x30]
mulsd xmm5, qword [esi + edx*8]
addsd xmm2, xmm5
movsd xmm5, qword [edi + edx*8 + 0x18]
mulsd xmm5, qword [esi + edx*8]
mov edi, dword [esp + 0x44]
addsd xmm3, xmm5
movsd xmm5, qword [edi + edx*8 + 8]
mulsd xmm5, qword [esi + edx*8]
inc edx
cmp edx, ecx
addsd xmm4, xmm5
jb 0x41d3fe
movsd qword [esp + 0x538], xmm7
movsd qword [esp + 0x548], xmm2
movsd qword [esp + 0x558], xmm3
movsd qword [esp + 0x550], xmm4
movsd qword [esp + 0x540], xmm1
mov edx, dword [esp + 0x5f0]
shl edx, 4
mov eax, dword [ebp + 8]
lea ebx, [eax + edx + 8]
and ebx, 0xf
je 0x41d4a8
test bl, 7
jne 0x423252
push 1
pop ebx
lea eax, [ebx + 2]
cmp ecx, eax
jl 0x423252
mov esi, ecx
sub esi, ebx
and esi, 1
neg esi
add edx, dword [ebp + 8]
add esi, ecx
test ebx, ebx
jbe 0x4240e7
mov dword [esp + 0x34], ecx
xor eax, eax
pxor xmm6, xmm6
movaps xmm4, xmm6
movaps xmm3, xmm4
movaps xmm1, xmm3
mov dword [esp], esi
movaps xmm5, xmm1
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
movsd xmm2, qword [ecx + eax*8 + 0x50]
mulsd xmm2, qword [edx + eax*8 + 8]
mov edi, dword [esp + 0x48]
addsd xmm5, xmm2
movsd xmm2, qword [edi + eax*8 + 0x30]
mulsd xmm2, qword [edx + eax*8 + 8]
mov edi, dword [esp + 0x44]
addsd xmm1, xmm2
movsd xmm2, qword [esi + eax*8 + 0x18]
mulsd xmm2, qword [edx + eax*8 + 8]
movsd xmm7, qword [edx + eax*8 + 8]
addsd xmm3, xmm2
movsd xmm2, qword [edi + eax*8 + 8]
mov edi, dword [esp + 0x40]
mulsd xmm2, qword [edx + eax*8 + 8]
mulsd xmm7, qword [edi + eax*8]
addsd xmm4, xmm2
addsd xmm6, xmm7
inc eax
cmp eax, ebx
jb 0x41d4ea
mov ecx, dword [esp + 0x34]
mov esi, dword [esp]
mov dword [esp + 0x34], ecx
pxor xmm7, xmm7
pxor xmm2, xmm2
movsd xmm7, xmm1
movsd xmm2, xmm5
pxor xmm1, xmm1
movsd xmm1, xmm3
pxor xmm5, xmm5
pxor xmm3, xmm3
movsd xmm5, xmm4
mov eax, dword [esp + 0x48]
movsd xmm3, xmm6
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
movsd xmm6, qword [eax + ebx*8 + 0x30]
movhpd xmm6, qword [eax + ebx*8 + 0x38]
movsd xmm4, qword [edi + ebx*8 + 0x50]
movhpd xmm4, qword [edi + ebx*8 + 0x58]
mulpd xmm4, xmmword [edx + ebx*8 + 8]
mulpd xmm6, xmmword [edx + ebx*8 + 8]
addpd xmm2, xmm4
addpd xmm7, xmm6
movsd xmm4, qword [ecx + ebx*8 + 0x18]
movhpd xmm4, qword [ecx + ebx*8 + 0x20]
mulpd xmm4, xmmword [edx + ebx*8 + 8]
mov edi, dword [esp + 0x44]
addpd xmm1, xmm4
movsd xmm6, qword [edi + ebx*8 + 8]
movhpd xmm6, qword [edi + ebx*8 + 0x10]
mov edi, dword [esp + 0x40]
mulpd xmm6, xmmword [edx + ebx*8 + 8]
movsd xmm4, qword [edi + ebx*8]
movhpd xmm4, qword [edi + ebx*8 + 8]
mulpd xmm4, xmmword [edx + ebx*8 + 8]
addpd xmm5, xmm6
addpd xmm3, xmm4
add ebx, 2
cmp ebx, esi
jb 0x41d585
movaps xmm4, xmm3
movaps xmm6, xmm5
unpckhpd xmm4, xmm3
unpckhpd xmm6, xmm5
addsd xmm3, xmm4
addsd xmm5, xmm6
movsd qword [esp + 0x560], xmm3
movaps xmm3, xmm1
unpckhpd xmm3, xmm1
mov ecx, dword [esp + 0x34]
addsd xmm1, xmm3
movaps xmm3, xmm7
movsd qword [esp + 0x570], xmm1
movaps xmm1, xmm2
unpckhpd xmm3, xmm7
unpckhpd xmm1, xmm2
addsd xmm7, xmm3
addsd xmm2, xmm1
movsd qword [esp + 0x568], xmm5
movsd qword [esp + 0x578], xmm7
movsd qword [esp + 0x580], xmm2
cmp esi, ecx
jae 0x41d737
movsd xmm7, qword [esp + 0x580]
movsd xmm2, qword [esp + 0x578]
movsd xmm3, qword [esp + 0x570]
movsd xmm4, qword [esp + 0x568]
movsd xmm1, qword [esp + 0x560]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
movsd xmm6, qword [edx + esi*8 + 8]
movsd xmm5, qword [edi + esi*8 + 0x50]
mulsd xmm5, qword [edx + esi*8 + 8]
mov edi, dword [esp + 0x44]
addsd xmm7, xmm5
movsd xmm5, qword [eax + esi*8 + 0x30]
mulsd xmm5, qword [edx + esi*8 + 8]
addsd xmm2, xmm5
movsd xmm5, qword [ebx + esi*8 + 0x18]
mulsd xmm5, qword [edx + esi*8 + 8]
addsd xmm3, xmm5
movsd xmm5, qword [edi + esi*8 + 8]
mulsd xmm5, qword [edx + esi*8 + 8]
mov edi, dword [esp + 0x40]
addsd xmm4, xmm5
mulsd xmm6, qword [edi + esi*8]
inc esi
addsd xmm1, xmm6
cmp esi, ecx
jb 0x41d6aa
movsd qword [esp + 0x580], xmm7
movsd qword [esp + 0x578], xmm2
movsd qword [esp + 0x570], xmm3
movsd qword [esp + 0x568], xmm4
movsd qword [esp + 0x560], xmm1
mov edi, dword [esp + 0x5f0]
mov eax, dword [ebp + 8]
lea edi, [edi + edi*2]
lea ebx, [eax + edi*8 + 8]
and ebx, 0xf
mov dword [esp + 4], ebx
je 0x41d764
test byte [esp + 4], 7
jne 0x42328d
mov dword [esp + 4], 1
mov eax, dword [esp + 4]
lea ebx, [eax + 2]
cmp ecx, ebx
jl 0x42328d
mov ebx, ecx
sub ebx, eax
mov esi, dword [ebp + 8]
and ebx, 1
neg ebx
add ebx, ecx
test eax, eax
lea esi, [esi + edi*8]
mov dword [esp + 0x50], esi
jbe 0x4240d3
mov dword [esp + 0x34], ecx
xor eax, eax
pxor xmm6, xmm6
movaps xmm4, xmm6
movaps xmm3, xmm4
movaps xmm1, xmm3
mov dword [esp], ebx
movaps xmm5, xmm1
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5f4], edi
mov ecx, esi
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
movsd xmm7, qword [ecx + eax*8 + 0x18]
movsd xmm2, qword [edi + eax*8 + 0x50]
mulsd xmm2, qword [ecx + eax*8 + 0x18]
mov edi, dword [esp + 0x40]
addsd xmm5, xmm2
mulsd xmm7, qword [edi + eax*8]
movsd xmm2, qword [esi + eax*8 + 0x30]
addsd xmm6, xmm7
mulsd xmm2, qword [ecx + eax*8 + 0x18]
addsd xmm1, xmm2
movsd xmm2, qword [edx + eax*8 + 0x18]
mulsd xmm2, qword [ecx + eax*8 + 0x18]
addsd xmm3, xmm2
movsd xmm2, qword [ebx + eax*8 + 8]
mulsd xmm2, qword [ecx + eax*8 + 0x18]
inc eax
addsd xmm4, xmm2
cmp eax, dword [esp + 4]
jb 0x41d7c2
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x5f4]
mov ebx, dword [esp]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x34], ecx
pxor xmm7, xmm7
pxor xmm2, xmm2
movsd xmm7, xmm1
movsd xmm2, xmm5
pxor xmm1, xmm1
movsd xmm1, xmm3
pxor xmm5, xmm5
pxor xmm3, xmm3
movsd xmm5, xmm4
mov dword [esp + 0x4c], edx
movsd xmm3, xmm6
mov dword [esp + 0x5f4], edi
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
movsd xmm6, qword [eax + ecx*8 + 0x30]
movhpd xmm6, qword [eax + ecx*8 + 0x38]
movsd xmm4, qword [edi + ecx*8 + 0x50]
movhpd xmm4, qword [edi + ecx*8 + 0x58]
mulpd xmm4, xmmword [edx + ecx*8 + 0x18]
mulpd xmm6, xmmword [edx + ecx*8 + 0x18]
addpd xmm2, xmm4
addpd xmm7, xmm6
movsd xmm4, qword [esi + ecx*8 + 0x18]
movhpd xmm4, qword [esi + ecx*8 + 0x20]
mulpd xmm4, xmmword [edx + ecx*8 + 0x18]
mov edi, dword [esp + 0x44]
addpd xmm1, xmm4
movsd xmm6, qword [edi + ecx*8 + 8]
movhpd xmm6, qword [edi + ecx*8 + 0x10]
mov edi, dword [esp + 0x40]
mulpd xmm6, xmmword [edx + ecx*8 + 0x18]
movsd xmm4, qword [edi + ecx*8]
movhpd xmm4, qword [edi + ecx*8 + 8]
mulpd xmm4, xmmword [edx + ecx*8 + 0x18]
addpd xmm5, xmm6
addpd xmm3, xmm4
add ecx, 2
cmp ecx, ebx
jb 0x41d879
movaps xmm4, xmm3
movaps xmm6, xmm5
unpckhpd xmm4, xmm3
unpckhpd xmm6, xmm5
addsd xmm3, xmm4
addsd xmm5, xmm6
movsd qword [esp + 0x5a0], xmm3
movaps xmm3, xmm1
unpckhpd xmm3, xmm1
mov ecx, dword [esp + 0x34]
addsd xmm1, xmm3
movaps xmm3, xmm7
movsd qword [esp + 0x5a8], xmm1
movaps xmm1, xmm2
unpckhpd xmm3, xmm7
unpckhpd xmm1, xmm2
addsd xmm7, xmm3
addsd xmm2, xmm1
mov edi, dword [esp + 0x5f4]
mov edx, dword [esp + 0x4c]
movsd qword [esp + 0x588], xmm5
movsd qword [esp + 0x590], xmm7
movsd qword [esp + 0x598], xmm2
cmp ebx, ecx
jae 0x41da50
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5f4], edi
movsd xmm7, qword [esp + 0x598]
movsd xmm2, qword [esp + 0x590]
movsd xmm3, qword [esp + 0x5a8]
movsd xmm4, qword [esp + 0x588]
movsd xmm1, qword [esp + 0x5a0]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
movsd xmm6, qword [edx + ebx*8 + 0x18]
movsd xmm5, qword [edi + ebx*8 + 0x50]
mulsd xmm5, qword [edx + ebx*8 + 0x18]
mov edi, dword [esp + 0x44]
addsd xmm7, xmm5
movsd xmm5, qword [eax + ebx*8 + 0x30]
mulsd xmm5, qword [edx + ebx*8 + 0x18]
addsd xmm2, xmm5
movsd xmm5, qword [esi + ebx*8 + 0x18]
mulsd xmm5, qword [edx + ebx*8 + 0x18]
addsd xmm3, xmm5
movsd xmm5, qword [edi + ebx*8 + 8]
mulsd xmm5, qword [edx + ebx*8 + 0x18]
mov edi, dword [esp + 0x40]
addsd xmm4, xmm5
mulsd xmm6, qword [edi + ebx*8]
inc ebx
addsd xmm1, xmm6
cmp ebx, ecx
jb 0x41d9b8
movsd qword [esp + 0x598], xmm7
movsd qword [esp + 0x590], xmm2
movsd qword [esp + 0x5a8], xmm3
movsd qword [esp + 0x588], xmm4
movsd qword [esp + 0x5a0], xmm1
mov edi, dword [esp + 0x5f4]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x5f0]
shl eax, 5
mov ebx, dword [ebp + 8]
lea esi, [ebx + eax]
and esi, 0xf
mov dword [esp + 0x10], esi
je 0x41da7c
test byte [esp + 0x10], 7
jne 0x4232cf
mov dword [esp + 0x10], 1
mov ebx, dword [esp + 0x10]
lea esi, [ebx + 2]
cmp ecx, esi
jl 0x4232cf
mov ebx, ecx
mov esi, dword [esp + 0x10]
sub ebx, esi
and ebx, 1
neg ebx
add eax, dword [ebp + 8]
add ebx, ecx
test esi, esi
jbe 0x4240bf
mov dword [esp + 4], 0
pxor xmm4, xmm4
movaps xmm3, xmm4
movaps xmm1, xmm3
movaps xmm2, xmm1
mov dword [esp + 0x34], ecx
movaps xmm7, xmm2
mov dword [esp], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5f4], edi
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
movsd xmm6, qword [eax + ebx*8 + 0x30]
movsd xmm5, qword [edi + ebx*8 + 0x50]
mulsd xmm5, qword [eax + ebx*8 + 0x30]
mov edi, dword [esp + 0x40]
addsd xmm7, xmm5
mulsd xmm6, qword [edi + ebx*8]
movsd xmm5, qword [esi + ebx*8 + 0x30]
addsd xmm4, xmm6
mulsd xmm5, qword [eax + ebx*8 + 0x30]
addsd xmm2, xmm5
movsd xmm5, qword [edx + ebx*8 + 0x18]
mulsd xmm5, qword [eax + ebx*8 + 0x30]
addsd xmm1, xmm5
movsd xmm5, qword [ecx + ebx*8 + 8]
mulsd xmm5, qword [eax + ebx*8 + 0x30]
inc ebx
addsd xmm3, xmm5
cmp ebx, dword [esp + 0x10]
jb 0x41dadf
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x5f4]
mov ebx, dword [esp]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x34], ecx
pxor xmm6, xmm6
movsd xmm6, xmm7
pxor xmm7, xmm7
movsd xmm7, xmm2
pxor xmm2, xmm2
movaps xmmword [esp], xmm6
movsd xmm2, xmm3
mov dword [esp + 0x4c], edx
pxor xmm6, xmm6
pxor xmm3, xmm3
mov dword [esp + 0x5f4], edi
movsd xmm6, xmm1
movaps xmm1, xmmword [esp]
movsd xmm3, xmm4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
movsd xmm4, qword [edi + ecx*8 + 0x50]
movhpd xmm4, qword [edi + ecx*8 + 0x58]
mulpd xmm4, xmmword [eax + ecx*8 + 0x30]
addpd xmm1, xmm4
movsd xmm4, qword [edx + ecx*8 + 0x30]
movhpd xmm4, qword [edx + ecx*8 + 0x38]
mulpd xmm4, xmmword [eax + ecx*8 + 0x30]
addpd xmm7, xmm4
movsd xmm4, qword [esi + ecx*8 + 0x18]
movhpd xmm4, qword [esi + ecx*8 + 0x20]
mulpd xmm4, xmmword [eax + ecx*8 + 0x30]
mov edi, dword [esp + 0x44]
addpd xmm6, xmm4
movsd xmm4, qword [edi + ecx*8 + 8]
movhpd xmm4, qword [edi + ecx*8 + 0x10]
mulpd xmm4, xmmword [eax + ecx*8 + 0x30]
mov edi, dword [esp + 0x40]
addpd xmm2, xmm4
movsd xmm4, qword [edi + ecx*8]
movhpd xmm4, qword [edi + ecx*8 + 8]
mulpd xmm4, xmmword [eax + ecx*8 + 0x30]
add ecx, 2
addpd xmm3, xmm4
cmp ecx, ebx
jb 0x41db9a
movaps xmmword [esp], xmm1
movaps xmm1, xmm3
unpckhpd xmm1, xmm3
movaps xmm4, xmm2
unpckhpd xmm4, xmm2
addsd xmm3, xmm1
addsd xmm2, xmm4
movaps xmm1, xmm6
unpckhpd xmm1, xmm6
movsd qword [esp + 0x5c0], xmm3
addsd xmm6, xmm1
movaps xmm1, xmm7
unpckhpd xmm1, xmm7
movaps xmm3, xmmword [esp]
addsd xmm7, xmm1
movaps xmm1, xmm3
unpckhpd xmm1, xmm3
mov ecx, dword [esp + 0x34]
addsd xmm3, xmm1
mov edi, dword [esp + 0x5f4]
mov edx, dword [esp + 0x4c]
movsd qword [esp + 0x5d0], xmm2
movsd qword [esp + 0x5b8], xmm6
movsd qword [esp + 0x5b0], xmm7
movsd qword [esp + 0x5c8], xmm3
cmp ebx, ecx
jae 0x41dd75
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5f4], edi
movsd xmm7, qword [esp + 0x5c8]
movsd xmm2, qword [esp + 0x5b0]
movsd xmm3, qword [esp + 0x5b8]
movsd xmm4, qword [esp + 0x5d0]
movsd xmm1, qword [esp + 0x5c0]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
movsd xmm6, qword [eax + ebx*8 + 0x30]
movsd xmm5, qword [edi + ebx*8 + 0x50]
mulsd xmm5, qword [eax + ebx*8 + 0x30]
mov edi, dword [esp + 0x44]
addsd xmm7, xmm5
movsd xmm5, qword [edx + ebx*8 + 0x30]
mulsd xmm5, qword [eax + ebx*8 + 0x30]
addsd xmm2, xmm5
movsd xmm5, qword [esi + ebx*8 + 0x18]
mulsd xmm5, qword [eax + ebx*8 + 0x30]
addsd xmm3, xmm5
movsd xmm5, qword [edi + ebx*8 + 8]
mulsd xmm5, qword [eax + ebx*8 + 0x30]
mov edi, dword [esp + 0x40]
addsd xmm4, xmm5
mulsd xmm6, qword [edi + ebx*8]
inc ebx
addsd xmm1, xmm6
cmp ebx, ecx
jb 0x41dcdd
movsd qword [esp + 0x5c8], xmm7
movsd qword [esp + 0x5b0], xmm2
movsd qword [esp + 0x5b8], xmm3
movsd qword [esp + 0x5d0], xmm4
movsd qword [esp + 0x5c0], xmm1
mov edi, dword [esp + 0x5f4]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x5f0]
mov esi, dword [ebp + 8]
lea ebx, [ebx + ebx*4]
mov dword [esp + 0x5f8], ebx
lea esi, [esi + ebx*8]
mov dword [esp + 0x5c], esi
and esi, 0xf
mov dword [esp + 0x58], esi
je 0x41ddac
test byte [esp + 0x58], 7
jne 0x42330a
mov dword [esp + 0x58], 1
mov ebx, dword [esp + 0x58]
lea esi, [ebx + 2]
cmp ecx, esi
jl 0x42330a
mov ebx, ecx
mov esi, dword [esp + 0x58]
sub ebx, esi
and ebx, 1
neg ebx
add ebx, ecx
test esi, esi
jbe 0x4240ab
mov dword [esp + 4], 0
pxor xmm4, xmm4
movaps xmm2, xmm4
movaps xmm1, xmm2
movaps xmm3, xmm1
mov dword [esp + 0x34], ecx
movaps xmm7, xmm3
mov dword [esp], ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5f4], edi
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
movsd xmm6, qword [ecx + ebx*8 + 0x50]
movsd xmm5, qword [edi + ebx*8 + 0x50]
mulsd xmm5, qword [ecx + ebx*8 + 0x50]
mov edi, dword [esp + 0x40]
addsd xmm7, xmm5
mulsd xmm6, qword [edi + ebx*8]
movsd xmm5, qword [esi + ebx*8 + 0x30]
addsd xmm4, xmm6
mulsd xmm5, qword [ecx + ebx*8 + 0x50]
addsd xmm3, xmm5
movsd xmm5, qword [edx + ebx*8 + 0x18]
mulsd xmm5, qword [ecx + ebx*8 + 0x50]
addsd xmm1, xmm5
movsd xmm5, qword [eax + ebx*8 + 8]
mulsd xmm5, qword [ecx + ebx*8 + 0x50]
inc ebx
addsd xmm2, xmm5
cmp ebx, dword [esp + 0x58]
jb 0x41de14
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x5f4]
mov ebx, dword [esp]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x34], ecx
pxor xmm6, xmm6
movsd xmm6, xmm7
pxor xmm7, xmm7
movsd xmm7, xmm3
pxor xmm3, xmm3
movsd xmm3, xmm1
movaps xmmword [esp + 0x20], xmm3
pxor xmm1, xmm1
movaps xmmword [esp], xmm6
pxor xmm3, xmm3
movaps xmmword [esp + 0x10], xmm7
movsd xmm3, xmm2
mov dword [esp + 0x54], eax
movsd xmm1, xmm4
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5f4], edi
movaps xmm4, xmmword [esp + 0x20]
movaps xmm6, xmmword [esp + 0x10]
movaps xmm7, xmmword [esp]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
movsd xmm2, qword [edi + ecx*8 + 0x50]
movhpd xmm2, qword [edi + ecx*8 + 0x58]
mulpd xmm2, xmmword [edx + ecx*8 + 0x50]
addpd xmm7, xmm2
movsd xmm2, qword [eax + ecx*8 + 0x30]
movhpd xmm2, qword [eax + ecx*8 + 0x38]
mulpd xmm2, xmmword [edx + ecx*8 + 0x50]
addpd xmm6, xmm2
movsd xmm2, qword [esi + ecx*8 + 0x18]
movhpd xmm2, qword [esi + ecx*8 + 0x20]
mulpd xmm2, xmmword [edx + ecx*8 + 0x50]
mov edi, dword [esp + 0x44]
addpd xmm4, xmm2
movsd xmm2, qword [edi + ecx*8 + 8]
movhpd xmm2, qword [edi + ecx*8 + 0x10]
mulpd xmm2, xmmword [edx + ecx*8 + 0x50]
mov edi, dword [esp + 0x40]
addpd xmm3, xmm2
movsd xmm2, qword [edi + ecx*8]
movhpd xmm2, qword [edi + ecx*8 + 8]
mulpd xmm2, xmmword [edx + ecx*8 + 0x50]
add ecx, 2
addpd xmm1, xmm2
cmp ecx, ebx
jb 0x41deef
movaps xmmword [esp + 0x20], xmm4
movaps xmm4, xmm1
unpckhpd xmm4, xmm1
movaps xmmword [esp], xmm7
addsd xmm1, xmm4
movsd qword [esp + 0x5d8], xmm1
movaps xmm1, xmmword [esp + 0x20]
movaps xmm7, xmm1
unpckhpd xmm7, xmm1
movaps xmmword [esp + 0x10], xmm6
movaps xmm6, xmm3
movaps xmm2, xmmword [esp]
addsd xmm1, xmm7
movsd qword [esp + 0x5e0], xmm1
movaps xmm1, xmmword [esp + 0x10]
movaps xmm7, xmm1
unpckhpd xmm7, xmm1
unpckhpd xmm6, xmm3
addsd xmm1, xmm7
addsd xmm3, xmm6
movaps xmm7, xmm2
unpckhpd xmm7, xmm2
mov ecx, dword [esp + 0x34]
addsd xmm2, xmm7
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
movsd qword [esp + 0x5e8], xmm2
cmp ebx, ecx
jae 0x41e0b8
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5f4], edi
movsd xmm5, qword [esp + 0x5e8]
movsd xmm2, qword [esp + 0x5e0]
movsd xmm7, qword [esp + 0x5d8]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
movsd xmm4, qword [edx + ebx*8 + 0x50]
movsd xmm6, qword [edi + ebx*8 + 0x50]
mulsd xmm6, qword [edx + ebx*8 + 0x50]
mov edi, dword [esp + 0x44]
addsd xmm5, xmm6
movsd xmm6, qword [eax + ebx*8 + 0x30]
mulsd xmm6, qword [edx + ebx*8 + 0x50]
addsd xmm1, xmm6
movsd xmm6, qword [esi + ebx*8 + 0x18]
mulsd xmm6, qword [edx + ebx*8 + 0x50]
addsd xmm2, xmm6
movsd xmm6, qword [edi + ebx*8 + 8]
mulsd xmm6, qword [edx + ebx*8 + 0x50]
mov edi, dword [esp + 0x40]
addsd xmm3, xmm6
mulsd xmm4, qword [edi + ebx*8]
inc ebx
addsd xmm7, xmm4
cmp ebx, ecx
jb 0x41e02e
movsd qword [esp + 0x5e8], xmm5
movsd qword [esp + 0x5e0], xmm2
movsd qword [esp + 0x5d8], xmm7
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x34], ecx
xor ebx, ebx
mov dword [esp + 0x54], eax
movaps xmm2, xmm0
mov dword [esp + 0x4c], edx
movaps xmm5, xmm0
movsd qword [esp + 0x600], xmm0
movaps xmm6, xmm0
movsd qword [esp + 0x608], xmm0
movaps xmm4, xmm0
movsd qword [esp + 0x618], xmm0
movsd qword [esp + 0x628], xmm0
movsd qword [esp + 0x610], xmm0
movsd qword [esp + 0x620], xmm0
movsd qword [esp + 0x530], xmm1
movsd qword [esp], xmm3
movsd qword [esp + 0x630], xmm0
mov dword [esp + 0x5f4], edi
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x48]
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
movsd xmm7, qword [eax + ebx*8]
movaps xmm1, xmm7
movsd xmm0, qword [edi + ebx*8]
mulsd xmm1, xmm0
movsd xmm3, qword [esp + 0x630]
mov edi, dword [esp + 0x4c]
addsd xmm3, xmm1
movsd xmm1, qword [ecx + ebx*8]
mulsd xmm1, xmm0
movsd qword [esp + 0x630], xmm3
movsd xmm3, qword [esp + 0x600]
addsd xmm3, xmm1
movsd xmm1, qword [edi + ebx*8 + 8]
mulsd xmm1, xmm0
mov edi, dword [esp + 0x50]
addsd xmm2, xmm1
movsd xmm1, qword [edi + ebx*8 + 0x18]
mulsd xmm1, xmm0
mov edi, dword [esp + 0x54]
movsd qword [esp + 0x600], xmm3
movsd xmm3, qword [esp + 0x608]
addsd xmm3, xmm1
movsd xmm1, qword [edi + ebx*8 + 0x30]
mulsd xmm1, xmm0
mov edi, dword [esp + 0x5c]
addsd xmm5, xmm1
mulsd xmm0, qword [edi + ebx*8 + 0x50]
mov edi, dword [esp + 0x40]
addsd xmm6, xmm0
movsd xmm0, qword [edi + ebx*8]
mulsd xmm0, xmm7
mov edi, dword [esp + 0x44]
movsd xmm1, qword [esp + 0x618]
movsd qword [esp + 0x608], xmm3
addsd xmm1, xmm0
movsd xmm0, qword [edi + ebx*8 + 8]
mulsd xmm0, xmm7
mov edi, dword [esp + 0x3c]
addsd xmm4, xmm0
movsd xmm0, qword [edi + ebx*8 + 0x18]
mulsd xmm0, xmm7
movsd qword [esp + 0x618], xmm1
movsd xmm1, qword [esp + 0x628]
addsd xmm1, xmm0
movsd xmm0, qword [esi + ebx*8 + 0x30]
mulsd xmm0, xmm7
mulsd xmm7, qword [edx + ebx*8 + 0x50]
movsd qword [esp + 0x628], xmm1
inc ebx
movsd xmm1, qword [esp + 0x610]
cmp ebx, dword [esp + 0x34]
addsd xmm1, xmm0
movsd xmm0, qword [esp + 0x620]
movsd qword [esp + 0x610], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x620], xmm0
jb 0x41e135
movsd xmm1, qword [esp + 0x530]
movsd xmm3, qword [esp]
movsd xmm0, qword [esp + 0x630]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x5f4]
inc ecx
cmp ecx, dword [esp + 0x5fc]
jg 0x42277c
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
movsd qword [esp + 0x630], xmm0
mov ebx, dword [eax]
mov eax, ebx
shl eax, 4
mov dword [esp + 4], eax
lea esi, [edx + ebx*8]
mov dword [esp + 0x1f8], esi
lea esi, [edx + eax]
mov dword [esp + 0x200], esi
mov eax, dword [esp + 0x5fc]
lea esi, [ebx + ebx*2]
lea esi, [edx + esi*8]
mov dword [esp + 0x1f4], esi
mov esi, ebx
lea ebx, [ebx + ebx*4]
shl esi, 5
mov dword [esp + 8], esi
add esi, edx
mov dword [esp + 0x1fc], esi
lea edx, [edx + ebx*8]
mov dword [esp], edx
mov edx, dword [ebp + 0x10]
lea edx, [edx + ecx*8 + 8]
and edx, 0xf
mov dword [esp + 0x1ac], edx
mov dword [esp + 0x13c], edx
je 0x41e357
test dl, 7
jne 0x423333
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
movsd xmm0, qword [esp + 0x630]
movsd xmm7, qword [ebx + ecx*8 - 8]
mulsd xmm7, qword [esi + ecx*8 - 8]
mov dword [esp + 0x1ac], 1
addsd xmm0, xmm7
movsd qword [esp + 0x630], xmm0
mov esi, dword [esp + 0x1ac]
mov ebx, esi
pxor xmm0, xmm0
neg ebx
inc ebx
add esi, ecx
and ebx, 3
neg ebx
add ebx, 9
mov dword [esp + 0xdc], ebx
mov ebx, dword [ebp + 8]
movsd xmm7, qword [esp + 0x630]
movsd xmm0, xmm7
lea ebx, [ebx + esi*8 + 8]
test bl, 0xf
je 0x41e3f3
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
movsd qword [esp + 0x208], xmm2
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
mov eax, dword [esp + 0xdc]
mov edi, dword [esp + 0x1ac]
movsd xmm2, qword [ebx + edi*8 - 8]
movhpd xmm2, qword [ebx + edi*8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + edi*8 + 8]
movhpd xmm2, qword [ebx + edi*8 + 0x10]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41e3bf
jmp 0x41e446
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
movsd qword [esp + 0x208], xmm2
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
mov eax, dword [esp + 0xdc]
mov edi, dword [esp + 0x1ac]
movaps xmm2, xmmword [ebx + edi*8 - 8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edi*8 + 8]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41e421
mov dword [esp + 0xdc], eax
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
addpd xmm0, xmm7
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm0, xmm7
movsd qword [esp + 0x630], xmm0
cmp dword [esp + 0xdc], 9
jb 0x424064
mov ebx, dword [esp + 0x13c]
test edx, edx
mov dword [esp + 0x15c], ebx
je 0x41e4e8
test dl, 7
jne 0x423343
mov esi, dword [esp + 0x5f0]
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x600]
mov dword [esp + 0x15c], 1
lea ebx, [ebx + esi*8]
mov dword [esp + 0x18], ebx
mov esi, dword [ebp + 0x10]
movsd xmm7, qword [ebx + ecx*8 - 8]
mulsd xmm7, qword [esi + ecx*8 - 8]
addsd xmm0, xmm7
movsd qword [esp + 0x600], xmm0
jmp 0x41e4f9
mov esi, dword [esp + 0x5f0]
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x15c]
mov esi, ebx
pxor xmm7, xmm7
neg esi
inc esi
and esi, 3
neg esi
add esi, 9
mov dword [esp + 0xf4], esi
mov esi, dword [esp + 0x5f0]
movsd xmm0, qword [esp + 0x600]
movsd xmm7, xmm0
movaps xmmword [esp + 0x370], xmm7
add esi, ebx
add esi, ecx
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8 + 8]
test bl, 0xf
je 0x41e5af
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x18]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
movsd qword [esp + 0x208], xmm2
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movaps xmm0, xmmword [esp + 0x370]
mov eax, dword [esp + 0xf4]
mov edi, dword [esp + 0x15c]
movsd xmm2, qword [ebx + edi*8 - 8]
movhpd xmm2, qword [ebx + edi*8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + edi*8 + 8]
movhpd xmm2, qword [ebx + edi*8 + 0x10]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41e57b
jmp 0x41e60b
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x18]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
movsd qword [esp + 0x208], xmm2
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movaps xmm0, xmmword [esp + 0x370]
mov eax, dword [esp + 0xf4]
mov edi, dword [esp + 0x15c]
movaps xmm2, xmmword [ebx + edi*8 - 8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edi*8 + 8]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41e5e6
mov dword [esp + 0xf4], eax
movaps xmmword [esp + 0x370], xmm0
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x370]
addpd xmm0, xmm7
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm0, xmm7
movsd qword [esp + 0x600], xmm0
cmp dword [esp + 0xf4], 9
jb 0x424013
mov ebx, dword [esp + 0x13c]
test edx, edx
mov dword [esp + 0x144], ebx
je 0x41e6ad
test dl, 7
jne 0x423353
mov ebx, dword [esp + 0x5f0]
shl ebx, 4
add ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0xd0], ebx
movsd xmm7, qword [ebx + ecx*8]
mulsd xmm7, qword [esi + ecx*8 - 8]
mov dword [esp + 0x144], 1
addsd xmm2, xmm7
jmp 0x41e6c1
mov ebx, dword [esp + 0x5f0]
shl ebx, 4
add ebx, dword [ebp + 8]
mov dword [esp + 0xd0], ebx
mov ebx, dword [esp + 0x144]
mov esi, ebx
pxor xmm0, xmm0
neg esi
movsd xmm0, xmm2
inc esi
and esi, 3
neg esi
add esi, 9
mov dword [esp + 0xf0], esi
mov esi, dword [esp + 0x5f0]
lea esi, [ebx + esi*2]
mov ebx, dword [ebp + 8]
add esi, ecx
lea ebx, [ebx + esi*8]
test bl, 0xf
je 0x41e758
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0xd0]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
mov eax, dword [esp + 0xf0]
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
mov edi, dword [esp + 0x144]
movsd xmm2, qword [ebx + edi*8]
movhpd xmm2, qword [ebx + edi*8 + 8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + edi*8 + 0x10]
movhpd xmm2, qword [ebx + edi*8 + 0x18]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41e724
jmp 0x41e7a5
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0xd0]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
mov eax, dword [esp + 0xf0]
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
mov edi, dword [esp + 0x144]
movaps xmm2, xmmword [ebx + edi*8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edi*8 + 0x10]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41e781
mov dword [esp + 0xf0], eax
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
addpd xmm0, xmm7
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm0, xmm7
movaps xmm2, xmm0
cmp dword [esp + 0xf0], 9
jb 0x423fd5
mov ebx, dword [esp + 0x13c]
test edx, edx
mov dword [esp + 0x198], ebx
je 0x41e831
test dl, 7
jne 0x423363
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x608]
mov dword [esp + 0x198], 1
lea esi, [ebx + edi*8]
mov dword [esp + 0x34], esi
mov ebx, dword [ebp + 0x10]
movsd xmm7, qword [esi + ecx*8 + 0x10]
mulsd xmm7, qword [ebx + ecx*8 - 8]
addsd xmm0, xmm7
movsd qword [esp + 0x608], xmm0
jmp 0x41e83b
mov ebx, dword [ebp + 8]
lea esi, [ebx + edi*8]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x198]
mov ebx, esi
pxor xmm7, xmm7
neg ebx
inc ebx
add esi, edi
and ebx, 3
add esi, ecx
neg ebx
add ebx, 9
mov dword [esp + 0xc0], ebx
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x608]
movsd xmm7, xmm0
movaps xmmword [esp + 0x430], xmm7
lea ebx, [ebx + esi*8]
test bl, 0xf
je 0x41e8fa
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x34]
pxor xmm7, xmm7
movaps xmmword [esp + 0x310], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x310]
movaps xmm0, xmmword [esp + 0x430]
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x198]
movsd xmm2, qword [ebx + edi*8 + 0x10]
movhpd xmm2, qword [ebx + edi*8 + 0x18]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + edi*8 + 0x20]
movhpd xmm2, qword [ebx + edi*8 + 0x28]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41e8c5
jmp 0x41e966
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x34]
pxor xmm7, xmm7
movaps xmmword [esp + 0x310], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x310]
movaps xmm0, xmmword [esp + 0x430]
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x198]
movaps xmm2, xmmword [ebx + edi*8 + 0x10]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edi*8 + 0x20]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41e941
mov dword [esp + 0xc0], eax
movaps xmmword [esp + 0x310], xmm7
movaps xmmword [esp + 0x430], xmm0
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x430]
addpd xmm0, xmmword [esp + 0x310]
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
movsd qword [esp + 0x530], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x608], xmm0
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0xc0], 9
jb 0x423f8b
test edx, edx
je 0x41ea1a
test dl, 7
jne 0x423373
mov ebx, dword [esp + 0x5f0]
shl ebx, 5
add ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x1dc], ebx
movsd xmm7, qword [ebx + ecx*8 + 0x28]
mulsd xmm7, qword [esi + ecx*8 - 8]
mov dword [esp + 0x13c], 1
addsd xmm5, xmm7
jmp 0x41ea2e
mov ebx, dword [esp + 0x5f0]
shl ebx, 5
add ebx, dword [ebp + 8]
mov dword [esp + 0x1dc], ebx
mov ebx, dword [esp + 0x13c]
mov esi, ebx
pxor xmm0, xmm0
neg esi
movsd xmm0, xmm5
inc esi
and esi, 3
neg esi
add esi, 9
mov dword [esp + 0xac], esi
mov esi, dword [esp + 0x5f0]
lea esi, [ebx + esi*4]
mov ebx, dword [ebp + 8]
add esi, ecx
lea ebx, [ebx + esi*8 + 8]
test bl, 0xf
je 0x41eac7
mov esi, dword [esp + 0x1dc]
mov ebx, dword [ebp + 0x10]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
mov eax, dword [esp + 0xac]
lea esi, [esi + ecx*8]
mov edi, dword [esp + 0x13c]
lea ebx, [ebx + ecx*8]
movsd xmm5, qword [esi + edi*8 + 0x28]
movhpd xmm5, qword [esi + edi*8 + 0x30]
mulpd xmm5, xmmword [ebx + edi*8 - 8]
addpd xmm0, xmm5
movsd xmm5, qword [esi + edi*8 + 0x38]
movhpd xmm5, qword [esi + edi*8 + 0x40]
mulpd xmm5, xmmword [ebx + edi*8 + 8]
add edi, 4
addpd xmm7, xmm5
cmp edi, eax
jb 0x41ea92
jmp 0x41eb15
mov esi, dword [esp + 0x1dc]
mov ebx, dword [ebp + 0x10]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
mov eax, dword [esp + 0xac]
lea esi, [esi + ecx*8]
mov edi, dword [esp + 0x13c]
lea ebx, [ebx + ecx*8]
movaps xmm5, xmmword [esi + edi*8 + 0x28]
mulpd xmm5, xmmword [ebx + edi*8 - 8]
addpd xmm0, xmm5
movaps xmm5, xmmword [esi + edi*8 + 0x38]
mulpd xmm5, xmmword [ebx + edi*8 + 8]
add edi, 4
addpd xmm7, xmm5
cmp edi, eax
jb 0x41eaf0
mov dword [esp + 0xac], eax
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
addpd xmm0, xmm7
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm0, xmm7
movaps xmm5, xmm0
cmp dword [esp + 0xac], 9
jb 0x423f4c
test edx, edx
je 0x41eb80
test dl, 7
jne 0x423383
mov ebx, dword [esp + 0x5f8]
mov edx, dword [ebp + 8]
lea esi, [edx + ebx*8]
mov edx, dword [ebp + 0x10]
movsd xmm7, qword [esi + ecx*8 + 0x48]
mov dword [esp + 0x1c], esi
mulsd xmm7, qword [edx + ecx*8 - 8]
push 1
pop edx
addsd xmm6, xmm7
jmp 0x41eb91
mov esi, dword [esp + 0x5f8]
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8]
mov dword [esp + 0x1c], ebx
mov ebx, edx
mov esi, dword [esp + 0x5f8]
neg ebx
inc ebx
pxor xmm0, xmm0
and ebx, 3
movsd xmm0, xmm6
neg ebx
add esi, edx
add esi, ecx
add ebx, 9
mov dword [esp + 0x1d4], ebx
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8 + 8]
test bl, 0xf
je 0x41ec11
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x1c]
pxor xmm7, xmm7
mov eax, dword [esp + 0x1d4]
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd xmm6, qword [ebx + edx*8 + 0x48]
movhpd xmm6, qword [ebx + edx*8 + 0x50]
mulpd xmm6, xmmword [esi + edx*8 - 8]
addpd xmm0, xmm6
movsd xmm6, qword [ebx + edx*8 + 0x58]
movhpd xmm6, qword [ebx + edx*8 + 0x60]
mulpd xmm6, xmmword [esi + edx*8 + 8]
add edx, 4
addpd xmm7, xmm6
cmp edx, eax
jb 0x41ebdc
jmp 0x41ec4e
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x1c]
pxor xmm7, xmm7
mov eax, dword [esp + 0x1d4]
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movaps xmm6, xmmword [ebx + edx*8 + 0x48]
mulpd xmm6, xmmword [esi + edx*8 - 8]
addpd xmm0, xmm6
movaps xmm6, xmmword [ebx + edx*8 + 0x58]
mulpd xmm6, xmmword [esi + edx*8 + 8]
add edx, 4
addpd xmm7, xmm6
cmp edx, eax
jb 0x41ec29
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x5fc]
addpd xmm0, xmm7
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm0, xmm7
movaps xmm6, xmm0
cmp dword [esp + 0x1d4], 9
jb 0x423f14
mov edx, dword [esp + 0x1f8]
lea edx, [edx + ecx*8 + 8]
and edx, 0xf
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x124], edx
je 0x41ecda
test dl, 7
jne 0x423393
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x1f8]
movsd xmm0, qword [esp + 0x618]
movsd xmm7, qword [ebx + ecx*8 - 8]
mulsd xmm7, qword [esi + ecx*8 - 8]
mov dword [esp + 0x1b8], 1
addsd xmm0, xmm7
movsd qword [esp + 0x618], xmm0
mov esi, dword [esp + 0x1b8]
mov ebx, esi
pxor xmm7, xmm7
neg ebx
inc ebx
add esi, ecx
and ebx, 3
neg ebx
add ebx, 9
mov dword [esp + 0xcc], ebx
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x618]
movsd xmm7, xmm0
movaps xmmword [esp + 0x390], xmm7
lea ebx, [ebx + esi*8 + 8]
test bl, 0xf
je 0x41ed8a
mov esi, dword [esp + 0x1f8]
mov ebx, dword [ebp + 8]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
movsd qword [esp + 0x208], xmm2
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movaps xmm0, xmmword [esp + 0x390]
mov eax, dword [esp + 0xcc]
mov edi, dword [esp + 0x1b8]
movsd xmm2, qword [ebx + edi*8 - 8]
movhpd xmm2, qword [ebx + edi*8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + edi*8 + 8]
movhpd xmm2, qword [ebx + edi*8 + 0x10]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41ed56
jmp 0x41ede9
mov esi, dword [esp + 0x1f8]
mov ebx, dword [ebp + 8]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
movsd qword [esp + 0x208], xmm2
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movaps xmm0, xmmword [esp + 0x390]
mov eax, dword [esp + 0xcc]
mov edi, dword [esp + 0x1b8]
movaps xmm2, xmmword [ebx + edi*8 - 8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edi*8 + 8]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41edc4
mov dword [esp + 0xcc], eax
movaps xmmword [esp + 0x390], xmm0
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x390]
addpd xmm0, xmm7
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm0, xmm7
movsd qword [esp + 0x618], xmm0
cmp dword [esp + 0xcc], 9
jb 0x423ec9
mov ebx, dword [esp + 0x124]
test edx, edx
mov dword [esp + 0x1a8], ebx
je 0x41ee9f
test dl, 7
jne 0x4233a3
mov esi, dword [esp + 0x5f0]
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x540]
mov dword [esp + 0x1a8], 1
lea ebx, [ebx + esi*8]
mov dword [esp + 0x20], ebx
mov esi, dword [esp + 0x1f8]
movsd xmm7, qword [ebx + ecx*8 - 8]
mulsd xmm7, qword [esi + ecx*8 - 8]
addsd xmm0, xmm7
movsd qword [esp + 0x540], xmm0
jmp 0x41eeb0
mov esi, dword [esp + 0x5f0]
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x1a8]
mov esi, ebx
pxor xmm7, xmm7
neg esi
inc esi
and esi, 3
neg esi
add esi, 9
mov dword [esp + 0xec], esi
mov esi, dword [esp + 0x5f0]
movsd xmm0, qword [esp + 0x540]
movsd xmm7, xmm0
movaps xmmword [esp + 0x4d0], xmm7
add esi, ebx
add esi, ecx
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8 + 8]
test bl, 0xf
je 0x41ef7e
mov esi, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x20]
pxor xmm7, xmm7
movaps xmmword [esp + 0x260], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x260]
movaps xmm0, xmmword [esp + 0x4d0]
mov eax, dword [esp + 0xec]
mov edi, dword [esp + 0x1a8]
movsd xmm2, qword [ebx + edi*8 - 8]
movhpd xmm2, qword [ebx + edi*8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + edi*8 + 8]
movhpd xmm2, qword [ebx + edi*8 + 0x10]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41ef4a
jmp 0x41efee
mov esi, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x20]
pxor xmm7, xmm7
movaps xmmword [esp + 0x260], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x260]
movaps xmm0, xmmword [esp + 0x4d0]
mov eax, dword [esp + 0xec]
mov edi, dword [esp + 0x1a8]
movaps xmm2, xmmword [ebx + edi*8 - 8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edi*8 + 8]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41efc9
mov dword [esp + 0xec], eax
movaps xmmword [esp + 0x260], xmm7
movaps xmmword [esp + 0x4d0], xmm0
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x4d0]
addpd xmm0, xmmword [esp + 0x260]
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
movsd qword [esp + 0x530], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x540], xmm0
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0xec], 9
jb 0x423e74
mov ebx, dword [esp + 0x124]
test edx, edx
mov dword [esp + 0x154], ebx
je 0x41f0c5
test dl, 7
jne 0x4233b3
mov ebx, dword [esp + 0x5f0]
shl ebx, 4
add ebx, dword [ebp + 8]
mov esi, dword [esp + 0x1f8]
movsd xmm0, qword [esp + 0x560]
movsd xmm7, qword [ebx + ecx*8]
mulsd xmm7, qword [esi + ecx*8 - 8]
mov dword [esp + 0xa4], ebx
addsd xmm0, xmm7
movsd qword [esp + 0x560], xmm0
mov dword [esp + 0x154], 1
jmp 0x41f0d9
mov ebx, dword [esp + 0x5f0]
shl ebx, 4
add ebx, dword [ebp + 8]
mov dword [esp + 0xa4], ebx
mov ebx, dword [esp + 0x154]
mov esi, ebx
pxor xmm7, xmm7
neg esi
inc esi
and esi, 3
neg esi
add esi, 9
mov dword [esp + 0xb0], esi
mov esi, dword [esp + 0x5f0]
movsd xmm0, qword [esp + 0x560]
movsd xmm7, xmm0
movaps xmmword [esp + 0x3e0], xmm7
lea esi, [ebx + esi*2]
add esi, ecx
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8]
test bl, 0xf
je 0x41f1aa
mov esi, dword [esp + 0x1f8]
mov ebx, dword [esp + 0xa4]
pxor xmm7, xmm7
movaps xmmword [esp + 0x250], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x250]
movaps xmm0, xmmword [esp + 0x3e0]
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0x154]
movsd xmm2, qword [ebx + edi*8]
movhpd xmm2, qword [ebx + edi*8 + 8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + edi*8 + 0x10]
movhpd xmm2, qword [ebx + edi*8 + 0x18]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41f176
jmp 0x41f21c
mov esi, dword [esp + 0x1f8]
mov ebx, dword [esp + 0xa4]
pxor xmm7, xmm7
movaps xmmword [esp + 0x250], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x250]
movaps xmm0, xmmword [esp + 0x3e0]
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0x154]
movaps xmm2, xmmword [ebx + edi*8]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edi*8 + 0x10]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41f1f8
mov dword [esp + 0xb0], eax
movaps xmmword [esp + 0x250], xmm7
movaps xmmword [esp + 0x3e0], xmm0
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x3e0]
addpd xmm0, xmmword [esp + 0x250]
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
movsd qword [esp + 0x530], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x560], xmm0
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0xb0], 9
jb 0x423e20
mov ebx, dword [esp + 0x124]
test edx, edx
mov dword [esp + 0x18c], ebx
je 0x41f2ea
test dl, 7
jne 0x4233c3
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x5a0]
mov dword [esp + 0x18c], 1
lea esi, [ebx + edi*8]
mov dword [esp + 0x3c], esi
mov ebx, dword [esp + 0x1f8]
movsd xmm7, qword [esi + ecx*8 + 0x10]
mulsd xmm7, qword [ebx + ecx*8 - 8]
addsd xmm0, xmm7
movsd qword [esp + 0x5a0], xmm0
jmp 0x41f2f4
mov ebx, dword [ebp + 8]
lea esi, [ebx + edi*8]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x18c]
mov ebx, esi
pxor xmm7, xmm7
neg ebx
inc ebx
add esi, edi
and ebx, 3
add esi, ecx
neg ebx
add ebx, 9
mov dword [esp + 0xbc], ebx
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x5a0]
movsd xmm7, xmm0
movaps xmmword [esp + 0x400], xmm7
lea ebx, [ebx + esi*8]
test bl, 0xf
je 0x41f3bb
mov esi, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x3c]
pxor xmm7, xmm7
movaps xmmword [esp + 0x2e0], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x2e0]
movaps xmm0, xmmword [esp + 0x400]
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0x18c]
movsd xmm2, qword [ebx + edi*8 + 0x10]
movhpd xmm2, qword [ebx + edi*8 + 0x18]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + edi*8 + 0x20]
movhpd xmm2, qword [ebx + edi*8 + 0x28]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41f386
jmp 0x41f42b
mov esi, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x3c]
pxor xmm7, xmm7
movaps xmmword [esp + 0x2e0], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x2e0]
movaps xmm0, xmmword [esp + 0x400]
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0x18c]
movaps xmm2, xmmword [ebx + edi*8 + 0x10]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edi*8 + 0x20]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41f406
mov dword [esp + 0xbc], eax
movaps xmmword [esp + 0x2e0], xmm7
movaps xmmword [esp + 0x400], xmm0
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x400]
addpd xmm0, xmmword [esp + 0x2e0]
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
movsd qword [esp + 0x530], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x5a0], xmm0
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0xbc], 9
jb 0x423dd2
test edx, edx
je 0x41f4f5
test dl, 7
jne 0x4233d3
mov ebx, dword [esp + 0x5f0]
shl ebx, 5
add ebx, dword [ebp + 8]
mov esi, dword [esp + 0x1f8]
movsd xmm0, qword [esp + 0x5c0]
movsd xmm7, qword [ebx + ecx*8 + 0x28]
mulsd xmm7, qword [esi + ecx*8 - 8]
mov dword [esp + 0x94], ebx
addsd xmm0, xmm7
movsd qword [esp + 0x5c0], xmm0
mov dword [esp + 0x124], 1
jmp 0x41f509
mov ebx, dword [esp + 0x5f0]
shl ebx, 5
add ebx, dword [ebp + 8]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x124]
mov esi, ebx
pxor xmm7, xmm7
neg esi
inc esi
and esi, 3
neg esi
add esi, 9
mov dword [esp + 0x1e4], esi
mov esi, dword [esp + 0x5f0]
movsd xmm0, qword [esp + 0x5c0]
movsd xmm7, xmm0
movaps xmmword [esp + 0x4c0], xmm7
lea esi, [ebx + esi*4]
add esi, ecx
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8 + 8]
test bl, 0xf
je 0x41f5dc
mov esi, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x94]
pxor xmm7, xmm7
movaps xmmword [esp + 0x210], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x210]
movaps xmm0, xmmword [esp + 0x4c0]
mov eax, dword [esp + 0x1e4]
mov edi, dword [esp + 0x124]
movsd xmm2, qword [ebx + edi*8 + 0x28]
movhpd xmm2, qword [ebx + edi*8 + 0x30]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + edi*8 + 0x38]
movhpd xmm2, qword [ebx + edi*8 + 0x40]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41f5a7
jmp 0x41f64f
mov esi, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x94]
pxor xmm7, xmm7
movaps xmmword [esp + 0x210], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x210]
movaps xmm0, xmmword [esp + 0x4c0]
mov eax, dword [esp + 0x1e4]
mov edi, dword [esp + 0x124]
movaps xmm2, xmmword [ebx + edi*8 + 0x28]
mulpd xmm2, xmmword [esi + edi*8 - 8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edi*8 + 0x38]
mulpd xmm2, xmmword [esi + edi*8 + 8]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x41f62a
mov dword [esp + 0x1e4], eax
movaps xmmword [esp + 0x210], xmm7
movaps xmmword [esp + 0x4c0], xmm0
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x4c0]
addpd xmm0, xmmword [esp + 0x210]
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
movsd qword [esp + 0x530], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x5c0], xmm0
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0x1e4], 9
jb 0x423d7b
test edx, edx
je 0x41f70e
test dl, 7
jne 0x4233e3
mov ebx, dword [esp + 0x5f8]
mov edx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x5d8]
lea esi, [edx + ebx*8]
mov edx, dword [esp + 0x1f8]
movsd xmm7, qword [esi + ecx*8 + 0x48]
mov dword [esp + 0x44], esi
mulsd xmm7, qword [edx + ecx*8 - 8]
push 1
pop edx
addsd xmm0, xmm7
movsd qword [esp + 0x5d8], xmm0
jmp 0x41f71f
mov esi, dword [esp + 0x5f8]
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8]
mov dword [esp + 0x44], ebx
mov ebx, edx
mov esi, dword [esp + 0x5f8]
neg ebx
inc ebx
pxor xmm7, xmm7
and ebx, 3
neg ebx
add esi, edx
add esi, ecx
add ebx, 9
mov dword [esp + 0x1d0], ebx
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x5d8]
movsd xmm7, xmm0
movaps xmmword [esp + 0x470], xmm7
lea ebx, [ebx + esi*8 + 8]
test bl, 0xf
je 0x41f7d5
mov esi, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x44]
pxor xmm7, xmm7
movaps xmmword [esp + 0x220], xmm7
movsd qword [esp + 0x208], xmm2
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movaps xmm7, xmmword [esp + 0x220]
movaps xmm0, xmmword [esp + 0x470]
mov eax, dword [esp + 0x1d0]
movsd xmm2, qword [ebx + edx*8 + 0x48]
movhpd xmm2, qword [ebx + edx*8 + 0x50]
mulpd xmm2, xmmword [esi + edx*8 - 8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + edx*8 + 0x58]
movhpd xmm2, qword [ebx + edx*8 + 0x60]
mulpd xmm2, xmmword [esi + edx*8 + 8]
add edx, 4
addpd xmm7, xmm2
cmp edx, eax
jb 0x41f7a0
jmp 0x41f837
mov esi, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x44]
pxor xmm7, xmm7
movaps xmmword [esp + 0x220], xmm7
movsd qword [esp + 0x208], xmm2
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movaps xmm7, xmmword [esp + 0x220]
movaps xmm0, xmmword [esp + 0x470]
mov eax, dword [esp + 0x1d0]
movaps xmm2, xmmword [ebx + edx*8 + 0x48]
mulpd xmm2, xmmword [esi + edx*8 - 8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edx*8 + 0x58]
mulpd xmm2, xmmword [esi + edx*8 + 8]
add edx, 4
addpd xmm7, xmm2
cmp edx, eax
jb 0x41f812
mov dword [esp + 0x1d0], eax
movaps xmmword [esp + 0x220], xmm7
movaps xmmword [esp + 0x470], xmm0
movsd xmm2, qword [esp + 0x208]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x470]
addpd xmm0, xmmword [esp + 0x220]
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
movsd qword [esp + 0x530], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x5d8], xmm0
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0x1d0], 9
jb 0x423d2d
mov edx, dword [esp + 0x200]
lea ebx, [edx + ecx*8]
and ebx, 0xf
mov dword [esp + 0x1f0], ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x130], ebx
je 0x41f901
test byte [esp + 0x1f0], 7
jne 0x4233f3
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 4]
mov dword [esp + 0x1bc], 1
movsd xmm7, qword [esi + ecx*8 - 8]
add edx, ebx
mov dword [esp + 0x4c], edx
mulsd xmm7, qword [edx + ecx*8]
addsd xmm4, xmm7
jmp 0x41f90f
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 4]
lea esi, [edx + ebx]
mov dword [esp + 0x4c], esi
mov ebx, dword [esp + 0x1bc]
mov edx, ebx
pxor xmm0, xmm0
neg edx
movsd xmm0, xmm4
inc edx
and edx, 3
mov esi, dword [ebp + 8]
neg edx
add edx, 9
mov dword [esp + 0x158], edx
lea edx, [ecx + ebx]
lea ebx, [esi + edx*8 + 8]
test bl, 0xf
je 0x41f993
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x4c]
pxor xmm7, xmm7
mov eax, dword [esp + 0x158]
lea ebx, [edx + ecx*8]
lea edx, [esi + ecx*8]
mov esi, dword [esp + 0x1bc]
movsd xmm4, qword [ebx + esi*8 - 8]
movhpd xmm4, qword [ebx + esi*8]
mulpd xmm4, xmmword [edx + esi*8]
addpd xmm0, xmm4
movsd xmm4, qword [ebx + esi*8 + 8]
movhpd xmm4, qword [ebx + esi*8 + 0x10]
mulpd xmm4, xmmword [edx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm4
cmp esi, eax
jb 0x41f960
jmp 0x41f9d6
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x4c]
pxor xmm7, xmm7
mov eax, dword [esp + 0x158]
lea ebx, [edx + ecx*8]
lea edx, [esi + ecx*8]
mov esi, dword [esp + 0x1bc]
movaps xmm4, xmmword [ebx + esi*8 - 8]
mulpd xmm4, xmmword [edx + esi*8]
addpd xmm0, xmm4
movaps xmm4, xmmword [ebx + esi*8 + 8]
mulpd xmm4, xmmword [edx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm4
cmp esi, eax
jb 0x41f9b2
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x5fc]
addpd xmm0, xmm7
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm0, xmm7
movaps xmm4, xmm0
cmp dword [esp + 0x158], 9
jb 0x423cf1
mov edx, dword [esp + 0x130]
mov dword [esp + 0x150], edx
cmp dword [esp + 0x1f0], 0
je 0x41fa76
test byte [esp + 0x1f0], 7
jne 0x423403
mov edx, dword [esp + 0x5f0]
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
movsd xmm0, qword [esp + 0x550]
lea edx, [esi + edx*8]
mov esi, dword [esp + 4]
movsd xmm7, qword [edx + ecx*8 - 8]
mov dword [esp + 0x54], edx
mov dword [esp + 0x150], 1
add ebx, esi
mulsd xmm7, qword [ebx + ecx*8]
mov dword [esp + 0x70], ebx
addsd xmm0, xmm7
movsd qword [esp + 0x550], xmm0
jmp 0x41fa95
mov ebx, dword [esp + 0x5f0]
mov edx, dword [ebp + 8]
lea esi, [edx + ebx*8]
mov dword [esp + 0x54], esi
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 4]
lea esi, [edx + ebx]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x150]
mov edx, esi
pxor xmm7, xmm7
mov ebx, dword [esp + 0x5f0]
neg edx
inc edx
and edx, 3
neg edx
add ebx, esi
add ebx, ecx
add edx, 9
mov dword [esp + 0x10c], edx
mov edx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x550]
movsd xmm7, xmm0
movaps xmmword [esp + 0x480], xmm7
lea esi, [edx + ebx*8 + 8]
test esi, 0xf
je 0x41fb59
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x54]
pxor xmm7, xmm7
movaps xmmword [esp + 0x290], xmm7
movsd qword [esp + 0x208], xmm2
lea esi, [ebx + ecx*8]
lea edx, [edx + ecx*8]
movaps xmm7, xmmword [esp + 0x290]
movaps xmm0, xmmword [esp + 0x480]
mov eax, dword [esp + 0x10c]
mov ebx, esi
mov esi, dword [esp + 0x150]
movsd xmm2, qword [edx + esi*8 - 8]
movhpd xmm2, qword [edx + esi*8]
mulpd xmm2, xmmword [ebx + esi*8]
addpd xmm0, xmm2
movsd xmm2, qword [edx + esi*8 + 8]
movhpd xmm2, qword [edx + esi*8 + 0x10]
mulpd xmm2, xmmword [ebx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm2
cmp esi, eax
jb 0x41fb26
jmp 0x41fbc0
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x54]
pxor xmm7, xmm7
movaps xmmword [esp + 0x290], xmm7
movsd qword [esp + 0x208], xmm2
lea esi, [ebx + ecx*8]
lea edx, [edx + ecx*8]
movaps xmm7, xmmword [esp + 0x290]
movaps xmm0, xmmword [esp + 0x480]
mov eax, dword [esp + 0x10c]
mov ebx, esi
mov esi, dword [esp + 0x150]
movaps xmm2, xmmword [edx + esi*8 - 8]
mulpd xmm2, xmmword [ebx + esi*8]
addpd xmm0, xmm2
movaps xmm2, xmmword [edx + esi*8 + 8]
mulpd xmm2, xmmword [ebx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm2
cmp esi, eax
jb 0x41fb9c
mov dword [esp + 0x10c], eax
movaps xmmword [esp + 0x290], xmm7
movaps xmmword [esp + 0x480], xmm0
movsd xmm2, qword [esp + 0x208]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x480]
addpd xmm0, xmmword [esp + 0x290]
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
movsd qword [esp + 0x530], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x550], xmm0
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0x10c], 9
jb 0x423c93
mov edx, dword [esp + 0x130]
mov dword [esp + 0x14c], edx
cmp dword [esp + 0x1f0], 0
je 0x41fca0
test byte [esp + 0x1f0], 7
jne 0x423413
mov edx, dword [esp + 0x5f0]
shl edx, 4
mov ebx, dword [esp + 4]
add edx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
movsd xmm0, qword [esp + 0x568]
movsd xmm7, qword [edx + ecx*8]
mov dword [esp + 0x11c], edx
add esi, ebx
mulsd xmm7, qword [esi + ecx*8]
mov dword [esp + 0x5c], esi
addsd xmm0, xmm7
movsd qword [esp + 0x568], xmm0
mov dword [esp + 0x14c], 1
jmp 0x41fcc2
mov ebx, dword [ebp + 0x10]
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x5f0]
shl edx, 4
add edx, dword [ebp + 8]
mov dword [esp + 0x11c], edx
lea edx, [ebx + esi]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x14c]
mov edx, ebx
pxor xmm7, xmm7
mov esi, dword [esp + 0x5f0]
neg edx
inc edx
and edx, 3
neg edx
lea ebx, [ebx + esi*2]
add ebx, ecx
add edx, 9
mov dword [esp + 0x114], edx
mov edx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x568]
movsd xmm7, xmm0
movaps xmmword [esp + 0x3c0], xmm7
lea esi, [edx + ebx*8]
test esi, 0xf
je 0x41fd79
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x11c]
pxor xmm7, xmm7
movaps xmm0, xmmword [esp + 0x3c0]
mov eax, dword [esp + 0x114]
lea esi, [ebx + ecx*8]
lea edx, [edx + ecx*8]
movsd qword [esp + 0x208], xmm2
mov ebx, esi
mov esi, dword [esp + 0x14c]
movsd xmm2, qword [edx + esi*8]
movhpd xmm2, qword [edx + esi*8 + 8]
mulpd xmm2, xmmword [ebx + esi*8]
addpd xmm0, xmm2
movsd xmm2, qword [edx + esi*8 + 0x10]
movhpd xmm2, qword [edx + esi*8 + 0x18]
mulpd xmm2, xmmword [ebx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm2
cmp esi, eax
jb 0x41fd46
jmp 0x41fdd2
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x11c]
pxor xmm7, xmm7
movaps xmm0, xmmword [esp + 0x3c0]
mov eax, dword [esp + 0x114]
lea esi, [ebx + ecx*8]
lea edx, [edx + ecx*8]
movsd qword [esp + 0x208], xmm2
mov ebx, esi
mov esi, dword [esp + 0x14c]
movaps xmm2, xmmword [edx + esi*8]
mulpd xmm2, xmmword [ebx + esi*8]
addpd xmm0, xmm2
movaps xmm2, xmmword [edx + esi*8 + 0x10]
mulpd xmm2, xmmword [ebx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm2
cmp esi, eax
jb 0x41fdaf
mov dword [esp + 0x114], eax
movaps xmmword [esp + 0x3c0], xmm0
movsd xmm2, qword [esp + 0x208]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x3c0]
addpd xmm0, xmm7
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm0, xmm7
movsd qword [esp + 0x568], xmm0
cmp dword [esp + 0x114], 9
jb 0x423c36
mov edx, dword [esp + 0x130]
mov dword [esp + 0x168], edx
cmp dword [esp + 0x1f0], 0
je 0x41fe8a
test byte [esp + 0x1f0], 7
jne 0x423423
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
movsd xmm0, qword [esp + 0x588]
lea edx, [esi + edi*8]
mov esi, dword [esp + 4]
movsd xmm7, qword [edx + ecx*8 + 0x10]
mov dword [esp + 0x78], edx
mov dword [esp + 0x168], 1
add ebx, esi
mulsd xmm7, qword [ebx + ecx*8]
mov dword [esp + 0x7c], ebx
addsd xmm0, xmm7
movsd qword [esp + 0x588], xmm0
jmp 0x41fea2
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
lea ebx, [edx + edi*8]
mov dword [esp + 0x78], ebx
mov edx, dword [esp + 4]
lea ebx, [esi + edx]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x168]
mov edx, ebx
pxor xmm7, xmm7
neg edx
inc edx
and edx, 3
neg edx
add edx, 9
mov dword [esp + 0x108], edx
lea edx, [edi + ebx]
add edx, ecx
mov esi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x588]
movsd xmm7, xmm0
movaps xmmword [esp + 0x510], xmm7
lea ebx, [esi + edx*8]
test bl, 0xf
je 0x41ff5d
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
pxor xmm7, xmm7
movaps xmmword [esp + 0x280], xmm7
movsd qword [esp + 0x208], xmm2
lea esi, [ebx + ecx*8]
lea edx, [edx + ecx*8]
movaps xmm7, xmmword [esp + 0x280]
movaps xmm0, xmmword [esp + 0x510]
mov eax, dword [esp + 0x108]
mov ebx, esi
mov esi, dword [esp + 0x168]
movsd xmm2, qword [edx + esi*8 + 0x10]
movhpd xmm2, qword [edx + esi*8 + 0x18]
mulpd xmm2, xmmword [ebx + esi*8]
addpd xmm0, xmm2
movsd xmm2, qword [edx + esi*8 + 0x20]
movhpd xmm2, qword [edx + esi*8 + 0x28]
mulpd xmm2, xmmword [ebx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm2
cmp esi, eax
jb 0x41ff29
jmp 0x41ffc4
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
pxor xmm7, xmm7
movaps xmmword [esp + 0x280], xmm7
movsd qword [esp + 0x208], xmm2
lea esi, [ebx + ecx*8]
lea edx, [edx + ecx*8]
movaps xmm7, xmmword [esp + 0x280]
movaps xmm0, xmmword [esp + 0x510]
mov eax, dword [esp + 0x108]
mov ebx, esi
mov esi, dword [esp + 0x168]
movaps xmm2, xmmword [edx + esi*8 + 0x10]
mulpd xmm2, xmmword [ebx + esi*8]
addpd xmm0, xmm2
movaps xmm2, xmmword [edx + esi*8 + 0x20]
mulpd xmm2, xmmword [ebx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm2
cmp esi, eax
jb 0x41ffa0
mov dword [esp + 0x108], eax
movaps xmmword [esp + 0x280], xmm7
movaps xmmword [esp + 0x510], xmm0
movsd xmm2, qword [esp + 0x208]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x510]
addpd xmm0, xmmword [esp + 0x280]
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
movsd qword [esp + 0x530], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x588], xmm0
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0x108], 9
jb 0x423bdf
cmp dword [esp + 0x1f0], 0
je 0x42009a
test byte [esp + 0x1f0], 7
jne 0x423433
mov edx, dword [esp + 0x5f0]
shl edx, 5
mov esi, dword [esp + 4]
add edx, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
movsd xmm0, qword [esp + 0x5d0]
movsd xmm7, qword [edx + ecx*8 + 0x28]
mov dword [esp + 0x1c4], edx
add ebx, esi
mulsd xmm7, qword [ebx + ecx*8]
mov dword [esp + 0x8c], ebx
addsd xmm0, xmm7
movsd qword [esp + 0x5d0], xmm0
mov dword [esp + 0x130], 1
jmp 0x4200bf
mov ebx, dword [ebp + 0x10]
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x5f0]
shl edx, 5
add edx, dword [ebp + 8]
mov dword [esp + 0x1c4], edx
lea edx, [ebx + esi]
mov dword [esp + 0x8c], edx
mov ebx, dword [esp + 0x130]
mov edx, ebx
pxor xmm7, xmm7
mov esi, dword [esp + 0x5f0]
neg edx
inc edx
and edx, 3
neg edx
lea ebx, [ebx + esi*4]
add ebx, ecx
add edx, 9
mov dword [esp + 0xe0], edx
mov edx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x5d0]
movsd xmm7, xmm0
movaps xmmword [esp + 0x4a0], xmm7
lea esi, [edx + ebx*8 + 8]
test esi, 0xf
je 0x420189
mov ebx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x8c]
pxor xmm7, xmm7
movaps xmmword [esp + 0x270], xmm7
movsd qword [esp + 0x208], xmm2
lea ebx, [ebx + ecx*8]
movaps xmm7, xmmword [esp + 0x270]
lea edx, [edx + ecx*8]
movaps xmm0, xmmword [esp + 0x4a0]
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x130]
movsd xmm2, qword [ebx + esi*8 + 0x28]
movhpd xmm2, qword [ebx + esi*8 + 0x30]
mulpd xmm2, xmmword [edx + esi*8]
addpd xmm0, xmm2
movsd xmm2, qword [ebx + esi*8 + 0x38]
movhpd xmm2, qword [ebx + esi*8 + 0x40]
mulpd xmm2, xmmword [edx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm2
cmp esi, eax
jb 0x420155
jmp 0x4201f4
mov ebx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x8c]
pxor xmm7, xmm7
movaps xmmword [esp + 0x270], xmm7
movsd qword [esp + 0x208], xmm2
lea ebx, [ebx + ecx*8]
movaps xmm7, xmmword [esp + 0x270]
lea edx, [edx + ecx*8]
movaps xmm0, xmmword [esp + 0x4a0]
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x130]
movaps xmm2, xmmword [ebx + esi*8 + 0x28]
mulpd xmm2, xmmword [edx + esi*8]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + esi*8 + 0x38]
mulpd xmm2, xmmword [edx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm2
cmp esi, eax
jb 0x4201d0
mov dword [esp + 0xe0], eax
movaps xmmword [esp + 0x270], xmm7
movaps xmmword [esp + 0x4a0], xmm0
movsd xmm2, qword [esp + 0x208]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x4a0]
addpd xmm0, xmmword [esp + 0x270]
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
movsd qword [esp + 0x530], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x5d0], xmm0
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0xe0], 9
jb 0x423b81
cmp dword [esp + 0x1f0], 0
je 0x4202b5
test byte [esp + 0x1f0], 7
jne 0x423443
mov esi, dword [esp + 0x5f8]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x1f0], 1
lea edx, [ebx + esi*8]
mov ebx, dword [ebp + 0x10]
mov esi, dword [esp + 4]
movsd xmm7, qword [edx + ecx*8 + 0x48]
mov dword [esp + 0x6c], edx
add ebx, esi
mov dword [esp + 0x88], ebx
mulsd xmm7, qword [ebx + ecx*8]
addsd xmm3, xmm7
jmp 0x4202d7
mov ebx, dword [esp + 0x5f8]
mov edx, dword [ebp + 8]
lea esi, [edx + ebx*8]
mov dword [esp + 0x6c], esi
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 4]
lea esi, [edx + ebx]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x1f0]
mov edx, esi
pxor xmm0, xmm0
mov ebx, dword [esp + 0x5f8]
neg edx
inc edx
movsd xmm0, xmm3
and edx, 3
neg edx
add ebx, esi
add ebx, ecx
add edx, 9
mov dword [esp + 0x1e8], edx
mov edx, dword [ebp + 8]
lea esi, [edx + ebx*8 + 8]
test esi, 0xf
je 0x42036d
mov ebx, dword [esp + 0x88]
mov edx, dword [esp + 0x6c]
pxor xmm7, xmm7
mov eax, dword [esp + 0x1e8]
lea esi, [ebx + ecx*8]
mov ebx, esi
lea edx, [edx + ecx*8]
mov esi, dword [esp + 0x1f0]
movsd xmm3, qword [edx + esi*8 + 0x48]
movhpd xmm3, qword [edx + esi*8 + 0x50]
mulpd xmm3, xmmword [ebx + esi*8]
addpd xmm0, xmm3
movsd xmm3, qword [edx + esi*8 + 0x58]
movhpd xmm3, qword [edx + esi*8 + 0x60]
mulpd xmm3, xmmword [ebx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm3
cmp esi, eax
jb 0x420339
jmp 0x4203b6
mov ebx, dword [esp + 0x88]
mov edx, dword [esp + 0x6c]
pxor xmm7, xmm7
mov eax, dword [esp + 0x1e8]
lea esi, [ebx + ecx*8]
mov ebx, esi
lea edx, [edx + ecx*8]
mov esi, dword [esp + 0x1f0]
movaps xmm3, xmmword [edx + esi*8 + 0x48]
mulpd xmm3, xmmword [ebx + esi*8]
addpd xmm0, xmm3
movaps xmm3, xmmword [edx + esi*8 + 0x58]
mulpd xmm3, xmmword [ebx + esi*8 + 0x10]
add esi, 4
addpd xmm7, xmm3
cmp esi, eax
jb 0x420392
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x5fc]
addpd xmm0, xmm7
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm0, xmm7
movaps xmm3, xmm0
cmp dword [esp + 0x1e8], 9
jb 0x423b44
mov edx, dword [esp + 0x1f4]
lea edx, [edx + ecx*8]
and edx, 0xf
mov ebx, edx
mov dword [esp + 0x17c], ebx
je 0x420434
test dl, 7
jne 0x423453
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x1f4]
movsd xmm0, qword [esp + 0x628]
movsd xmm7, qword [ebx + ecx*8 - 8]
push 1
pop ebx
mulsd xmm7, qword [esi + ecx*8 + 0x10]
addsd xmm0, xmm7
movsd qword [esp + 0x628], xmm0
mov esi, ebx
pxor xmm7, xmm7
neg esi
inc esi
and esi, 3
neg esi
mov dword [esp + 0x204], ebx
add esi, 9
mov dword [esp + 0xa0], esi
lea esi, [ecx + ebx]
mov ebx, dword [ebp + 8]
movsd qword [esp + 0x530], xmm1
movsd xmm0, qword [esp + 0x628]
movsd xmm1, qword [esp + 0x530]
lea ebx, [ebx + esi*8 + 8]
movsd xmm7, xmm0
test bl, 0xf
mov ebx, dword [esp + 0x204]
je 0x4204ff
mov esi, dword [ebp + 8]
pxor xmm0, xmm0
movaps xmmword [esp + 0x2b0], xmm0
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x1f4]
movaps xmm0, xmmword [esp + 0x2b0]
mov eax, dword [esp + 0xa0]
mov edi, dword [esp + 0x14]
lea esi, [esi + ecx*8]
movsd qword [esp + 0x208], xmm2
movsd xmm2, qword [edi + ebx*8 - 8]
movhpd xmm2, qword [edi + ebx*8]
mulpd xmm2, xmmword [esi + ebx*8 + 0x10]
addpd xmm7, xmm2
movsd xmm2, qword [edi + ebx*8 + 8]
movhpd xmm2, qword [edi + ebx*8 + 0x10]
mulpd xmm2, xmmword [esi + ebx*8 + 0x20]
add ebx, 4
addpd xmm0, xmm2
cmp ebx, eax
jb 0x4204cb
jmp 0x420567
mov esi, dword [ebp + 8]
pxor xmm0, xmm0
movaps xmmword [esp + 0x2b0], xmm0
mov dword [esp + 0x5f4], edi
lea esi, [esi + ecx*8]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1f4]
movaps xmm0, xmmword [esp + 0x2b0]
mov eax, dword [esp + 0xa0]
mov edi, dword [esp + 0x10]
lea esi, [esi + ecx*8]
movsd qword [esp + 0x208], xmm2
movaps xmm2, xmmword [edi + ebx*8 - 8]
mulpd xmm2, xmmword [esi + ebx*8 + 0x10]
addpd xmm7, xmm2
movaps xmm2, xmmword [edi + ebx*8 + 8]
mulpd xmm2, xmmword [esi + ebx*8 + 0x20]
add ebx, 4
addpd xmm0, xmm2
cmp ebx, eax
jb 0x420542
mov dword [esp + 0xa0], eax
movaps xmmword [esp + 0x2b0], xmm0
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
addpd xmm7, xmmword [esp + 0x2b0]
movaps xmm0, xmm7
unpckhpd xmm0, xmm7
movsd qword [esp + 0x530], xmm1
addsd xmm7, xmm0
movsd qword [esp + 0x628], xmm7
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0xa0], 9
jb 0x423af7
mov ebx, dword [esp + 0x17c]
test edx, edx
mov dword [esp + 0x12c], ebx
je 0x42062c
test dl, 7
jne 0x423463
mov esi, dword [esp + 0x5f0]
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x558]
mov dword [esp + 0x12c], 1
lea ebx, [ebx + esi*8]
mov dword [esp + 0x2c], ebx
mov esi, dword [esp + 0x1f4]
movsd xmm7, qword [ebx + ecx*8 - 8]
mulsd xmm7, qword [esi + ecx*8 + 0x10]
addsd xmm0, xmm7
movsd qword [esp + 0x558], xmm0
jmp 0x42063d
mov esi, dword [esp + 0x5f0]
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x12c]
mov esi, ebx
pxor xmm7, xmm7
neg esi
inc esi
and esi, 3
neg esi
add esi, 9
mov dword [esp + 0xe4], esi
mov esi, dword [esp + 0x5f0]
movsd xmm0, qword [esp + 0x558]
movsd xmm7, xmm0
movaps xmmword [esp + 0x380], xmm7
add esi, ebx
add esi, ecx
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8 + 8]
test bl, 0xf
je 0x4206f7
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x5f4], edi
pxor xmm7, xmm7
movsd qword [esp + 0x208], xmm2
movaps xmm0, xmmword [esp + 0x380]
lea esi, [ebx + ecx*8]
mov ebx, dword [esp + 0x1f4]
mov eax, dword [esp + 0xe4]
lea ebx, [ebx + ecx*8]
mov edi, dword [esp + 0x12c]
movsd xmm2, qword [esi + edi*8 - 8]
movhpd xmm2, qword [esi + edi*8]
mulpd xmm2, xmmword [ebx + edi*8 + 0x10]
addpd xmm0, xmm2
movsd xmm2, qword [esi + edi*8 + 8]
movhpd xmm2, qword [esi + edi*8 + 0x10]
mulpd xmm2, xmmword [ebx + edi*8 + 0x20]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x4206c3
jmp 0x420757
mov esi, dword [esp + 0x1f4]
mov ebx, dword [esp + 0x2c]
pxor xmm7, xmm7
mov dword [esp + 0x5f4], edi
movsd qword [esp + 0x208], xmm2
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movaps xmm0, xmmword [esp + 0x380]
mov eax, dword [esp + 0xe4]
mov edi, dword [esp + 0x12c]
movaps xmm2, xmmword [ebx + edi*8 - 8]
mulpd xmm2, xmmword [esi + edi*8 + 0x10]
addpd xmm0, xmm2
movaps xmm2, xmmword [ebx + edi*8 + 8]
mulpd xmm2, xmmword [esi + edi*8 + 0x20]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x420732
mov dword [esp + 0xe4], eax
movaps xmmword [esp + 0x380], xmm0
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x380]
addpd xmm0, xmm7
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
addsd xmm0, xmm7
movsd qword [esp + 0x558], xmm0
cmp dword [esp + 0xe4], 9
jb 0x423a92
mov ebx, dword [esp + 0x17c]
test edx, edx
mov dword [esp + 0x138], ebx
je 0x42080f
test dl, 7
jne 0x423473
mov ebx, dword [esp + 0x5f0]
shl ebx, 4
add ebx, dword [ebp + 8]
mov esi, dword [esp + 0x1f4]
movsd xmm0, qword [esp + 0x570]
movsd xmm7, qword [ebx + ecx*8]
mulsd xmm7, qword [esi + ecx*8 + 0x10]
mov dword [esp + 0xc8], ebx
addsd xmm0, xmm7
movsd qword [esp + 0x570], xmm0
mov dword [esp + 0x138], 1
jmp 0x420823
mov ebx, dword [esp + 0x5f0]
shl ebx, 4
add ebx, dword [ebp + 8]
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp + 0x138]
mov esi, ebx
pxor xmm7, xmm7
neg esi
inc esi
and esi, 3
neg esi
add esi, 9
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x5f0]
movsd xmm0, qword [esp + 0x570]
movsd xmm7, xmm0
movaps xmmword [esp + 0x410], xmm7
lea esi, [ebx + esi*2]
add esi, ecx
mov ebx, dword [ebp + 8]
lea ebx, [ebx + esi*8]
test bl, 0xf
je 0x4208f4
mov ebx, dword [esp + 0xc8]
pxor xmm7, xmm7
movaps xmmword [esp + 0x2a0], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [ebx + ecx*8]
mov ebx, dword [esp + 0x1f4]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x2a0]
lea ebx, [ebx + ecx*8]
movaps xmm0, xmmword [esp + 0x410]
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x138]
movsd xmm2, qword [esi + edi*8]
movhpd xmm2, qword [esi + edi*8 + 8]
mulpd xmm2, xmmword [ebx + edi*8 + 0x10]
addpd xmm0, xmm2
movsd xmm2, qword [esi + edi*8 + 0x10]
movhpd xmm2, qword [esi + edi*8 + 0x18]
mulpd xmm2, xmmword [ebx + edi*8 + 0x20]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x4208c0
jmp 0x420966
mov ebx, dword [esp + 0xc8]
pxor xmm7, xmm7
movaps xmmword [esp + 0x2a0], xmm7
mov dword [esp + 0x5f4], edi
lea esi, [ebx + ecx*8]
mov ebx, dword [esp + 0x1f4]
movsd qword [esp + 0x208], xmm2
movaps xmm7, xmmword [esp + 0x2a0]
lea ebx, [ebx + ecx*8]
movaps xmm0, xmmword [esp + 0x410]
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x138]
movaps xmm2, xmmword [esi + edi*8]
mulpd xmm2, xmmword [ebx + edi*8 + 0x10]
addpd xmm0, xmm2
movaps xmm2, xmmword [esi + edi*8 + 0x10]
mulpd xmm2, xmmword [ebx + edi*8 + 0x20]
add edi, 4
addpd xmm7, xmm2
cmp edi, eax
jb 0x420942
mov dword [esp + 0x90], eax
movaps xmmword [esp + 0x2a0], xmm7
movaps xmmword [esp + 0x410], xmm0
movsd xmm2, qword [esp + 0x208]
mov edi, dword [esp + 0x5f4]
mov eax, dword [esp + 0x5fc]
movaps xmm0, xmmword [esp + 0x410]
addpd xmm0, xmmword [esp + 0x2a0]
movaps xmm7, xmm0
unpckhpd xmm7, xmm0
movsd qword [esp + 0x530], xmm1
addsd xmm0, xmm7
movsd qword [esp + 0x570], xmm0
movsd xmm1, qword [esp + 0x530]
cmp dword [esp + 0x90], 9
jb 0x423a3c
mov ebx, dword [esp + 0x17c]
test edx, edx
mov dword [esp + 0x128], ebx
je 0x420a34
mov esi, dword [ebp + 0x1c]
mov edx, dword [esp + 0x5f0]
mov ecx, dword [esi]
mov esi, dword [ebp + 8]
add edi, ecx
mov dword [esp + 0x5f4], edi
mov dword [esp], ecx
lea ebx, [edx + ecx]
movsd xmm7, qword [esi + ecx*8 - 8]
lea eax, [ecx + edx*2]
mov dword [esp + 8], eax
lea edx, [ecx + edx*4]
mov dword [esp + 0xc], edx
subsd xmm7, xmm0
movsd qword [esi + ecx*8 - 8], xmm7
movsd xmm7, qword [esi + ebx*8 - 8]
mov dword [esp + 4], ebx
subsd xmm7, qword [esp + 0x600]
movsd qword [esi + ebx*8 - 8], xmm7
movsd xmm7, qword [esi + eax*8]
subsd xmm7, xmm2
movsd qword [esi + eax*8], xmm7
movsd xmm7, qword [esi + edi*8 + 0x10]
subsd xmm7, qword [esp + 0x608]
movsd qword [esi + edi*8 + 0x10], xmm7
movsd xmm7, qword [esi + edx*8 + 0x28]
subsd xmm7, xmm5
movsd qword [esi + edx*8 + 0x28], xmm7
mov edx, dword [esp + 0x5f8]
add edx, ecx
mov dword [esp + 0x5f8], edx
movsd xmm0, qword [esi + edx*8 + 0x48]
subsd xmm0, xmm6
movsd qword [esi + edx*8 + 0x48], xmm0
movsd xmm2, qword [esi + ecx*8]
subsd xmm2, qword [esp + 0x618]
movsd qword [esi + ecx*8], xmm2
movsd xmm5, qword [esi + ebx*8]
subsd xmm5, qword [esp + 0x540]
movsd qword [esi + ebx*8], xmm5
movsd xmm0, qword [esi + eax*8 + 8]
subsd xmm0, qword [esp + 0x560]
movsd qword [esi + eax*8 + 8], xmm0
movsd xmm0, qword [esi + edi*8 + 0x18]
subsd xmm0, qword [esp + 0x5a0]
movsd qword [esi + edi*8 + 0x18], xmm0
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esi + edi*8 + 0x30]
subsd xmm0, qword [esp + 0x5c0]
movsd qword [esi + edi*8 + 0x30], xmm0
movsd xmm0, qword [esi + edx*8 + 0x50]
subsd xmm0, qword [esp + 0x5d8]
movsd qword [esi + edx*8 + 0x50], xmm0
movsd xmm0, qword [esi + ecx*8 + 8]
subsd xmm0, xmm4
movsd qword [esi + ecx*8 + 8], xmm0
movsd xmm0, qword [esi + ebx*8 + 8]
subsd xmm0, qword [esp + 0x550]
movsd qword [esi + ebx*8 + 8], xmm0
movsd xmm0, qword [esi + eax*8 + 0x10]
subsd xmm0, qword [esp + 0x568]
movsd qword [esi + eax*8 + 0x10], xmm0
mov eax, dword [esp + 0x5f4]
movsd xmm0, qword [esi + eax*8 + 0x20]
subsd xmm0, qword [esp + 0x588]
movsd qword [esi + eax*8 + 0x20], xmm0
movsd xmm0, qword [esi + edi*8 + 0x38]
subsd xmm0, qword [esp + 0x5d0]
movsd qword [esi + edi*8 + 0x38], xmm0
movsd xmm0, qword [esi + edx*8 + 0x58]
subsd xmm0, xmm3
movsd qword [esi + edx*8 + 0x58], xmm0
movsd xmm0, qword [esi + ecx*8 + 0x10]
subsd xmm0, qword [esp + 0x628]
movsd qword [esi + ecx*8 + 0x10], xmm0
movsd xmm0, qword [esi + ebx*8 + 0x10]
subsd xmm0, qword [esp + 0x558]
movsd qword [esi + ebx*8 + 0x10], xmm0
mov ebx, dword [esp + 8]
movsd xmm0, qword [esi + ebx*8 + 0x18]
subsd xmm0, qword [esp + 0x570]
movsd qword [esi + ebx*8 + 0x18], xmm0
movsd xmm0, qword [esi + eax*8 + 0x28]
subsd xmm0, qword [esp + 0x5a8]
movsd qword [esi + eax*8 + 0x28], xmm0
movsd xmm0, qword [esi + edi*8 + 0x40]
subsd xmm0, qword [esp + 0x5b8]
movsd qword [esi + edi*8 + 0x40], xmm0
movsd xmm0, qword [esi + edx*8 + 0x60]
subsd xmm0, qword [esp + 0x5e0]
movsd qword [esi + edx*8 + 0x60], xmm0
movsd xmm0, qword [esi + ecx*8 + 0x18]
subsd xmm0, qword [esp + 0x610]
movsd qword [esi + ecx*8 + 0x18], xmm0
mov ecx, dword [esp + 4]
movsd xmm0, qword [esi + ecx*8 + 0x18]
subsd xmm0, qword [esp + 0x548]
movsd qword [esi + ecx*8 + 0x18], xmm0
movsd xmm0, qword [esi + ebx*8 + 0x20]
subsd xmm0, qword [esp + 0x578]
movsd qword [esi + ebx*8 + 0x20], xmm0
movsd xmm0, qword [esi + eax*8 + 0x30]
subsd xmm0, qword [esp + 0x590]
movsd qword [esi + eax*8 + 0x30], xmm0
movsd xmm0, qword [esi + edi*8 + 0x48]
subsd xmm0, qword [esp + 0x5b0]
movsd qword [esi + edi*8 + 0x48], xmm0
movsd xmm0, qword [esi + edx*8 + 0x68]
subsd xmm0, xmm1
movsd qword [esi + edx*8 + 0x68], xmm0
mov edx, dword [esp]
movsd xmm1, qword [esi + edx*8 + 0x20]
subsd xmm1, qword [esp + 0x620]
movsd qword [esi + edx*8 + 0x20], xmm1
movsd xmm3, qword [esi + ecx*8 + 0x20]
subsd xmm3, qword [esp + 0x538]
movsd qword [esi + ecx*8 + 0x20], xmm3
movsd xmm4, qword [esi + ebx*8 + 0x28]
subsd xmm4, qword [esp + 0x580]
movsd qword [esi + ebx*8 + 0x28], xmm4
movsd xmm6, qword [esi + eax*8 + 0x38]
subsd xmm6, qword [esp + 0x598]
movsd qword [esi + eax*8 + 0x38], xmm6
movsd xmm0, qword [esi + edi*8 + 0x50]
subsd xmm0, qword [esp + 0x5c8]
movsd qword [esi + edi*8 + 0x50], xmm0
mov edi, dword [esp + 0x5f8]
movsd xmm1, qword [esi + edi*8 + 0x70]
subsd xmm1, qword [esp + 0x5e8]
movsd qword [esi + edi*8 + 0x70], xmm1
mov eax, dword [ebp + 0x20]
cmp dword [eax], 1
je 0x4231d7
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov edx, dword [edx]
mov esi, dword [ebp + 0xc]
mov dword [esp], eax
lea ebx, [eax + edx]
movsd xmm1, qword [ecx + ebx*8 - 8]
lea eax, [edx + eax*2]
mov ebx, dword [ebp + 8]
mov edi, dword [esi]
movsd xmm0, qword [ebx + edx*8 - 8]
mulsd xmm0, xmm1
lea esi, [edx + edi]
movsd xmm3, qword [ebx + edx*8]
mov dword [esp + 4], esi
subsd xmm3, xmm0
movsd qword [ebx + edx*8], xmm3
movsd xmm4, qword [ebx + esi*8 - 8]
mulsd xmm4, xmm1
movsd xmm7, qword [ebx + esi*8]
subsd xmm7, xmm4
movsd qword [ebx + esi*8], xmm7
lea esi, [edx + edi*2]
movsd xmm6, qword [ebx + esi*8]
mulsd xmm6, xmm1
movsd xmm5, qword [ebx + esi*8 + 8]
mov dword [esp + 8], esi
subsd xmm5, xmm6
movsd qword [ebx + esi*8 + 8], xmm5
lea esi, [edi + edi*2]
add esi, edx
mov dword [esp + 0xc], esi
movsd xmm5, qword [ecx + eax*8]
movsd xmm2, qword [ebx + esi*8 + 0x10]
mulsd xmm2, xmm1
movsd xmm3, qword [ebx + esi*8 + 0x18]
subsd xmm3, xmm2
movsd xmm2, qword [ecx + eax*8 + 8]
movsd qword [ebx + esi*8 + 0x18], xmm3
lea esi, [edx + edi*4]
movsd xmm4, qword [ebx + esi*8 + 0x28]
lea edi, [edi + edi*4]
mulsd xmm4, xmm1
add edi, edx
movsd xmm7, qword [ebx + esi*8 + 0x30]
mov eax, dword [esp + 4]
subsd xmm7, xmm4
movsd qword [ebx + esi*8 + 0x30], xmm7
movsd xmm6, qword [ebx + edi*8 + 0x48]
mulsd xmm6, xmm1
movsd xmm1, qword [ebx + edi*8 + 0x50]
mov dword [esp + 0x14], edi
subsd xmm1, xmm6
movsd qword [ebx + edi*8 + 0x50], xmm1
movsd xmm3, qword [ebx + edx*8 - 8]
mulsd xmm3, xmm5
movsd xmm7, qword [ebx + edx*8 + 8]
movsd xmm4, qword [ebx + edx*8]
subsd xmm7, xmm3
mulsd xmm4, xmm2
mov dword [esp + 0x10], esi
subsd xmm7, xmm4
movsd qword [ebx + edx*8 + 8], xmm7
movsd xmm6, qword [ebx + eax*8 - 8]
mulsd xmm6, xmm5
movsd xmm3, qword [ebx + eax*8 + 8]
movsd xmm0, qword [ebx + eax*8]
subsd xmm3, xmm6
mulsd xmm0, xmm2
subsd xmm3, xmm0
movsd qword [ebx + eax*8 + 8], xmm3
mov eax, dword [esp + 8]
movsd xmm4, qword [ebx + eax*8]
mulsd xmm4, xmm5
movsd xmm6, qword [ebx + eax*8 + 0x10]
movsd xmm7, qword [ebx + eax*8 + 8]
subsd xmm6, xmm4
mulsd xmm7, xmm2
subsd xmm6, xmm7
movsd qword [ebx + eax*8 + 0x10], xmm6
mov eax, dword [esp + 0xc]
movsd xmm1, qword [ebx + eax*8 + 0x10]
mulsd xmm1, xmm5
movsd xmm4, qword [ebx + eax*8 + 0x20]
movsd xmm3, qword [ebx + eax*8 + 0x18]
subsd xmm4, xmm1
mulsd xmm3, xmm2
subsd xmm4, xmm3
movsd qword [ebx + eax*8 + 0x20], xmm4
movsd xmm7, qword [ebx + esi*8 + 0x28]
mulsd xmm7, xmm5
movsd xmm0, qword [ebx + esi*8 + 0x38]
movsd xmm6, qword [ebx + esi*8 + 0x30]
subsd xmm0, xmm7
mulsd xmm6, xmm2
subsd xmm0, xmm6
movsd qword [ebx + esi*8 + 0x38], xmm0
movsd xmm3, qword [ebx + edi*8 + 0x48]
mulsd xmm3, xmm5
movsd xmm4, qword [ebx + edi*8 + 0x58]
movsd xmm5, qword [ebx + edi*8 + 0x50]
subsd xmm4, xmm3
mulsd xmm5, xmm2
subsd xmm4, xmm5
movsd qword [ebx + edi*8 + 0x58], xmm4
mov edi, dword [esp]
movsd xmm2, qword [ebx + edx*8 - 8]
movsd xmm1, qword [ebx + edx*8 + 0x10]
movsd xmm6, qword [ebx + edx*8]
lea edi, [edi + edi*2]
add edi, edx
movsd xmm5, qword [ebx + edx*8 + 8]
movsd xmm3, qword [ecx + edi*8 + 0x10]
mulsd xmm2, xmm3
movsd xmm4, qword [ecx + edi*8 + 0x18]
subsd xmm1, xmm2
mulsd xmm6, xmm4
movsd xmm7, qword [ecx + edi*8 + 0x20]
subsd xmm1, xmm6
mulsd xmm5, xmm7
mov edi, dword [esp + 4]
subsd xmm1, xmm5
movsd qword [ebx + edx*8 + 0x10], xmm1
movsd xmm0, qword [ebx + edi*8 - 8]
mulsd xmm0, xmm3
movsd xmm2, qword [ebx + edi*8 + 0x10]
movsd xmm6, qword [ebx + edi*8]
subsd xmm2, xmm0
mulsd xmm6, xmm4
movsd xmm5, qword [ebx + edi*8 + 8]
subsd xmm2, xmm6
mulsd xmm5, xmm7
subsd xmm2, xmm5
movsd qword [ebx + edi*8 + 0x10], xmm2
mov edi, dword [esp + 8]
movsd xmm1, qword [ebx + edi*8]
mulsd xmm1, xmm3
movsd xmm2, qword [ebx + edi*8 + 0x18]
movsd xmm6, qword [ebx + edi*8 + 8]
subsd xmm2, xmm1
mulsd xmm6, xmm4
movsd xmm5, qword [ebx + edi*8 + 0x10]
subsd xmm2, xmm6
mulsd xmm5, xmm7
subsd xmm2, xmm5
movsd qword [ebx + edi*8 + 0x18], xmm2
movsd xmm0, qword [ebx + eax*8 + 0x10]
mulsd xmm0, xmm3
movsd xmm2, qword [ebx + eax*8 + 0x28]
movsd xmm6, qword [ebx + eax*8 + 0x18]
subsd xmm2, xmm0
mulsd xmm6, xmm4
movsd xmm5, qword [ebx + eax*8 + 0x20]
subsd xmm2, xmm6
mulsd xmm5, xmm7
subsd xmm2, xmm5
movsd qword [ebx + eax*8 + 0x28], xmm2
movsd xmm1, qword [ebx + esi*8 + 0x28]
mulsd xmm1, xmm3
movsd xmm2, qword [ebx + esi*8 + 0x40]
movsd xmm6, qword [ebx + esi*8 + 0x30]
subsd xmm2, xmm1
mulsd xmm6, xmm4
movsd xmm5, qword [ebx + esi*8 + 0x38]
subsd xmm2, xmm6
mulsd xmm5, xmm7
subsd xmm2, xmm5
movsd qword [ebx + esi*8 + 0x40], xmm2
mov esi, dword [esp + 0x14]
movsd xmm0, qword [ebx + esi*8 + 0x48]
mulsd xmm0, xmm3
movsd xmm6, qword [ebx + esi*8 + 0x60]
movsd xmm3, qword [ebx + esi*8 + 0x50]
subsd xmm6, xmm0
mulsd xmm3, xmm4
movsd xmm4, qword [ebx + esi*8 + 0x58]
subsd xmm6, xmm3
mulsd xmm4, xmm7
subsd xmm6, xmm4
movsd qword [ebx + esi*8 + 0x60], xmm6
mov esi, dword [esp]
movsd xmm7, qword [ebx + edx*8 - 8]
movsd xmm6, qword [ebx + edx*8 + 0x18]
movsd xmm4, qword [ebx + edx*8]
lea esi, [edx + esi*4]
movsd xmm0, qword [ecx + esi*8 + 0x28]
mulsd xmm7, xmm0
movsd xmm1, qword [ecx + esi*8 + 0x30]
subsd xmm6, xmm7
mulsd xmm4, xmm1
movsd xmm2, qword [ecx + esi*8 + 0x38]
subsd xmm6, xmm4
movsd xmm5, qword [ebx + edx*8 + 8]
mulsd xmm5, xmm2
movsd xmm4, qword [ebx + edx*8 + 0x10]
subsd xmm6, xmm5
movsd xmm3, qword [ecx + esi*8 + 0x40]
mulsd xmm4, xmm3
mov esi, dword [esp + 4]
subsd xmm6, xmm4
movsd qword [ebx + edx*8 + 0x18], xmm6
movsd xmm6, qword [ebx + esi*8 - 8]
mulsd xmm6, xmm0
movsd xmm7, qword [ebx + esi*8 + 0x18]
movsd xmm4, qword [ebx + esi*8]
subsd xmm7, xmm6
mulsd xmm4, xmm1
movsd xmm5, qword [ebx + esi*8 + 8]
subsd xmm7, xmm4
mulsd xmm5, xmm2
movsd xmm4, qword [ebx + esi*8 + 0x10]
subsd xmm7, xmm5
mulsd xmm4, xmm3
subsd xmm7, xmm4
movsd qword [ebx + esi*8 + 0x18], xmm7
movsd xmm7, qword [ebx + edi*8]
mulsd xmm7, xmm0
movsd xmm4, qword [ebx + edi*8 + 0x20]
movsd xmm6, qword [ebx + edi*8 + 8]
subsd xmm4, xmm7
mulsd xmm6, xmm1
movsd xmm5, qword [ebx + edi*8 + 0x10]
subsd xmm4, xmm6
mulsd xmm5, xmm2
movsd xmm7, qword [ebx + edi*8 + 0x18]
subsd xmm4, xmm5
mulsd xmm7, xmm3
subsd xmm4, xmm7
movsd qword [ebx + edi*8 + 0x20], xmm4
movsd xmm4, qword [ebx + eax*8 + 0x10]
mulsd xmm4, xmm0
movsd xmm5, qword [ebx + eax*8 + 0x30]
movsd xmm7, qword [ebx + eax*8 + 0x18]
subsd xmm5, xmm4
mulsd xmm7, xmm1
movsd xmm6, qword [ebx + eax*8 + 0x20]
subsd xmm5, xmm7
mulsd xmm6, xmm2
movsd xmm4, qword [ebx + eax*8 + 0x28]
subsd xmm5, xmm6
mulsd xmm4, xmm3
subsd xmm5, xmm4
movsd qword [ebx + eax*8 + 0x30], xmm5
mov eax, dword [esp + 0x10]
movsd xmm5, qword [ebx + eax*8 + 0x28]
mulsd xmm5, xmm0
movsd xmm6, qword [ebx + eax*8 + 0x48]
movsd xmm4, qword [ebx + eax*8 + 0x30]
subsd xmm6, xmm5
mulsd xmm4, xmm1
movsd xmm7, qword [ebx + eax*8 + 0x38]
subsd xmm6, xmm4
mulsd xmm7, xmm2
movsd xmm4, qword [ebx + eax*8 + 0x40]
subsd xmm6, xmm7
mulsd xmm4, xmm3
subsd xmm6, xmm4
movsd qword [ebx + eax*8 + 0x48], xmm6
mov eax, dword [esp + 0x14]
movsd xmm6, qword [ebx + eax*8 + 0x48]
mulsd xmm6, xmm0
movsd xmm4, qword [ebx + eax*8 + 0x68]
movsd xmm0, qword [ebx + eax*8 + 0x50]
subsd xmm4, xmm6
mulsd xmm0, xmm1
movsd xmm1, qword [ebx + eax*8 + 0x58]
subsd xmm4, xmm0
mulsd xmm1, xmm2
movsd xmm2, qword [ebx + eax*8 + 0x60]
subsd xmm4, xmm1
mulsd xmm2, xmm3
subsd xmm4, xmm2
movsd qword [ebx + eax*8 + 0x68], xmm4
mov eax, dword [esp]
movsd xmm0, qword [ebx + edx*8 - 8]
movsd xmm1, qword [ebx + edx*8 + 0x20]
movsd xmm2, qword [ebx + edx*8]
lea eax, [eax + eax*4]
add eax, edx
movsd xmm4, qword [ecx + eax*8 + 0x48]
mulsd xmm0, xmm4
movsd xmm5, qword [ecx + eax*8 + 0x50]
subsd xmm1, xmm0
mulsd xmm2, xmm5
movsd xmm6, qword [ecx + eax*8 + 0x58]
subsd xmm1, xmm2
movsd xmm0, qword [ebx + edx*8 + 8]
mulsd xmm0, xmm6
movsd xmm2, qword [ebx + edx*8 + 0x10]
subsd xmm1, xmm0
movsd xmm7, qword [ecx + eax*8 + 0x60]
mulsd xmm2, xmm7
movsd xmm3, qword [ecx + eax*8 + 0x68]
subsd xmm1, xmm2
movsd xmm0, qword [ebx + edx*8 + 0x18]
mulsd xmm0, xmm3
mov ecx, dword [esp + 0xc]
subsd xmm1, xmm0
movsd qword [ebx + edx*8 + 0x20], xmm1
movsd xmm1, qword [ebx + esi*8 - 8]
mulsd xmm1, xmm4
movsd xmm2, qword [ebx + esi*8 + 0x20]
movsd xmm0, qword [ebx + esi*8]
subsd xmm2, xmm1
mulsd xmm0, xmm5
movsd xmm1, qword [ebx + esi*8 + 8]
subsd xmm2, xmm0
mulsd xmm1, xmm6
movsd xmm0, qword [ebx + esi*8 + 0x10]
subsd xmm2, xmm1
mulsd xmm0, xmm7
movsd xmm1, qword [ebx + esi*8 + 0x18]
subsd xmm2, xmm0
mulsd xmm1, xmm3
mov eax, dword [esp + 0x10]
subsd xmm2, xmm1
movsd qword [ebx + esi*8 + 0x20], xmm2
movsd xmm2, qword [ebx + edi*8]
mulsd xmm2, xmm4
movsd xmm0, qword [ebx + edi*8 + 0x28]
movsd xmm1, qword [ebx + edi*8 + 8]
subsd xmm0, xmm2
mulsd xmm1, xmm5
movsd xmm2, qword [ebx + edi*8 + 0x10]
subsd xmm0, xmm1
mulsd xmm2, xmm6
movsd xmm1, qword [ebx + edi*8 + 0x18]
subsd xmm0, xmm2
mulsd xmm1, xmm7
movsd xmm2, qword [ebx + edi*8 + 0x20]
subsd xmm0, xmm1
mulsd xmm2, xmm3
mov edx, dword [esp + 0x14]
subsd xmm0, xmm2
movsd qword [ebx + edi*8 + 0x28], xmm0
movsd xmm0, qword [ebx + ecx*8 + 0x10]
mulsd xmm0, xmm4
movsd xmm1, qword [ebx + ecx*8 + 0x38]
movsd xmm2, qword [ebx + ecx*8 + 0x18]
subsd xmm1, xmm0
mulsd xmm2, xmm5
movsd xmm0, qword [ebx + ecx*8 + 0x20]
subsd xmm1, xmm2
mulsd xmm0, xmm6
movsd xmm2, qword [ebx + ecx*8 + 0x28]
subsd xmm1, xmm0
mulsd xmm2, xmm7
movsd xmm0, qword [ebx + ecx*8 + 0x30]
subsd xmm1, xmm2
mulsd xmm0, xmm3
subsd xmm1, xmm0
movsd qword [ebx + ecx*8 + 0x38], xmm1
movsd xmm1, qword [ebx + eax*8 + 0x28]
mulsd xmm1, xmm4
movsd xmm2, qword [ebx + eax*8 + 0x50]
movsd xmm0, qword [ebx + eax*8 + 0x30]
subsd xmm2, xmm1
mulsd xmm0, xmm5
movsd xmm1, qword [ebx + eax*8 + 0x38]
subsd xmm2, xmm0
mulsd xmm1, xmm6
movsd xmm0, qword [ebx + eax*8 + 0x40]
subsd xmm2, xmm1
mulsd xmm0, xmm7
movsd xmm1, qword [ebx + eax*8 + 0x48]
subsd xmm2, xmm0
mulsd xmm1, xmm3
subsd xmm2, xmm1
movsd qword [ebx + eax*8 + 0x50], xmm2
movsd xmm2, qword [ebx + edx*8 + 0x48]
mulsd xmm2, xmm4
movsd xmm4, qword [ebx + edx*8 + 0x70]
movsd xmm0, qword [ebx + edx*8 + 0x50]
subsd xmm4, xmm2
mulsd xmm0, xmm5
movsd xmm5, qword [ebx + edx*8 + 0x58]
subsd xmm4, xmm0
mulsd xmm5, xmm6
movsd xmm6, qword [ebx + edx*8 + 0x60]
subsd xmm4, xmm5
mulsd xmm6, xmm7
movsd xmm7, qword [ebx + edx*8 + 0x68]
subsd xmm4, xmm6
mulsd xmm7, xmm3
subsd xmm4, xmm7
movsd qword [ebx + edx*8 + 0x70], xmm4
add esp, 0x644
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
mov ebx, dword [ebp + 0x10]
lea esi, [eax + eax*4]
xor edx, edx
pxor xmm0, xmm0
movsd qword [esp + 0x540], xmm0
lea edi, [ebx + esi*8]
mov esi, eax
shl esi, 5
mov dword [esp + 0x38], edi
lea edi, [eax + eax*2]
add esi, ebx
mov dword [esp + 0x48], esi
lea esi, [ebx + edi*8]
mov edi, eax
lea eax, [ebx + eax*8]
shl edi, 4
add edi, ebx
movsd qword [esp + 0x550], xmm0
movsd qword [esp + 0x558], xmm0
movsd qword [esp + 0x548], xmm0
movsd qword [esp + 0x538], xmm0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], eax
jmp 0x41d3bd
add edx, dword [ebp + 8]
xor esi, esi
pxor xmm1, xmm1
movsd qword [esp + 0x560], xmm1
movsd qword [esp + 0x568], xmm1
movsd qword [esp + 0x570], xmm1
movsd qword [esp + 0x578], xmm1
movsd qword [esp + 0x580], xmm1
jmp 0x41d66d
mov eax, dword [ebp + 8]
xor ebx, ebx
pxor xmm1, xmm1
movsd qword [esp + 0x5a0], xmm1
movsd qword [esp + 0x588], xmm1
lea esi, [eax + edi*8]
movsd qword [esp + 0x5a8], xmm1
movsd qword [esp + 0x590], xmm1
movsd qword [esp + 0x598], xmm1
mov dword [esp + 0x50], esi
jmp 0x41d96c
add eax, dword [ebp + 8]
xor ebx, ebx
pxor xmm1, xmm1
movsd qword [esp + 0x5c0], xmm1
movsd qword [esp + 0x5d0], xmm1
movsd qword [esp + 0x5b8], xmm1
movsd qword [esp + 0x5b0], xmm1
movsd qword [esp + 0x5c8], xmm1
jmp 0x41dc95
xor ebx, ebx
pxor xmm3, xmm3
movaps xmm1, xmm3
movsd qword [esp + 0x5d8], xmm3
movsd qword [esp + 0x5e0], xmm3
movsd qword [esp + 0x5e8], xmm1
jmp 0x41dff0
mov dword [esp + 0xdc], 0
jmp 0x41e47c
mov dword [esp + 0xf4], 0
jmp 0x41e651
mov dword [esp + 0xf0], 0
jmp 0x41e7cc
mov dword [esp + 0xc0], 0
jmp 0x41e9cb
mov dword [esp + 0xac], 0
jmp 0x41eb3c
mov dword [esp + 0x1d4], 0
jmp 0x41ec6e
mov dword [esp + 0xcc], 0
jmp 0x41ee2f
mov dword [esp + 0xec], 0
jmp 0x41f053
mov dword [esp + 0xb0], 0
jmp 0x41f281
mov dword [esp + 0xbc], 0
jmp 0x41f490
mov dword [esp + 0x1e4], 0
jmp 0x41f6b4
mov dword [esp + 0x1d0], 0
jmp 0x41f895
mov dword [esp + 0x158], 0
jmp 0x41f9f6
mov dword [esp + 0x10c], 0
jmp 0x41fc1e
mov dword [esp + 0x114], 0
jmp 0x41fe11
mov dword [esp + 0x108], 0
jmp 0x420022
mov dword [esp + 0xe0], 0
jmp 0x420252
mov dword [esp + 0x1e8], 0
jmp 0x4203d6
mov dword [esp + 0xa0], 0
jmp 0x4205bc
mov dword [esp + 0xe4], 0
jmp 0x42079d
mov dword [esp + 0x90], 0
jmp 0x4209cb
mov ebx, dword [esp + 0x5f0]
mov esi, dword [esp + 0x1f4]
shl ebx, 4
add ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x570]
lea esi, [esi + ecx*8]
mov eax, esi
lea ebx, [ebx + ecx*8]
mov esi, dword [esp + 0x90]
movsd xmm7, qword [ebx + esi*8]
mulsd xmm7, qword [eax + esi*8 + 0x10]
inc esi
cmp esi, 9
addsd xmm0, xmm7
jb 0x423a68
mov esi, dword [esp + 0x5f0]
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x558]
lea ebx, [ebx + esi*8]
lea esi, [ebx + ecx*8]
mov ebx, dword [esp + 0x1f4]
mov dword [esp + 0x164], esi
lea esi, [ebx + ecx*8]
mov eax, esi
mov ebx, dword [esp + 0x164]
mov esi, dword [esp + 0xe4]
movsd xmm7, qword [ebx + esi*8 - 8]
mulsd xmm7, qword [eax + esi*8 + 0x10]
inc esi
cmp esi, 9
addsd xmm0, xmm7
jb 0x423acc
movsd qword [esp + 0x558], xmm0
mov eax, dword [esp + 0x5fc]
jmp 0x4207ab
mov esi, dword [esp + 0x1f4]
mov ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x628]
lea esi, [esi + ecx*8]
mov eax, esi
lea ebx, [ebx + ecx*8]
mov esi, dword [esp + 0xa0]
movsd xmm7, qword [ebx + esi*8 - 8]
mulsd xmm7, qword [eax + esi*8 + 0x10]
inc esi
cmp esi, 9
addsd xmm0, xmm7
jb 0x423b19
movsd qword [esp + 0x628], xmm0
mov eax, dword [esp + 0x5fc]
jmp 0x4205ca
mov ebx, dword [esp + 0x5f8]
mov edx, dword [ebp + 8]
lea esi, [edx + ebx*8]
mov ebx, dword [ebp + 0x10]
lea edx, [esi + ecx*8]
mov esi, dword [esp + 4]
add ebx, esi
mov esi, dword [esp + 0x1e8]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [edx + esi*8 + 0x48]
mulsd xmm7, qword [ebx + esi*8]
inc esi
cmp esi, 9
addsd xmm3, xmm7
jb 0x423b67
jmp 0x4203e4
mov edx, dword [esp + 0x5f0]
shl edx, 5
add edx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
movsd xmm0, qword [esp + 0x5d0]
lea ebx, [edx + ecx*8]
mov edx, dword [esp + 4]
mov dword [esp + 0x190], ebx
lea ebx, [esi + edx]
mov esi, dword [esp + 0xe0]
lea edx, [ebx + ecx*8]
mov ebx, dword [esp + 0x190]
movsd xmm7, qword [ebx + esi*8 + 0x28]
mulsd xmm7, qword [edx + esi*8]
inc esi
cmp esi, 9
addsd xmm0, xmm7
jb 0x423bbc
movsd qword [esp + 0x5d0], xmm0
jmp 0x420260
mov edx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x588]
lea ebx, [edx + edi*8]
mov edx, dword [ebp + 0x10]
lea esi, [ebx + ecx*8]
mov ebx, dword [esp + 4]
mov dword [esp + 0x180], esi
lea esi, [edx + ebx]
mov ebx, dword [esp + 0x180]
lea edx, [esi + ecx*8]
mov esi, dword [esp + 0x108]
movsd xmm7, qword [ebx + esi*8 + 0x10]
mulsd xmm7, qword [edx + esi*8]
inc esi
cmp esi, 9
addsd xmm0, xmm7
jb 0x423c13
movsd qword [esp + 0x588], xmm0
jmp 0x420030
mov edx, dword [esp + 0x5f0]
shl edx, 4
add edx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
movsd xmm0, qword [esp + 0x568]
lea ebx, [edx + ecx*8]
mov edx, dword [esp + 4]
mov dword [esp + 0x16c], ebx
lea ebx, [esi + edx]
mov esi, dword [esp + 0x114]
lea edx, [ebx + ecx*8]
mov ebx, dword [esp + 0x16c]
movsd xmm7, qword [ebx + esi*8]
mulsd xmm7, qword [edx + esi*8]
inc esi
cmp esi, 9
addsd xmm0, xmm7
jb 0x423c71
movsd qword [esp + 0x568], xmm0
jmp 0x41fe1f
mov ebx, dword [esp + 0x5f0]
mov edx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x550]
lea esi, [edx + ebx*8]
mov ebx, dword [ebp + 0x10]
lea edx, [esi + ecx*8]
mov esi, dword [esp + 4]
mov dword [esp + 0x188], edx
lea edx, [ebx + esi]
mov ebx, dword [esp + 0x188]
mov esi, dword [esp + 0x10c]
lea edx, [edx + ecx*8]
movsd xmm7, qword [ebx + esi*8 - 8]
mulsd xmm7, qword [edx + esi*8]
inc esi
cmp esi, 9
addsd xmm0, xmm7
jb 0x423cce
movsd qword [esp + 0x550], xmm0
jmp 0x41fc2c
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
lea ebx, [edx + ecx*8]
mov edx, dword [esp + 4]
mov dword [esp + 0xc], ebx
lea ebx, [esi + edx]
mov esi, dword [esp + 0x158]
lea edx, [ebx + ecx*8]
mov ebx, dword [esp + 0xc]
movsd xmm7, qword [ebx + esi*8 - 8]
mulsd xmm7, qword [edx + esi*8]
inc esi
cmp esi, 9
addsd xmm4, xmm7
jb 0x423d13
jmp 0x41fa04
mov ebx, dword [esp + 0x5f8]
mov edx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x5d8]
lea esi, [edx + ebx*8]
mov ebx, dword [esp + 0x1f8]
lea edx, [esi + ecx*8]
mov esi, dword [esp + 0x1d0]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [edx + esi*8 + 0x48]
mulsd xmm7, qword [ebx + esi*8 - 8]
inc esi
cmp esi, 9
addsd xmm0, xmm7
jb 0x423d57
movsd qword [esp + 0x5d8], xmm0
jmp 0x41f8a3
mov ebx, dword [esp + 0x5f0]
shl ebx, 5
add ebx, dword [ebp + 8]
movsd xmm0, qword [esp + 0x5c0]
lea esi, [ebx + ecx*8]
mov ebx, dword [esp + 0x1f8]
mov eax, esi
mov esi, dword [esp + 0x1e4]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [eax + esi*8 + 0x28]
mulsd xmm7, qword [ebx + esi*8 - 8]
inc esi
cmp esi, 9
addsd xmm0, xmm7
jb 0x423da7
movsd qword [esp + 0x5c0], xmm0
mov eax, dword [esp + 0x5fc]
jmp 0x41f6c2
mov esi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x5a0]
mov eax, dword [esp + 0xbc]
lea ebx, [esi + edi*8]
lea esi, [ebx + ecx*8]
mov ebx, dword [esp + 0x1f8]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [esi + eax*8 + 0x10]
mulsd xmm7, qword [ebx + eax*8 - 8]
inc eax
cmp eax, 9
addsd xmm0, xmm7
jb 0x423df5
movsd qword [esp + 0x5a0], xmm0
mov eax, dword [esp + 0x5fc]
jmp 0x41f49e
mov esi, dword [esp + 0x5f0]
shl esi, 4
mov ebx, dword [esp + 0x1f8]
add esi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x560]
mov eax, dword [esp + 0xb0]
lea ebx, [ebx + ecx*8]
lea esi, [esi + ecx*8]
movsd xmm7, qword [esi + eax*8]
mulsd xmm7, qword [ebx + eax*8 - 8]
inc eax
cmp eax, 9
addsd xmm0, xmm7
jb 0x423e4a
movsd qword [esp + 0x560], xmm0
mov eax, dword [esp + 0x5fc]
jmp 0x41f28f
mov ebx, dword [esp + 0x5f0]
mov esi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x540]
mov eax, dword [esp + 0xec]
lea esi, [esi + ebx*8]
mov ebx, dword [esp + 0x1f8]
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [esi + eax*8 - 8]
mulsd xmm7, qword [ebx + eax*8 - 8]
inc eax
cmp eax, 9
addsd xmm0, xmm7
jb 0x423e9e
movsd qword [esp + 0x540], xmm0
mov eax, dword [esp + 0x5fc]
jmp 0x41f061
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x1f8]
movsd xmm0, qword [esp + 0x618]
mov eax, dword [esp + 0xcc]
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [esi + eax*8 - 8]
mulsd xmm7, qword [ebx + eax*8 - 8]
inc eax
cmp eax, 9
addsd xmm0, xmm7
jb 0x423ee9
movsd qword [esp + 0x618], xmm0
mov eax, dword [esp + 0x5fc]
jmp 0x41ee3d
mov ebx, dword [esp + 0x5f8]
mov edx, dword [ebp + 8]
lea esi, [edx + ebx*8]
mov ebx, dword [ebp + 0x10]
lea edx, [esi + ecx*8]
mov esi, dword [esp + 0x1d4]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [edx + esi*8 + 0x48]
mulsd xmm7, qword [ebx + esi*8 - 8]
inc esi
cmp esi, 9
addsd xmm6, xmm7
jb 0x423f31
jmp 0x41ec7c
mov esi, dword [esp + 0x5f0]
shl esi, 5
add esi, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
mov eax, dword [esp + 0xac]
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [esi + eax*8 + 0x28]
mulsd xmm7, qword [ebx + eax*8 - 8]
inc eax
cmp eax, 9
addsd xmm5, xmm7
jb 0x423f69
mov eax, dword [esp + 0x5fc]
jmp 0x41eb4a
mov esi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x608]
mov eax, dword [esp + 0xc0]
lea ebx, [esi + edi*8]
lea esi, [ebx + ecx*8]
mov ebx, dword [ebp + 0x10]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [esi + eax*8 + 0x10]
mulsd xmm7, qword [ebx + eax*8 - 8]
inc eax
cmp eax, 9
addsd xmm0, xmm7
jb 0x423faa
movsd qword [esp + 0x608], xmm0
mov eax, dword [esp + 0x5fc]
jmp 0x41e9d9
mov esi, dword [esp + 0x5f0]
shl esi, 4
add esi, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
mov eax, dword [esp + 0xf0]
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [esi + eax*8]
mulsd xmm7, qword [ebx + eax*8 - 8]
inc eax
cmp eax, 9
addsd xmm2, xmm7
jb 0x423ff2
mov eax, dword [esp + 0x5fc]
jmp 0x41e7da
mov ebx, dword [esp + 0x5f0]
mov esi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x600]
mov eax, dword [esp + 0xf4]
lea esi, [esi + ebx*8]
mov ebx, dword [ebp + 0x10]
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [esi + eax*8 - 8]
mulsd xmm7, qword [ebx + eax*8 - 8]
inc eax
cmp eax, 9
addsd xmm0, xmm7
jb 0x424039
movsd qword [esp + 0x600], xmm0
mov eax, dword [esp + 0x5fc]
jmp 0x41e65f
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
movsd xmm0, qword [esp + 0x630]
mov eax, dword [esp + 0xdc]
lea esi, [esi + ecx*8]
lea ebx, [ebx + ecx*8]
movsd xmm7, qword [esi + eax*8 - 8]
mulsd xmm7, qword [ebx + eax*8 - 8]
inc eax
cmp eax, 9
addsd xmm0, xmm7
jb 0x424080
movsd qword [esp + 0x630], xmm0
mov eax, dword [esp + 0x5fc]
jmp 0x41e48a
movaps xmm4, xmm0
movaps xmm2, xmm0
movaps xmm1, xmm0
movaps xmm3, xmm0
movaps xmm7, xmm0
jmp 0x41de88
movaps xmm4, xmm0
movaps xmm3, xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
movaps xmm7, xmm0
jmp 0x41db4f
movaps xmm6, xmm0
movaps xmm4, xmm0
movaps xmm3, xmm0
movaps xmm1, xmm0
movaps xmm5, xmm0
jmp 0x41d832
movaps xmm6, xmm0
movaps xmm4, xmm0
movaps xmm3, xmm0
movaps xmm1, xmm0
movaps xmm5, xmm0
jmp 0x41d551
pxor xmm0, xmm0
movaps xmm6, xmm0
movaps xmm4, xmm0
movaps xmm3, xmm0
movaps xmm1, xmm0
movaps xmm7, xmm0
jmp 0x41d29e
mov eax, edi
pxor xmm0, xmm0
movaps xmm2, xmm0
movaps xmm5, xmm2
lea edx, [eax + eax*4]
movaps xmm6, xmm5
lea edi, [eax + eax*2]
movaps xmm4, xmm6
movaps xmm3, xmm4
movaps xmm1, xmm3
movaps xmm7, xmm1
movsd qword [esp + 0x600], xmm0
movsd qword [esp + 0x608], xmm2
movsd qword [esp + 0x618], xmm6
movsd qword [esp + 0x540], xmm4
movsd qword [esp + 0x560], xmm4
movsd qword [esp + 0x5a0], xmm4
movsd qword [esp + 0x5c0], xmm4
movsd qword [esp + 0x5d8], xmm4
movsd qword [esp + 0x550], xmm4
movsd qword [esp + 0x568], xmm3
movsd qword [esp + 0x588], xmm3
movsd qword [esp + 0x5d0], xmm3
movsd qword [esp + 0x628], xmm3
movsd qword [esp + 0x558], xmm1
movsd qword [esp + 0x570], xmm1
movsd qword [esp + 0x5a8], xmm1
movsd qword [esp + 0x5b8], xmm1
movsd qword [esp + 0x5e0], xmm1
movsd qword [esp + 0x610], xmm1
movsd qword [esp + 0x548], xmm1
movsd qword [esp + 0x578], xmm1
movsd qword [esp + 0x590], xmm1
movsd qword [esp + 0x5b0], xmm1
movsd qword [esp + 0x620], xmm1
movsd qword [esp + 0x538], xmm7
movsd qword [esp + 0x580], xmm7
movsd qword [esp + 0x598], xmm7
movsd qword [esp + 0x5c8], xmm7
movsd qword [esp + 0x5e8], xmm7
mov dword [esp + 0x5f8], edx
jmp 0x41e296