Function at 0x1003df00
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x24
lea eax, [0x1003deb0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
test esi, 0xf
jne 0x1003df24
mov dword [esp + 0x44], esi
cmp ecx, 0x400
jg 0x1003df34
xor ebx, ebx
mov dword [esp + 0x10], ebx
jmp 0x1003df60
mov ebx, 0x400
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x18], ecx
shr ecx, 0xa
mov dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x1c], ebx
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov eax, dword [esp]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x44]
lea esp, [esp]
lea ebx, [ebx]
movsd xmm0, qword [esi]
movhps xmm0, qword [esi + 0x10]
movsd xmm1, qword [esi + 8]
movhps xmm1, qword [esi + 0x18]
movsd xmm3, qword [esi + 0x20]
movhps xmm3, qword [esi + 0x30]
movsd xmm6, qword [esi + 0x28]
movhps xmm6, qword [esi + 0x38]
movaps xmm2, xmm0
subps xmm0, xmm1
xorps xmm0, xmmword [eax + 0x20]
addps xmm1, xmm2
movaps xmm5, xmm3
subps xmm3, xmm6
xorps xmm3, xmmword [eax + 0x20]
addps xmm6, xmm5
movaps xmm2, xmm1
shufps xmm1, xmm0, 0xbe
movlhps xmm2, xmm0
movaps xmm0, xmm1
addps xmm1, xmm2
subps xmm2, xmm0
movaps xmm5, xmm6
shufps xmm6, xmm3, 0xbe
movlhps xmm5, xmm3
movaps xmm3, xmm6
addps xmm6, xmm5
subps xmm5, xmm3
movaps xmm0, xmm1
shufps xmm1, xmm2, 0x88
movaps xmmword [edi], xmm1
shufps xmm0, xmm2, 0xdd
movaps xmmword [edi + 0x10], xmm0
movaps xmm3, xmm6
shufps xmm6, xmm5, 0x88
shufps xmm3, xmm5, 0xdd
movsd xmm4, qword [esi + 0x40]
movhps xmm4, qword [esi + 0x50]
movsd xmm1, qword [esi + 0x48]
movhps xmm1, qword [esi + 0x58]
movsd xmm2, qword [esi + 0x60]
movhps xmm2, qword [esi + 0x70]
movsd xmm5, qword [esi + 0x68]
movhps xmm5, qword [esi + 0x78]
movaps xmm0, xmm4
subps xmm4, xmm1
xorps xmm4, xmmword [eax + 0x20]
addps xmm1, xmm0
movaps xmm7, xmm2
subps xmm2, xmm5
xorps xmm2, xmmword [eax + 0x20]
addps xmm5, xmm7
movaps xmm0, xmm1
shufps xmm1, xmm4, 0xbe
movlhps xmm0, xmm4
movaps xmm4, xmm1
addps xmm1, xmm0
subps xmm0, xmm4
movaps xmm7, xmm5
shufps xmm5, xmm2, 0xbe
movlhps xmm7, xmm2
movaps xmm2, xmm5
addps xmm5, xmm7
subps xmm7, xmm2
movaps xmm4, xmm1
shufps xmm4, xmm0, 0x88
shufps xmm1, xmm0, 0xdd
movaps xmm2, xmm5
shufps xmm2, xmm7, 0x88
shufps xmm5, xmm7, 0xdd
movaps xmm0, xmmword [ebx]
mulps xmm0, xmm4
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm4, xmm7
mulps xmm7, xmm1
mulps xmm1, xmmword [ebx]
subps xmm0, xmm7
addps xmm1, xmm4
movaps xmm4, xmmword [ebx + 0x40]
mulps xmm4, xmm2
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm2, xmm7
mulps xmm7, xmm5
mulps xmm5, xmmword [ebx + 0x40]
subps xmm4, xmm7
addps xmm5, xmm2
movaps xmm2, xmmword [ebx + 0x20]
mulps xmm2, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmm3
mulps xmm3, xmmword [ebx + 0x20]
subps xmm2, xmm7
addps xmm3, xmm6
add esi, 0x80
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [edi]
subps xmm6, xmm2
addps xmm2, xmmword [edi]
movaps xmm7, xmm4
addps xmm4, xmm2
movaps xmmword [edi], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [edi + 0x10]
subps xmm4, xmm3
addps xmm3, xmmword [edi + 0x10]
movaps xmm7, xmm5
addps xmm5, xmm3
movaps xmmword [edi + 0x10], xmm5
subps xmm3, xmm7
movaps xmm7, xmm6
addps xmm6, xmm1
movaps xmmword [edi + 0x20], xmm6
subps xmm7, xmm1
movaps xmm5, xmm4
subps xmm4, xmm0
movaps xmmword [edi + 0x30], xmm4
movaps xmmword [edi + 0x40], xmm2
movaps xmmword [edi + 0x50], xmm3
movaps xmmword [edi + 0x60], xmm7
addps xmm5, xmm0
movaps xmmword [edi + 0x70], xmm5
add edi, 0x80
sub ebp, 0x10
jg 0x1003df80
add ebx, 0x60
mov dword [esp + 0x40], ebx
mov ecx, 0x10
mov edx, dword [esp + 0x3c]
cmp edx, 0x20
je 0x1003ef4b
cmp edx, 0x40
je 0x1003e75a
shr edx, 6
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 4]
shl ecx, 3
lea eax, [ecx + ecx*2]
test edi, 0xf
jne 0x1003e5ae
mov esi, dword [esp + 4]
cmp esi, 4
jne 0x1003e3bb
mov ebx, dword [esp + 0x40]
movaps xmm0, xmmword [edi + ecx*2]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [edi + ecx*2 + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [edi + ecx*2]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + edi]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + edi + 0x10]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + edi]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + edi]
movaps xmm3, xmmword [ebx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + edi + 0x10]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + edi]
subps xmm2, xmm6
addps xmm3, xmm7
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [edi]
subps xmm6, xmm2
addps xmm2, xmmword [edi]
movaps xmm7, xmm4
addps xmm4, xmm2
movaps xmmword [edi], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [edi + 0x10]
subps xmm4, xmm3
addps xmm3, xmmword [edi + 0x10]
movaps xmm7, xmm5
addps xmm5, xmm3
movaps xmmword [edi + 0x10], xmm5
subps xmm3, xmm7
movaps xmm7, xmm6
addps xmm6, xmm1
movaps xmmword [ecx + edi], xmm6
movaps xmm5, xmm4
subps xmm4, xmm0
movaps xmmword [ecx + edi + 0x10], xmm4
movaps xmmword [edi + ecx*2], xmm2
movaps xmmword [edi + ecx*2 + 0x10], xmm3
subps xmm7, xmm1
movaps xmmword [eax + edi], xmm7
addps xmm5, xmm0
movaps xmmword [eax + edi + 0x10], xmm5
movaps xmm0, xmmword [edi + ecx*2 + 0x80]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [edi + ecx*2 + 0x90]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [edi + ecx*2 + 0x80]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + edi + 0x80]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + edi + 0x90]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + edi + 0x80]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + edi + 0x80]
movaps xmm3, xmmword [ebx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + edi + 0x90]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + edi + 0x80]
subps xmm2, xmm6
addps xmm3, xmm7
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [edi + 0x80]
subps xmm6, xmm2
addps xmm2, xmmword [edi + 0x80]
movaps xmm7, xmm4
addps xmm4, xmm2
movaps xmmword [edi + 0x80], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [edi + 0x90]
subps xmm4, xmm3
addps xmm3, xmmword [edi + 0x90]
movaps xmm7, xmm5
addps xmm5, xmm3
movaps xmmword [edi + 0x90], xmm5
subps xmm3, xmm7
movaps xmm7, xmm6
addps xmm6, xmm1
movaps xmmword [ecx + edi + 0x80], xmm6
movaps xmm5, xmm4
subps xmm4, xmm0
movaps xmmword [ecx + edi + 0x90], xmm4
movaps xmmword [edi + ecx*2 + 0x80], xmm2
movaps xmmword [edi + ecx*2 + 0x90], xmm3
subps xmm7, xmm1
movaps xmmword [eax + edi + 0x80], xmm7
addps xmm5, xmm0
movaps xmmword [eax + edi + 0x90], xmm5
add edi, 0x100
sub edx, 2
jg 0x1003e1a7
add ebx, 0x60
mov dword [esp + 0x40], ebx
jmp 0x1003e6d8
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x40]
movaps xmm0, xmmword [edi + ecx*2]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [edi + ecx*2 + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [edi + ecx*2]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + edi]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + edi + 0x10]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + edi]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + edi]
movaps xmm3, xmmword [ebx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + edi + 0x10]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + edi]
subps xmm2, xmm6
addps xmm3, xmm7
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [edi]
subps xmm6, xmm2
addps xmm2, xmmword [edi]
movaps xmm7, xmm4
addps xmm4, xmm2
movaps xmmword [edi], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [edi + 0x10]
subps xmm4, xmm3
addps xmm3, xmmword [edi + 0x10]
movaps xmm7, xmm5
addps xmm5, xmm3
movaps xmmword [edi + 0x10], xmm5
subps xmm3, xmm7
movaps xmm7, xmm6
addps xmm6, xmm1
movaps xmmword [ecx + edi], xmm6
movaps xmm5, xmm4
subps xmm4, xmm0
movaps xmmword [ecx + edi + 0x10], xmm4
movaps xmmword [edi + ecx*2], xmm2
movaps xmmword [edi + ecx*2 + 0x10], xmm3
subps xmm7, xmm1
movaps xmmword [eax + edi], xmm7
addps xmm5, xmm0
movaps xmmword [eax + edi + 0x10], xmm5
movaps xmm0, xmmword [edi + ecx*2 + 0x20]
movaps xmm1, xmmword [ebx + 0x60]
mulps xmm0, xmm1
movaps xmm6, xmmword [edi + ecx*2 + 0x30]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x70]
mulps xmm6, xmm7
mulps xmm7, xmmword [edi + ecx*2 + 0x20]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + edi + 0x20]
movaps xmm5, xmmword [ebx + 0xa0]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + edi + 0x30]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0xb0]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + edi + 0x20]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + edi + 0x20]
movaps xmm3, xmmword [ebx + 0x80]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + edi + 0x30]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x90]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + edi + 0x20]
subps xmm2, xmm6
addps xmm3, xmm7
add ebx, 0xc0
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [edi + 0x20]
subps xmm6, xmm2
addps xmm2, xmmword [edi + 0x20]
movaps xmm7, xmm4
addps xmm4, xmm2
movaps xmmword [edi + 0x20], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [edi + 0x30]
subps xmm4, xmm3
addps xmm3, xmmword [edi + 0x30]
movaps xmm7, xmm5
addps xmm5, xmm3
movaps xmmword [edi + 0x30], xmm5
subps xmm3, xmm7
movaps xmm7, xmm6
addps xmm6, xmm1
movaps xmmword [ecx + edi + 0x20], xmm6
movaps xmm5, xmm4
subps xmm4, xmm0
movaps xmmword [ecx + edi + 0x30], xmm4
movaps xmmword [edi + ecx*2 + 0x20], xmm2
movaps xmmword [edi + ecx*2 + 0x30], xmm3
subps xmm7, xmm1
movaps xmmword [eax + edi + 0x20], xmm7
addps xmm5, xmm0
movaps xmmword [eax + edi + 0x30], xmm5
add edi, 0x40
sub esi, 8
jg 0x1003e3c3
add edi, eax
dec edx
jg 0x1003e3bb
mov dword [esp + 0x40], ebx
jmp 0x1003e6d8
lea ebx, [ecx + esi]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x40]
movaps xmm0, xmmword [esi + ecx*2]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [esi + ecx*2 + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [esi + ecx*2]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + esi]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + esi + 0x10]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + esi]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + esi]
movaps xmm3, xmmword [ebx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + esi + 0x10]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi]
subps xmm2, xmm6
addps xmm3, xmm7
add ebx, 0x60
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [esi]
subps xmm6, xmm2
addps xmm2, xmmword [esi]
movaps xmm7, xmm4
addps xmm4, xmm2
movlps qword [edi], xmm4
movhps qword [edi + 8], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [esi + 0x10]
subps xmm4, xmm3
addps xmm3, xmmword [esi + 0x10]
add esi, 0x20
movaps xmm7, xmm5
addps xmm5, xmm3
movlps qword [edi + 0x10], xmm5
movhps qword [edi + 0x18], xmm5
subps xmm3, xmm7
movlps qword [edi + ecx*2], xmm2
movhps qword [edi + ecx*2 + 8], xmm2
movlps qword [edi + ecx*2 + 0x10], xmm3
movhps qword [edi + ecx*2 + 0x18], xmm3
movaps xmm7, xmm6
addps xmm6, xmm1
movlps qword [ecx + edi], xmm6
movhps qword [ecx + edi + 8], xmm6
subps xmm7, xmm1
movaps xmm5, xmm4
subps xmm4, xmm0
movlps qword [ecx + edi + 0x10], xmm4
movhps qword [ecx + edi + 0x18], xmm4
movlps qword [eax + edi], xmm7
movhps qword [eax + edi + 8], xmm7
addps xmm5, xmm0
movlps qword [eax + edi + 0x10], xmm5
movhps qword [eax + edi + 0x18], xmm5
add edi, 0x20
cmp esi, dword [esp + 0xc]
jne 0x1003e5b9
add esi, eax
add edi, eax
dec edx
jg 0x1003e5ae
mov dword [esp + 0x40], ebx
mov ecx, dword [esp + 4]
shl ecx, 2
mov edx, dword [esp + 8]
shr edx, 2
cmp edx, 2
jge 0x1003e16c
mov ebx, dword [esp + 0x10]
cmp ebx, 0
je 0x1003e751
cmp edx, 1
je 0x1003e16c
dec ebx
mov dword [esp + 0x10], ebx
je 0x1003e731
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
add ebx, 0x2000
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x44]
add ebx, 0x2000
mov dword [esp + 0x44], ebx
jmp 0x1003df60
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x44], ebx
mov edx, dword [esp + 0x18]
shr edx, 0xc
cmp edx, 1
jg 0x1003e16c
cmp edx, 0
je 0x1003ef4b
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x48]
cmp ebx, 1
je 0x1003ecd5
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
mov edx, 1
mov ecx, dword [esp + 4]
shl ecx, 3
lea eax, [ecx + ecx*2]
test edi, 0xf
jne 0x1003eba6
mov esi, dword [esp + 4]
cmp esi, 4
jne 0x1003e9b3
mov ebx, dword [esp + 0x40]
movaps xmm0, xmmword [edi + ecx*2]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [edi + ecx*2 + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [edi + ecx*2]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + edi]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + edi + 0x10]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + edi]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + edi]
movaps xmm3, xmmword [ebx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + edi + 0x10]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + edi]
subps xmm2, xmm6
addps xmm3, xmm7
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [edi]
subps xmm6, xmm2
addps xmm2, xmmword [edi]
movaps xmm7, xmm4
addps xmm4, xmm2
movaps xmmword [edi], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [edi + 0x10]
subps xmm4, xmm3
addps xmm3, xmmword [edi + 0x10]
movaps xmm7, xmm5
addps xmm5, xmm3
movaps xmmword [edi + 0x10], xmm5
subps xmm3, xmm7
movaps xmm7, xmm6
addps xmm6, xmm1
movaps xmmword [ecx + edi], xmm6
movaps xmm5, xmm4
subps xmm4, xmm0
movaps xmmword [ecx + edi + 0x10], xmm4
movaps xmmword [edi + ecx*2], xmm2
movaps xmmword [edi + ecx*2 + 0x10], xmm3
subps xmm7, xmm1
movaps xmmword [eax + edi], xmm7
addps xmm5, xmm0
movaps xmmword [eax + edi + 0x10], xmm5
movaps xmm0, xmmword [edi + ecx*2 + 0x80]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [edi + ecx*2 + 0x90]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [edi + ecx*2 + 0x80]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + edi + 0x80]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + edi + 0x90]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + edi + 0x80]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + edi + 0x80]
movaps xmm3, xmmword [ebx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + edi + 0x90]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + edi + 0x80]
subps xmm2, xmm6
addps xmm3, xmm7
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [edi + 0x80]
subps xmm6, xmm2
addps xmm2, xmmword [edi + 0x80]
movaps xmm7, xmm4
addps xmm4, xmm2
movaps xmmword [edi + 0x80], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [edi + 0x90]
subps xmm4, xmm3
addps xmm3, xmmword [edi + 0x90]
movaps xmm7, xmm5
addps xmm5, xmm3
movaps xmmword [edi + 0x90], xmm5
subps xmm3, xmm7
movaps xmm7, xmm6
addps xmm6, xmm1
movaps xmmword [ecx + edi + 0x80], xmm6
movaps xmm5, xmm4
subps xmm4, xmm0
movaps xmmword [ecx + edi + 0x90], xmm4
movaps xmmword [edi + ecx*2 + 0x80], xmm2
movaps xmmword [edi + ecx*2 + 0x90], xmm3
subps xmm7, xmm1
movaps xmmword [eax + edi + 0x80], xmm7
addps xmm5, xmm0
movaps xmmword [eax + edi + 0x90], xmm5
add edi, 0x100
sub edx, 2
jg 0x1003e79f
add ebx, 0x60
mov dword [esp + 0x40], ebx
jmp 0x1003ecd0
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x40]
movaps xmm0, xmmword [edi + ecx*2]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [edi + ecx*2 + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [edi + ecx*2]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + edi]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + edi + 0x10]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + edi]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + edi]
movaps xmm3, xmmword [ebx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + edi + 0x10]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + edi]
subps xmm2, xmm6
addps xmm3, xmm7
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [edi]
subps xmm6, xmm2
addps xmm2, xmmword [edi]
movaps xmm7, xmm4
addps xmm4, xmm2
movaps xmmword [edi], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [edi + 0x10]
subps xmm4, xmm3
addps xmm3, xmmword [edi + 0x10]
movaps xmm7, xmm5
addps xmm5, xmm3
movaps xmmword [edi + 0x10], xmm5
subps xmm3, xmm7
movaps xmm7, xmm6
addps xmm6, xmm1
movaps xmmword [ecx + edi], xmm6
movaps xmm5, xmm4
subps xmm4, xmm0
movaps xmmword [ecx + edi + 0x10], xmm4
movaps xmmword [edi + ecx*2], xmm2
movaps xmmword [edi + ecx*2 + 0x10], xmm3
subps xmm7, xmm1
movaps xmmword [eax + edi], xmm7
addps xmm5, xmm0
movaps xmmword [eax + edi + 0x10], xmm5
movaps xmm0, xmmword [edi + ecx*2 + 0x20]
movaps xmm1, xmmword [ebx + 0x60]
mulps xmm0, xmm1
movaps xmm6, xmmword [edi + ecx*2 + 0x30]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x70]
mulps xmm6, xmm7
mulps xmm7, xmmword [edi + ecx*2 + 0x20]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + edi + 0x20]
movaps xmm5, xmmword [ebx + 0xa0]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + edi + 0x30]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0xb0]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + edi + 0x20]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + edi + 0x20]
movaps xmm3, xmmword [ebx + 0x80]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + edi + 0x30]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x90]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + edi + 0x20]
subps xmm2, xmm6
addps xmm3, xmm7
add ebx, 0xc0
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [edi + 0x20]
subps xmm6, xmm2
addps xmm2, xmmword [edi + 0x20]
movaps xmm7, xmm4
addps xmm4, xmm2
movaps xmmword [edi + 0x20], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [edi + 0x30]
subps xmm4, xmm3
addps xmm3, xmmword [edi + 0x30]
movaps xmm7, xmm5
addps xmm5, xmm3
movaps xmmword [edi + 0x30], xmm5
subps xmm3, xmm7
movaps xmm7, xmm6
addps xmm6, xmm1
movaps xmmword [ecx + edi + 0x20], xmm6
movaps xmm5, xmm4
subps xmm4, xmm0
movaps xmmword [ecx + edi + 0x30], xmm4
movaps xmmword [edi + ecx*2 + 0x20], xmm2
movaps xmmword [edi + ecx*2 + 0x30], xmm3
subps xmm7, xmm1
movaps xmmword [eax + edi + 0x20], xmm7
addps xmm5, xmm0
movaps xmmword [eax + edi + 0x30], xmm5
add edi, 0x40
sub esi, 8
jg 0x1003e9bb
add edi, eax
dec edx
jg 0x1003e9b3
mov dword [esp + 0x40], ebx
jmp 0x1003ecd0
lea ebx, [ecx + esi]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x40]
movaps xmm0, xmmword [esi + ecx*2]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [esi + ecx*2 + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [esi + ecx*2]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + esi]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + esi + 0x10]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + esi]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + esi]
movaps xmm3, xmmword [ebx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + esi + 0x10]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi]
subps xmm2, xmm6
addps xmm3, xmm7
add ebx, 0x60
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [esi]
subps xmm6, xmm2
addps xmm2, xmmword [esi]
movaps xmm7, xmm4
addps xmm4, xmm2
movlps qword [edi], xmm4
movhps qword [edi + 8], xmm4
subps xmm2, xmm7
movaps xmm4, xmmword [esi + 0x10]
subps xmm4, xmm3
addps xmm3, xmmword [esi + 0x10]
add esi, 0x20
movaps xmm7, xmm5
addps xmm5, xmm3
movlps qword [edi + 0x10], xmm5
movhps qword [edi + 0x18], xmm5
subps xmm3, xmm7
movlps qword [edi + ecx*2], xmm2
movhps qword [edi + ecx*2 + 8], xmm2
movlps qword [edi + ecx*2 + 0x10], xmm3
movhps qword [edi + ecx*2 + 0x18], xmm3
movaps xmm7, xmm6
addps xmm6, xmm1
movlps qword [ecx + edi], xmm6
movhps qword [ecx + edi + 8], xmm6
subps xmm7, xmm1
movaps xmm5, xmm4
subps xmm4, xmm0
movlps qword [ecx + edi + 0x10], xmm4
movhps qword [ecx + edi + 0x18], xmm4
movlps qword [eax + edi], xmm7
movhps qword [eax + edi + 8], xmm7
addps xmm5, xmm0
movlps qword [eax + edi + 0x10], xmm5
movhps qword [eax + edi + 0x18], xmm5
add edi, 0x20
cmp esi, dword [esp + 0xc]
jne 0x1003ebb1
add esi, eax
add edi, eax
dec edx
jg 0x1003eba6
mov dword [esp + 0x40], ebx
jmp 0x1003f289
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
mov edx, ecx
shl ecx, 3
lea eax, [ecx + ecx*2]
mov ebx, dword [esp + 0x40]
test edi, 0xf
jne 0x1003ee0d
movaps xmm0, xmmword [esi + ecx*2]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [esi + ecx*2 + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [esi + ecx*2]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + esi]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + esi + 0x10]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + esi]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + esi]
movaps xmm3, xmmword [ebx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + esi + 0x10]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi]
subps xmm2, xmm6
addps xmm3, xmm7
add ebx, 0x60
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [esi]
subps xmm6, xmm2
addps xmm2, xmmword [esi]
movaps xmmword [edi], xmm6
movaps xmm6, xmm4
addps xmm6, xmm2
subps xmm2, xmm4
movaps xmm4, xmmword [esi + 0x10]
subps xmm4, xmm3
addps xmm3, xmmword [esi + 0x10]
add esi, 0x20
movaps xmm7, xmm5
addps xmm5, xmm3
subps xmm3, xmm7
movaps xmm7, xmm6
unpckhps xmm6, xmm5
movaps xmmword [edi + 0x10], xmm6
movaps xmm6, xmmword [edi]
unpcklps xmm7, xmm5
movaps xmmword [edi], xmm7
movaps xmm5, xmm4
subps xmm4, xmm0
addps xmm5, xmm0
movaps xmm7, xmm6
addps xmm6, xmm1
subps xmm7, xmm1
movaps xmm0, xmm6
unpcklps xmm6, xmm4
movaps xmmword [ecx + edi], xmm6
unpckhps xmm0, xmm4
movaps xmmword [ecx + edi + 0x10], xmm0
movaps xmm0, xmm2
unpcklps xmm2, xmm3
movaps xmmword [edi + ecx*2], xmm2
unpckhps xmm0, xmm3
movaps xmmword [edi + ecx*2 + 0x10], xmm0
movaps xmm0, xmm7
unpcklps xmm7, xmm5
movaps xmmword [eax + edi], xmm7
unpckhps xmm0, xmm5
movaps xmmword [eax + edi + 0x10], xmm0
add edi, 0x20
sub edx, 4
jg 0x1003ecf5
jmp 0x1003ef46
movaps xmm0, xmmword [esi + ecx*2]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [esi + ecx*2 + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [esi + ecx*2]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [eax + esi]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm4, xmm5
movaps xmm6, xmmword [eax + esi + 0x10]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmmword [eax + esi]
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm2, xmmword [ecx + esi]
movaps xmm3, xmmword [ebx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [ecx + esi + 0x10]
mulps xmm3, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi]
subps xmm2, xmm6
addps xmm3, xmm7
add ebx, 0x60
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmm6, xmmword [esi]
subps xmm6, xmm2
addps xmm2, xmmword [esi]
movaps xmmword [esi], xmm6
movaps xmm6, xmm4
addps xmm6, xmm2
subps xmm2, xmm4
movaps xmm4, xmmword [esi + 0x10]
subps xmm4, xmm3
addps xmm3, xmmword [esi + 0x10]
movaps xmm7, xmm5
addps xmm5, xmm3
subps xmm3, xmm7
movaps xmm7, xmm6
unpcklps xmm6, xmm5
movlps qword [edi], xmm6
movhps qword [edi + 8], xmm6
movaps xmm6, xmmword [esi]
unpckhps xmm7, xmm5
movlps qword [edi + 0x10], xmm7
movhps qword [edi + 0x18], xmm7
add esi, 0x20
movaps xmm5, xmm4
subps xmm4, xmm0
addps xmm5, xmm0
movaps xmm7, xmm6
addps xmm6, xmm1
subps xmm7, xmm1
movaps xmm0, xmm6
unpcklps xmm6, xmm4
movlps qword [ecx + edi], xmm6
movhps qword [ecx + edi + 8], xmm6
unpckhps xmm0, xmm4
movlps qword [ecx + edi + 0x10], xmm0
movhps qword [ecx + edi + 0x18], xmm0
movaps xmm0, xmm2
unpcklps xmm2, xmm3
movlps qword [edi + ecx*2], xmm2
movhps qword [edi + ecx*2 + 8], xmm2
unpckhps xmm0, xmm3
movlps qword [edi + ecx*2 + 0x10], xmm0
movhps qword [edi + ecx*2 + 0x18], xmm0
movaps xmm0, xmm7
unpcklps xmm7, xmm5
movlps qword [eax + edi], xmm7
movhps qword [eax + edi + 8], xmm7
unpckhps xmm0, xmm5
movlps qword [eax + edi + 0x10], xmm0
movhps qword [eax + edi + 0x18], xmm0
add edi, 0x20
sub edx, 4
jg 0x1003ee0d
jmp 0x1003f289
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x48]
cmp ebx, 1
je 0x1003f0d1
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
mov edx, ecx
shl ecx, 3
mov ebx, dword [esp + 0x40]
test edi, 0xf
jne 0x1003f025
movaps xmm0, xmmword [ecx + esi]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [ecx + esi + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [ecx + esi + 0x20]
movaps xmm5, xmmword [ebx + 0x20]
mulps xmm4, xmm5
movaps xmm6, xmmword [ecx + esi + 0x30]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi + 0x20]
subps xmm4, xmm6
addps xmm5, xmm7
add ebx, 0x40
movaps xmm2, xmmword [esi]
subps xmm2, xmm0
addps xmm0, xmmword [esi]
movaps xmm3, xmmword [esi + 0x10]
subps xmm3, xmm1
addps xmm1, xmmword [esi + 0x10]
movaps xmmword [edi], xmm0
movaps xmmword [edi + 0x10], xmm1
movaps xmmword [ecx + edi], xmm2
movaps xmmword [ecx + edi + 0x10], xmm3
movaps xmm0, xmmword [esi + 0x20]
subps xmm0, xmm4
addps xmm4, xmmword [esi + 0x20]
movaps xmm1, xmmword [esi + 0x30]
subps xmm1, xmm5
addps xmm5, xmmword [esi + 0x30]
add esi, 0x40
movaps xmmword [edi + 0x20], xmm4
movaps xmmword [edi + 0x30], xmm5
movaps xmmword [ecx + edi + 0x20], xmm0
movaps xmmword [ecx + edi + 0x30], xmm1
add edi, 0x40
sub edx, 8
jg 0x1003ef79
jmp 0x1003f0cc
movaps xmm0, xmmword [ecx + esi]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [ecx + esi + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [ecx + esi + 0x20]
movaps xmm5, xmmword [ebx + 0x20]
mulps xmm4, xmm5
movaps xmm6, xmmword [ecx + esi + 0x30]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi + 0x20]
subps xmm4, xmm6
addps xmm5, xmm7
add ebx, 0x40
movaps xmm2, xmmword [esi]
subps xmm2, xmm0
addps xmm0, xmmword [esi]
movaps xmm3, xmmword [esi + 0x10]
subps xmm3, xmm1
addps xmm1, xmmword [esi + 0x10]
movups xmmword [edi], xmm0
movups xmmword [edi + 0x10], xmm1
movups xmmword [ecx + edi], xmm2
movups xmmword [ecx + edi + 0x10], xmm3
movaps xmm0, xmmword [esi + 0x20]
subps xmm0, xmm4
addps xmm4, xmmword [esi + 0x20]
movaps xmm1, xmmword [esi + 0x30]
subps xmm1, xmm5
addps xmm5, xmmword [esi + 0x30]
add esi, 0x40
movups xmmword [edi + 0x20], xmm4
movups xmmword [edi + 0x30], xmm5
movups xmmword [ecx + edi + 0x20], xmm0
movups xmmword [ecx + edi + 0x30], xmm1
add edi, 0x40
sub edx, 8
jg 0x1003f025
jmp 0x1003f289
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
mov edx, ecx
shl ecx, 3
mov ebx, dword [esp + 0x40]
test edi, 0xf
jne 0x1003f1be
movaps xmm0, xmmword [ecx + esi]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [ecx + esi + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [ecx + esi + 0x20]
movaps xmm5, xmmword [ebx + 0x20]
mulps xmm4, xmm5
movaps xmm6, xmmword [ecx + esi + 0x30]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi + 0x20]
subps xmm4, xmm6
addps xmm5, xmm7
add ebx, 0x40
movaps xmm2, xmmword [esi]
subps xmm2, xmm0
addps xmm0, xmmword [esi]
movaps xmm3, xmmword [esi + 0x10]
subps xmm3, xmm1
addps xmm1, xmmword [esi + 0x10]
movaps xmm6, xmm0
unpcklps xmm0, xmm1
movaps xmmword [edi], xmm0
unpckhps xmm6, xmm1
movaps xmmword [edi + 0x10], xmm6
movaps xmm0, xmmword [esi + 0x20]
subps xmm0, xmm4
addps xmm4, xmmword [esi + 0x20]
movaps xmm1, xmmword [esi + 0x30]
subps xmm1, xmm5
addps xmm5, xmmword [esi + 0x30]
add esi, 0x40
movaps xmm6, xmm4
unpcklps xmm4, xmm5
movaps xmmword [edi + 0x20], xmm4
unpckhps xmm6, xmm5
movaps xmmword [edi + 0x30], xmm6
movaps xmm7, xmm2
unpcklps xmm2, xmm3
movaps xmmword [ecx + edi], xmm2
unpckhps xmm7, xmm3
movaps xmmword [ecx + edi + 0x10], xmm7
movaps xmm7, xmm0
unpcklps xmm0, xmm1
movaps xmmword [ecx + edi + 0x20], xmm0
unpckhps xmm7, xmm1
movaps xmmword [ecx + edi + 0x30], xmm7
add edi, 0x40
sub edx, 8
jg 0x1003f0ee
jmp 0x1003f289
movaps xmm0, xmmword [ecx + esi]
movaps xmm1, xmmword [ebx]
mulps xmm0, xmm1
movaps xmm6, xmmword [ecx + esi + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [ebx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi]
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm4, xmmword [ecx + esi + 0x20]
movaps xmm5, xmmword [ebx + 0x20]
mulps xmm4, xmm5
movaps xmm6, xmmword [ecx + esi + 0x30]
mulps xmm5, xmm6
movaps xmm7, xmmword [ebx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [ecx + esi + 0x20]
subps xmm4, xmm6
addps xmm5, xmm7
add ebx, 0x40
movaps xmm2, xmmword [esi]
subps xmm2, xmm0
addps xmm0, xmmword [esi]
movaps xmm3, xmmword [esi + 0x10]
subps xmm3, xmm1
addps xmm1, xmmword [esi + 0x10]
movaps xmm6, xmm0
unpcklps xmm0, xmm1
movups xmmword [edi], xmm0
unpckhps xmm6, xmm1
movups xmmword [edi + 0x10], xmm6
movaps xmm0, xmmword [esi + 0x20]
subps xmm0, xmm4
addps xmm4, xmmword [esi + 0x20]
movaps xmm1, xmmword [esi + 0x30]
subps xmm1, xmm5
addps xmm5, xmmword [esi + 0x30]
add esi, 0x40
movaps xmm6, xmm4
unpcklps xmm4, xmm5
movups xmmword [edi + 0x20], xmm4
unpckhps xmm6, xmm5
movups xmmword [edi + 0x30], xmm6
movaps xmm7, xmm2
unpcklps xmm2, xmm3
movups xmmword [ecx + edi], xmm2
unpckhps xmm7, xmm3
movups xmmword [ecx + edi + 0x10], xmm7
movaps xmm7, xmm0
unpcklps xmm0, xmm1
movups xmmword [ecx + edi + 0x20], xmm0
unpckhps xmm7, xmm1
movups xmmword [ecx + edi + 0x30], xmm7
add edi, 0x40
sub edx, 8
jg 0x1003f1be
add esp, 0x24
pop ebp
pop edi
pop esi
pop ebx
ret