Function at 0x102d0390
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
mov ebp, esp
sub esp, 0x50
and esp, 0xfffffff0
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
lea ebx, [0x102cf160]
test ecx, 3
jne 0x102d0c80
shl ecx, 3
lea eax, [ecx + ecx*2]
test esi, 0xf
jne 0x102d07f6
test edi, 0xf
jne 0x102d07f6
lea edx, [ecx + esi]
mov dword [ebp + 0x14], edx
mov edx, dword [ebp + 0x24]
cmp dword [ebp + 0x20], 0
jle 0x102d05dd
movaps xmm4, xmmword [esi + ecx*4]
movaps xmm2, xmm4
movaps xmm5, xmmword [edx + 0x60]
mulps xmm4, xmm5
movaps xmm6, xmmword [esi + ecx*4 + 0x10]
mulps xmm5, xmm6
movaps xmm7, xmmword [edx + 0x70]
mulps xmm6, xmm7
mulps xmm7, xmm2
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm0, xmmword [ecx + esi]
movaps xmm2, xmm0
movaps xmm1, xmmword [edx]
mulps xmm0, xmm1
movaps xmm6, xmmword [ecx + esi + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [edx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmm2
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmmword [esp], xmm0
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmmword [esp + 0x10], xmm1
movaps xmm0, xmmword [eax + esi]
movaps xmm2, xmm0
movaps xmm1, xmmword [edx + 0x40]
mulps xmm0, xmm1
movaps xmm6, xmmword [eax + esi + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [edx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmm2
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm2, xmmword [esi + ecx*2]
movaps xmm3, xmmword [edx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [esi + ecx*2 + 0x10]
mulps xmm3, xmm6
movaps xmm7, xmmword [edx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [esi + ecx*2]
subps xmm2, xmm6
addps xmm3, xmm7
add edx, 0x80
movaps xmm6, xmm0
addps xmm0, xmm2
subps xmm2, xmm6
movaps xmmword [esp + 0x20], xmm2
movaps xmm7, xmm1
addps xmm1, xmm3
subps xmm3, xmm7
movaps xmmword [esp + 0x30], xmm3
movaps xmm2, xmmword [ebx + 0x30]
movaps xmm6, xmm4
mulps xmm4, xmm2
movaps xmm3, xmmword [ebx + 0x50]
movaps xmm7, xmm0
mulps xmm0, xmm3
mulps xmm3, xmm6
mulps xmm2, xmm7
addps xmm6, xmm7
movaps xmm7, xmmword [esi]
addps xmm4, xmm0
addps xmm3, xmm2
addps xmm6, xmm7
movaps xmmword [edi], xmm6
addps xmm4, xmm7
addps xmm3, xmm7
movaps xmm2, xmmword [ebx + 0x30]
movaps xmm6, xmm5
mulps xmm5, xmm2
movaps xmm0, xmmword [ebx + 0x50]
movaps xmm7, xmm1
mulps xmm1, xmm0
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm6, xmm7
movaps xmm7, xmmword [esi + 0x10]
addps xmm1, xmm5
addps xmm0, xmm2
addps xmm6, xmm7
movaps xmmword [edi + 0x10], xmm6
add esi, 0x20
addps xmm1, xmm7
addps xmm0, xmm7
movaps xmm2, xmmword [esp + 0x10]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm2, xmm5
movaps xmm7, xmmword [esp + 0x30]
movaps xmm6, xmmword [ebx + 0x60]
mulps xmm7, xmm6
mulps xmm5, xmmword [esp]
mulps xmm6, xmmword [esp + 0x20]
addps xmm2, xmm7
addps xmm5, xmm6
movaps xmm6, xmm4
subps xmm6, xmm2
movaps xmmword [ecx + edi], xmm6
addps xmm4, xmm2
movaps xmm7, xmm1
addps xmm7, xmm5
movaps xmmword [ecx + edi + 0x10], xmm7
subps xmm1, xmm5
movaps xmm2, xmmword [esp + 0x10]
movaps xmm5, xmmword [ebx + 0x60]
mulps xmm2, xmm5
movaps xmm7, xmmword [esp + 0x30]
movaps xmm6, xmmword [ebx + 0x40]
mulps xmm7, xmm6
mulps xmm5, xmmword [esp]
mulps xmm6, xmmword [esp + 0x20]
subps xmm2, xmm7
subps xmm5, xmm6
movaps xmm6, xmm3
subps xmm3, xmm2
movaps xmmword [edi + ecx*2], xmm3
movaps xmm7, xmm0
addps xmm0, xmm5
movaps xmmword [edi + ecx*2 + 0x10], xmm0
addps xmm6, xmm2
movaps xmmword [eax + edi], xmm6
subps xmm7, xmm5
movaps xmmword [eax + edi + 0x10], xmm7
movaps xmmword [edi + ecx*4], xmm4
movaps xmmword [edi + ecx*4 + 0x10], xmm1
add edi, 0x20
cmp esi, dword [ebp + 0x14]
jne 0x102d03e8
lea esi, [esi + ecx*4]
lea edi, [edi + ecx*4]
mov edx, dword [ebp + 0x20]
dec edx
mov dword [ebp + 0x20], edx
jg 0x102d03d5
jmp 0x102d101b
movaps xmm4, xmmword [esi + ecx*4]
movaps xmm2, xmm4
movaps xmm5, xmmword [edx + 0x60]
mulps xmm4, xmm5
movaps xmm6, xmmword [esi + ecx*4 + 0x10]
mulps xmm5, xmm6
movaps xmm7, xmmword [edx + 0x70]
mulps xmm6, xmm7
mulps xmm7, xmm2
subps xmm4, xmm6
addps xmm5, xmm7
movaps xmm0, xmmword [ecx + esi]
movaps xmm2, xmm0
movaps xmm1, xmmword [edx]
mulps xmm0, xmm1
movaps xmm6, xmmword [ecx + esi + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [edx + 0x10]
mulps xmm6, xmm7
mulps xmm7, xmm2
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmmword [esp], xmm0
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmmword [esp + 0x10], xmm1
movaps xmm0, xmmword [eax + esi]
movaps xmm2, xmm0
movaps xmm1, xmmword [edx + 0x40]
mulps xmm0, xmm1
movaps xmm6, xmmword [eax + esi + 0x10]
mulps xmm1, xmm6
movaps xmm7, xmmword [edx + 0x50]
mulps xmm6, xmm7
mulps xmm7, xmm2
subps xmm0, xmm6
addps xmm1, xmm7
movaps xmm2, xmmword [esi + ecx*2]
movaps xmm3, xmmword [edx + 0x20]
mulps xmm2, xmm3
movaps xmm6, xmmword [esi + ecx*2 + 0x10]
mulps xmm3, xmm6
movaps xmm7, xmmword [edx + 0x30]
mulps xmm6, xmm7
mulps xmm7, xmmword [esi + ecx*2]
subps xmm2, xmm6
addps xmm3, xmm7
add edx, 0x80
movaps xmm6, xmm0
addps xmm0, xmm2
subps xmm2, xmm6
movaps xmmword [esp + 0x20], xmm2
movaps xmm7, xmm1
addps xmm1, xmm3
subps xmm3, xmm7
movaps xmmword [esp + 0x30], xmm3
movaps xmm2, xmmword [ebx + 0x30]
movaps xmm6, xmm4
mulps xmm4, xmm2
movaps xmm3, xmmword [ebx + 0x50]
movaps xmm7, xmm0
mulps xmm0, xmm3
mulps xmm3, xmm6
mulps xmm2, xmm7
addps xmm6, xmm7
movaps xmm7, xmmword [esi]
addps xmm4, xmm0
addps xmm3, xmm2
addps xmm6, xmm7
movaps xmmword [esp + 0x40], xmm6
addps xmm4, xmm7
addps xmm3, xmm7
movaps xmm2, xmmword [ebx + 0x30]
movaps xmm6, xmm5
mulps xmm5, xmm2
movaps xmm0, xmmword [ebx + 0x50]
movaps xmm7, xmm1
mulps xmm1, xmm0
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm6, xmm7
movaps xmm7, xmmword [esi + 0x10]
addps xmm1, xmm5
addps xmm0, xmm2
addps xmm6, xmm7
movaps xmm2, xmmword [esp + 0x40]
add esi, 0x20
addps xmm1, xmm7
addps xmm0, xmm7
movaps xmm7, xmm2
unpcklps xmm2, xmm6
unpckhps xmm7, xmm6
movaps xmmword [edi], xmm2
movaps xmmword [edi + 0x10], xmm7
movaps xmm2, xmmword [esp + 0x10]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm2, xmm5
movaps xmm7, xmmword [esp + 0x30]
movaps xmm6, xmmword [ebx + 0x60]
mulps xmm7, xmm6
mulps xmm5, xmmword [esp]
mulps xmm6, xmmword [esp + 0x20]
addps xmm2, xmm7
addps xmm5, xmm6
movaps xmm6, xmm4
subps xmm6, xmm2
addps xmm4, xmm2
movaps xmm7, xmm1
addps xmm7, xmm5
subps xmm1, xmm5
movaps xmm2, xmm6
unpcklps xmm6, xmm7
unpckhps xmm2, xmm7
movaps xmmword [ecx + edi], xmm6
movaps xmmword [ecx + edi + 0x10], xmm2
movaps xmm2, xmmword [esp + 0x10]
movaps xmm5, xmmword [ebx + 0x60]
mulps xmm2, xmm5
movaps xmm7, xmmword [esp + 0x30]
movaps xmm6, xmmword [ebx + 0x40]
mulps xmm7, xmm6
mulps xmm5, xmmword [esp]
mulps xmm6, xmmword [esp + 0x20]
subps xmm2, xmm7
subps xmm5, xmm6
movaps xmm6, xmm3
subps xmm3, xmm2
addps xmm6, xmm2
movaps xmm7, xmm0
addps xmm0, xmm5
subps xmm7, xmm5
movaps xmm2, xmm3
unpcklps xmm3, xmm0
unpckhps xmm2, xmm0
movaps xmmword [edi + ecx*2], xmm3
movaps xmmword [edi + ecx*2 + 0x10], xmm2
movaps xmm2, xmm6
unpcklps xmm6, xmm7
unpckhps xmm2, xmm7
movaps xmmword [eax + edi], xmm6
movaps xmmword [eax + edi + 0x10], xmm2
movaps xmm2, xmm4
unpcklps xmm4, xmm1
unpckhps xmm2, xmm1
movaps xmmword [edi + ecx*4], xmm4
movaps xmmword [edi + ecx*4 + 0x10], xmm2
add edi, 0x20
cmp esi, dword [ebp + 0x14]
jne 0x102d05dd
jmp 0x102d101b
lea edx, [ecx + esi]
mov dword [ebp + 0x14], edx
mov edx, dword [ebp + 0x24]
cmp dword [ebp + 0x20], 0
jle 0x102d0a2b
movups xmm6, xmmword [esi + ecx*4]
movaps xmm4, xmmword [edx + 0x60]
mulps xmm4, xmm6
movups xmm5, xmmword [esi + ecx*4 + 0x10]
movaps xmm7, xmmword [edx + 0x70]
mulps xmm7, xmm5
mulps xmm5, xmmword [edx + 0x60]
mulps xmm6, xmmword [edx + 0x70]
subps xmm4, xmm7
addps xmm5, xmm6
movups xmm6, xmmword [ecx + esi]
movaps xmm0, xmmword [edx]
mulps xmm0, xmm6
movups xmm1, xmmword [ecx + esi + 0x10]
movaps xmm7, xmmword [edx + 0x10]
mulps xmm7, xmm1
mulps xmm1, xmmword [edx]
mulps xmm6, xmmword [edx + 0x10]
subps xmm0, xmm7
addps xmm1, xmm6
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmmword [esp], xmm0
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmmword [esp + 0x10], xmm1
movups xmm6, xmmword [eax + esi]
movaps xmm0, xmmword [edx + 0x40]
mulps xmm0, xmm6
movups xmm1, xmmword [eax + esi + 0x10]
movaps xmm7, xmmword [edx + 0x50]
mulps xmm7, xmm1
mulps xmm1, xmmword [edx + 0x40]
mulps xmm6, xmmword [edx + 0x50]
subps xmm0, xmm7
addps xmm1, xmm6
movups xmm6, xmmword [esi + ecx*2]
movaps xmm2, xmmword [edx + 0x20]
mulps xmm2, xmm6
movups xmm3, xmmword [esi + ecx*2 + 0x10]
movaps xmm7, xmmword [edx + 0x30]
mulps xmm7, xmm3
mulps xmm3, xmmword [edx + 0x20]
mulps xmm6, xmmword [edx + 0x30]
subps xmm2, xmm7
addps xmm3, xmm6
add edx, 0x80
movaps xmm6, xmm0
addps xmm0, xmm2
subps xmm2, xmm6
movaps xmmword [esp + 0x20], xmm2
movaps xmm7, xmm1
addps xmm1, xmm3
subps xmm3, xmm7
movaps xmmword [esp + 0x30], xmm3
movaps xmm2, xmmword [ebx + 0x30]
movaps xmm6, xmm4
mulps xmm4, xmm2
movaps xmm3, xmmword [ebx + 0x50]
movaps xmm7, xmm0
mulps xmm0, xmm3
mulps xmm3, xmm6
mulps xmm2, xmm7
addps xmm6, xmm7
movups xmm7, xmmword [esi]
addps xmm4, xmm0
addps xmm3, xmm2
addps xmm6, xmm7
movlps qword [edi], xmm6
movhps qword [edi + 8], xmm6
addps xmm4, xmm7
addps xmm3, xmm7
movaps xmm2, xmmword [ebx + 0x30]
movaps xmm6, xmm5
mulps xmm5, xmm2
movaps xmm0, xmmword [ebx + 0x50]
movaps xmm7, xmm1
mulps xmm1, xmm0
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm6, xmm7
movups xmm7, xmmword [esi + 0x10]
addps xmm1, xmm5
addps xmm0, xmm2
addps xmm6, xmm7
movlps qword [edi + 0x10], xmm6
movhps qword [edi + 0x18], xmm6
addps xmm1, xmm7
addps xmm0, xmm7
movaps xmm2, xmmword [esp + 0x10]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm2, xmm5
movaps xmm7, xmmword [esp + 0x30]
movaps xmm6, xmmword [ebx + 0x60]
mulps xmm7, xmm6
mulps xmm5, xmmword [esp]
mulps xmm6, xmmword [esp + 0x20]
addps xmm2, xmm7
addps xmm5, xmm6
movaps xmm6, xmm4
subps xmm6, xmm2
movlps qword [ecx + edi], xmm6
movhps qword [ecx + edi + 8], xmm6
addps xmm4, xmm2
movaps xmm7, xmm1
addps xmm7, xmm5
movlps qword [ecx + edi + 0x10], xmm7
movhps qword [ecx + edi + 0x18], xmm7
subps xmm1, xmm5
movaps xmm2, xmmword [esp + 0x10]
movaps xmm5, xmmword [ebx + 0x60]
mulps xmm2, xmm5
movaps xmm7, xmmword [esp + 0x30]
movaps xmm6, xmmword [ebx + 0x40]
mulps xmm7, xmm6
mulps xmm5, xmmword [esp]
mulps xmm6, xmmword [esp + 0x20]
subps xmm2, xmm7
subps xmm5, xmm6
movaps xmm6, xmm3
subps xmm3, xmm2
movlps qword [edi + ecx*2], xmm3
movhps qword [edi + ecx*2 + 8], xmm3
movaps xmm7, xmm0
addps xmm0, xmm5
movlps qword [edi + ecx*2 + 0x10], xmm0
movhps qword [edi + ecx*2 + 0x18], xmm0
addps xmm6, xmm2
movlps qword [eax + edi], xmm6
movhps qword [eax + edi + 8], xmm6
subps xmm7, xmm5
movlps qword [eax + edi + 0x10], xmm7
movhps qword [eax + edi + 0x18], xmm7
movlps qword [edi + ecx*4], xmm4
movhps qword [edi + ecx*4 + 8], xmm4
movlps qword [edi + ecx*4 + 0x10], xmm1
movhps qword [edi + ecx*4 + 0x18], xmm1
add esi, 0x20
add edi, 0x20
cmp esi, dword [ebp + 0x14]
jne 0x102d0809
lea esi, [esi + ecx*4]
lea edi, [edi + ecx*4]
mov edx, dword [ebp + 0x20]
dec edx
mov dword [ebp + 0x20], edx
jg 0x102d07f6
jmp 0x102d101b
movups xmm6, xmmword [esi + ecx*4]
movaps xmm4, xmmword [edx + 0x60]
mulps xmm4, xmm6
movups xmm5, xmmword [esi + ecx*4 + 0x10]
movaps xmm7, xmmword [edx + 0x70]
mulps xmm7, xmm5
mulps xmm5, xmmword [edx + 0x60]
mulps xmm6, xmmword [edx + 0x70]
subps xmm4, xmm7
addps xmm5, xmm6
movups xmm6, xmmword [ecx + esi]
movaps xmm0, xmmword [edx]
mulps xmm0, xmm6
movups xmm1, xmmword [ecx + esi + 0x10]
movaps xmm7, xmmword [edx + 0x10]
mulps xmm7, xmm1
mulps xmm1, xmmword [edx]
mulps xmm6, xmmword [edx + 0x10]
subps xmm0, xmm7
addps xmm1, xmm6
movaps xmm6, xmm4
addps xmm4, xmm0
subps xmm0, xmm6
movaps xmmword [esp], xmm0
movaps xmm7, xmm5
addps xmm5, xmm1
subps xmm1, xmm7
movaps xmmword [esp + 0x10], xmm1
movups xmm6, xmmword [eax + esi]
movaps xmm0, xmmword [edx + 0x40]
mulps xmm0, xmm6
movups xmm1, xmmword [eax + esi + 0x10]
movaps xmm7, xmmword [edx + 0x50]
mulps xmm7, xmm1
mulps xmm1, xmmword [edx + 0x40]
mulps xmm6, xmmword [edx + 0x50]
subps xmm0, xmm7
addps xmm1, xmm6
movups xmm6, xmmword [esi + ecx*2]
movaps xmm2, xmmword [edx + 0x20]
mulps xmm2, xmm6
movups xmm3, xmmword [esi + ecx*2 + 0x10]
movaps xmm7, xmmword [edx + 0x30]
mulps xmm7, xmm3
mulps xmm3, xmmword [edx + 0x20]
mulps xmm6, xmmword [edx + 0x30]
subps xmm2, xmm7
addps xmm3, xmm6
add edx, 0x80
movaps xmm6, xmm0
addps xmm0, xmm2
subps xmm2, xmm6
movaps xmmword [esp + 0x20], xmm2
movaps xmm7, xmm1
addps xmm1, xmm3
subps xmm3, xmm7
movaps xmmword [esp + 0x30], xmm3
movaps xmm2, xmmword [ebx + 0x30]
movaps xmm6, xmm4
mulps xmm4, xmm2
movaps xmm3, xmmword [ebx + 0x50]
movaps xmm7, xmm0
mulps xmm0, xmm3
mulps xmm3, xmm6
mulps xmm2, xmm7
addps xmm6, xmm7
movups xmm7, xmmword [esi]
addps xmm4, xmm0
addps xmm3, xmm2
addps xmm6, xmm7
movaps xmmword [esp + 0x40], xmm6
addps xmm4, xmm7
addps xmm3, xmm7
movaps xmm2, xmmword [ebx + 0x30]
movaps xmm6, xmm5
mulps xmm5, xmm2
movaps xmm0, xmmword [ebx + 0x50]
movaps xmm7, xmm1
mulps xmm1, xmm0
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm6, xmm7
movups xmm7, xmmword [esi + 0x10]
addps xmm1, xmm5
addps xmm0, xmm2
addps xmm6, xmm7
movaps xmm2, xmmword [esp + 0x40]
addps xmm1, xmm7
addps xmm0, xmm7
movaps xmm7, xmm2
unpcklps xmm2, xmm6
unpckhps xmm7, xmm6
movlps qword [edi], xmm2
movhps qword [edi + 8], xmm2
movlps qword [edi + 0x10], xmm7
movhps qword [edi + 0x18], xmm7
movaps xmm2, xmmword [esp + 0x10]
movaps xmm5, xmmword [ebx + 0x40]
mulps xmm2, xmm5
movaps xmm7, xmmword [esp + 0x30]
movaps xmm6, xmmword [ebx + 0x60]
mulps xmm7, xmm6
mulps xmm5, xmmword [esp]
mulps xmm6, xmmword [esp + 0x20]
addps xmm2, xmm7
addps xmm5, xmm6
movaps xmm6, xmm4
subps xmm6, xmm2
addps xmm4, xmm2
movaps xmm7, xmm1
addps xmm7, xmm5
subps xmm1, xmm5
movaps xmm2, xmm6
unpcklps xmm6, xmm7
unpckhps xmm2, xmm7
movlps qword [ecx + edi], xmm6
movhps qword [ecx + edi + 8], xmm6
movlps qword [ecx + edi + 0x10], xmm2
movhps qword [ecx + edi + 0x18], xmm2
movaps xmm2, xmmword [esp + 0x10]
movaps xmm5, xmmword [ebx + 0x60]
mulps xmm2, xmm5
movaps xmm7, xmmword [esp + 0x30]
movaps xmm6, xmmword [ebx + 0x40]
mulps xmm7, xmm6
mulps xmm5, xmmword [esp]
mulps xmm6, xmmword [esp + 0x20]
subps xmm2, xmm7
subps xmm5, xmm6
movaps xmm6, xmm3
subps xmm3, xmm2
addps xmm6, xmm2
movaps xmm7, xmm0
addps xmm0, xmm5
subps xmm7, xmm5
movaps xmm2, xmm3
unpcklps xmm3, xmm0
unpckhps xmm2, xmm0
movlps qword [edi + ecx*2], xmm3
movhps qword [edi + ecx*2 + 8], xmm3
movlps qword [edi + ecx*2 + 0x10], xmm2
movhps qword [edi + ecx*2 + 0x18], xmm2
movaps xmm2, xmm6
unpcklps xmm6, xmm7
unpckhps xmm2, xmm7
movlps qword [eax + edi], xmm6
movhps qword [eax + edi + 8], xmm6
movlps qword [eax + edi + 0x10], xmm2
movhps qword [eax + edi + 0x18], xmm2
movaps xmm2, xmm4
unpcklps xmm4, xmm1
unpckhps xmm2, xmm1
movlps qword [edi + ecx*4], xmm4
movhps qword [edi + ecx*4 + 8], xmm4
movlps qword [edi + ecx*4 + 0x10], xmm2
movhps qword [edi + ecx*4 + 0x18], xmm2
add esi, 0x20
add edi, 0x20
cmp esi, dword [ebp + 0x14]
jne 0x102d0a2b
jmp 0x102d101b
mov edx, ecx
shl ecx, 3
lea eax, [ecx + ecx*2]
test edx, 1
jne 0x102d0dfc
test esi, 0xf
jne 0x102d0dfc
test edi, 0xf
jne 0x102d0dfc
lea edx, [ecx + esi]
mov dword [ebp + 0x14], edx
mov edx, dword [ebp + 0x24]
movaps xmm0, xmmword [esi]
movaps xmm6, xmmword [ecx + esi]
movaps xmm1, xmmword [edx]
shufps xmm1, xmm1, 0xa0
movaps xmm7, xmmword [edx]
shufps xmm7, xmm7, 0xf5
mulps xmm1, xmm6
shufps xmm6, xmm6, 0xb1
xorps xmm6, xmmword [ebx]
mulps xmm7, xmm6
subps xmm1, xmm7
movaps xmm6, xmmword [esi + ecx*4]
movaps xmm4, xmmword [edx + 0x30]
shufps xmm4, xmm4, 0xa0
movaps xmm7, xmmword [edx + 0x30]
shufps xmm7, xmm7, 0xf5
mulps xmm4, xmm6
shufps xmm6, xmm6, 0xb1
xorps xmm6, xmmword [ebx]
mulps xmm7, xmm6
subps xmm4, xmm7
movaps xmm6, xmmword [esi + ecx*2]
movaps xmm2, xmmword [edx + 0x10]
shufps xmm2, xmm2, 0xa0
movaps xmm7, xmmword [edx + 0x10]
shufps xmm7, xmm7, 0xf5
mulps xmm2, xmm6
shufps xmm6, xmm6, 0xb1
xorps xmm6, xmmword [ebx]
mulps xmm7, xmm6
subps xmm2, xmm7
movaps xmm6, xmmword [eax + esi]
movaps xmm3, xmmword [edx + 0x20]
shufps xmm3, xmm3, 0xa0
movaps xmm7, xmmword [edx + 0x20]
shufps xmm7, xmm7, 0xf5
mulps xmm3, xmm6
shufps xmm6, xmm6, 0xb1
xorps xmm6, xmmword [ebx]
mulps xmm7, xmm6
subps xmm3, xmm7
movaps xmm5, xmm1
addps xmm1, xmm4
subps xmm5, xmm4
movaps xmm6, xmm2
addps xmm2, xmm3
subps xmm6, xmm3
movaps xmm7, xmm0
addps xmm0, xmm1
addps xmm0, xmm2
movaps xmmword [edi], xmm0
movaps xmm4, xmm1
mulps xmm1, xmmword [ebx + 0x30]
mulps xmm4, xmmword [ebx + 0x50]
movaps xmm3, xmm2
mulps xmm2, xmmword [ebx + 0x50]
mulps xmm3, xmmword [ebx + 0x30]
addps xmm1, xmm7
addps xmm4, xmm7
movaps xmm7, xmm5
mulps xmm5, xmmword [ebx + 0x40]
mulps xmm7, xmmword [ebx + 0x60]
addps xmm1, xmm2
addps xmm4, xmm3
movaps xmm2, xmm6
mulps xmm6, xmmword [ebx + 0x60]
mulps xmm2, xmmword [ebx + 0x40]
addps xmm5, xmm6
subps xmm7, xmm2
shufps xmm5, xmm5, 0xb1
xorps xmm5, xmmword [ebx]
shufps xmm7, xmm7, 0xb1
xorps xmm7, xmmword [ebx]
movaps xmm3, xmm1
subps xmm1, xmm5
movaps xmmword [ecx + edi], xmm1
addps xmm3, xmm5
movaps xmmword [edi + ecx*4], xmm3
movaps xmm6, xmm4
subps xmm6, xmm7
movaps xmmword [edi + ecx*2], xmm6
addps xmm4, xmm7
movaps xmmword [eax + edi], xmm4
add edx, 0x40
add esi, 0x10
add edi, 0x10
cmp esi, dword [ebp + 0x14]
jne 0x102d0cb5
lea esi, [esi + ecx*4]
lea edi, [edi + ecx*4]
mov edx, dword [ebp + 0x20]
dec edx
mov dword [ebp + 0x20], edx
jg 0x102d0cac
jmp 0x102d101b
mov edx, dword [ebp + 0x1c]
test edx, 1
lea edx, [ecx + esi]
mov dword [ebp + 0x14], edx
mov edx, dword [ebp + 0x24]
je 0x102d0ec1
movsd xmm1, qword [ecx + esi]
movsd xmm4, qword [esi + ecx*4]
movaps xmm5, xmm1
addps xmm1, xmm4
subps xmm5, xmm4
movsd xmm2, qword [esi + ecx*2]
movsd xmm3, qword [eax + esi]
movaps xmm6, xmm2
addps xmm2, xmm3
subps xmm6, xmm3
movsd xmm0, qword [esi]
movaps xmm7, xmm0
addps xmm0, xmm1
addps xmm0, xmm2
movlps qword [edi], xmm0
movaps xmm4, xmm1
mulps xmm1, xmmword [ebx + 0x30]
mulps xmm4, xmmword [ebx + 0x50]
movaps xmm3, xmm2
mulps xmm2, xmmword [ebx + 0x50]
mulps xmm3, xmmword [ebx + 0x30]
addps xmm1, xmm7
addps xmm4, xmm7
movaps xmm7, xmm5
mulps xmm5, xmmword [ebx + 0x40]
mulps xmm7, xmmword [ebx + 0x60]
addps xmm1, xmm2
addps xmm4, xmm3
movaps xmm2, xmm6
mulps xmm6, xmmword [ebx + 0x60]
mulps xmm2, xmmword [ebx + 0x40]
addps xmm5, xmm6
subps xmm7, xmm2
shufps xmm5, xmm5, 0xb1
xorps xmm5, xmmword [ebx]
shufps xmm7, xmm7, 0xb1
xorps xmm7, xmmword [ebx]
movaps xmm3, xmm1
subps xmm1, xmm5
movlps qword [ecx + edi], xmm1
addps xmm3, xmm5
movlps qword [edi + ecx*4], xmm3
movaps xmm6, xmm4
subps xmm6, xmm7
movlps qword [edi + ecx*2], xmm6
addps xmm4, xmm7
movlps qword [eax + edi], xmm4
add esi, 8
add edi, 8
add edx, 0x20
movups xmm0, xmmword [esi]
movups xmm6, xmmword [ecx + esi]
movaps xmm1, xmmword [edx]
shufps xmm1, xmm1, 0xa0
movaps xmm7, xmmword [edx]
shufps xmm7, xmm7, 0xf5
mulps xmm1, xmm6
shufps xmm6, xmm6, 0xb1
xorps xmm6, xmmword [ebx]
mulps xmm7, xmm6
subps xmm1, xmm7
movups xmm6, xmmword [esi + ecx*4]
movaps xmm4, xmmword [edx + 0x30]
shufps xmm4, xmm4, 0xa0
movaps xmm7, xmmword [edx + 0x30]
shufps xmm7, xmm7, 0xf5
mulps xmm4, xmm6
shufps xmm6, xmm6, 0xb1
xorps xmm6, xmmword [ebx]
mulps xmm7, xmm6
subps xmm4, xmm7
movups xmm6, xmmword [esi + ecx*2]
movaps xmm2, xmmword [edx + 0x10]
shufps xmm2, xmm2, 0xa0
movaps xmm7, xmmword [edx + 0x10]
shufps xmm7, xmm7, 0xf5
mulps xmm2, xmm6
shufps xmm6, xmm6, 0xb1
xorps xmm6, xmmword [ebx]
mulps xmm7, xmm6
subps xmm2, xmm7
movups xmm6, xmmword [eax + esi]
movaps xmm3, xmmword [edx + 0x20]
shufps xmm3, xmm3, 0xa0
movaps xmm7, xmmword [edx + 0x20]
shufps xmm7, xmm7, 0xf5
mulps xmm3, xmm6
shufps xmm6, xmm6, 0xb1
xorps xmm6, xmmword [ebx]
mulps xmm7, xmm6
subps xmm3, xmm7
movaps xmm5, xmm1
addps xmm1, xmm4
subps xmm5, xmm4
movaps xmm6, xmm2
addps xmm2, xmm3
subps xmm6, xmm3
movaps xmm7, xmm0
addps xmm0, xmm1
addps xmm0, xmm2
movlps qword [edi], xmm0
movhps qword [edi + 8], xmm0
movaps xmm4, xmm1
mulps xmm1, xmmword [ebx + 0x30]
mulps xmm4, xmmword [ebx + 0x50]
movaps xmm3, xmm2
mulps xmm2, xmmword [ebx + 0x50]
mulps xmm3, xmmword [ebx + 0x30]
addps xmm1, xmm7
addps xmm4, xmm7
movaps xmm7, xmm5
mulps xmm5, xmmword [ebx + 0x40]
mulps xmm7, xmmword [ebx + 0x60]
addps xmm1, xmm2
addps xmm4, xmm3
movaps xmm2, xmm6
mulps xmm6, xmmword [ebx + 0x60]
mulps xmm2, xmmword [ebx + 0x40]
addps xmm5, xmm6
subps xmm7, xmm2
shufps xmm5, xmm5, 0xb1
xorps xmm5, xmmword [ebx]
shufps xmm7, xmm7, 0xb1
xorps xmm7, xmmword [ebx]
movaps xmm3, xmm1
subps xmm1, xmm5
movlps qword [ecx + edi], xmm1
movhps qword [ecx + edi + 8], xmm1
addps xmm3, xmm5
movlps qword [edi + ecx*4], xmm3
movhps qword [edi + ecx*4 + 8], xmm3
movaps xmm6, xmm4
subps xmm6, xmm7
movlps qword [edi + ecx*2], xmm6
movhps qword [edi + ecx*2 + 8], xmm6
addps xmm4, xmm7
movlps qword [eax + edi], xmm4
movhps qword [eax + edi + 8], xmm4
add edx, 0x40
add esi, 0x10
add edi, 0x10
cmp esi, dword [ebp + 0x14]
jne 0x102d0ec1
lea esi, [esi + ecx*4]
lea edi, [edi + ecx*4]
mov edx, dword [ebp + 0x20]
dec edx
mov dword [ebp + 0x20], edx
jg 0x102d0dfc
mov esp, ebp
pop ebp
pop edi
pop esi
pop ebx
ret