Function at 0x10184660
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x454
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
test byte [ebp + 0x10], 3
je 0x101859e7
mov ecx, dword [ebp + 0x10]
and ecx, 1
mov dword [esp + 0x17c], ecx
jne 0x1018469b
test al, 0xf
jne 0x1018469b
test dl, 0xf
je 0x101859c4
cmp dword [ebp + 0x14], 0
jle 0x10185a29
mov esi, dword [ebp + 0x10]
mov edi, esi
shl edi, 4
mov dword [esp + 0x440], edi
lea ebx, [esi - 1]
mov dword [esp + 0x42c], ebx
lea ebx, [esi + esi*2]
mov edi, ebx
mov ecx, ebx
shl edi, 4
mov dword [esp + 0x43c], edi
lea edi, [esi*8]
shl ecx, 5
sub edi, esi
mov dword [esp + 0x174], ecx
mov ecx, esi
mov dword [esp + 0x438], edi
mov edi, esi
shl ecx, 5
shl edi, 6
mov dword [esp + 0x444], ecx
lea ecx, [esi + esi*4]
mov dword [esp + 0x434], edi
lea edi, [esi + esi*8]
imul esi, esi, 0x58
mov dword [esp + 0x20], esi
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x428], edi
mov edi, ecx
mov dword [esp + 0x178], 0
shl edi, 4
mov dword [esp + 0x430], edi
lea edi, [esi + 0x60]
mov dword [esp + 0x424], ecx
mov dword [esp + 0x420], ebx
mov dword [esp + 0x170], edi
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x174]
mov esi, dword [esp + 0x178]
mov edi, dword [ebp + 0x18]
cmp dword [esp + 0x17c], 0
je 0x10184e9d
mov edi, dword [esp + 0x420]
mov dword [esp + 0x178], esi
mov esi, dword [esp + 0x440]
movsd xmm6, qword [eax + edi*8]
mov edi, dword [esp + 0x424]
movsd xmm5, qword [eax + esi]
mov esi, dword [esp + 0x444]
movsd xmm7, qword [eax + edi*8]
mov edi, dword [esp + 0x438]
movsd xmm0, qword [eax + esi]
mov esi, dword [esp + 0x43c]
movsd xmm3, qword [eax + edi*8]
mov edi, dword [ebp + 0x10]
movaps xmmword [esp + 0x30], xmm3
movsd xmm2, qword [eax + esi]
movsd xmm3, qword [eax + edi*8]
movsd xmm4, qword [eax + ecx]
movaps xmmword [esp + 0x20], xmm2
movaps xmm2, xmm3
mov esi, dword [esp + 0x434]
subps xmm3, xmm4
addps xmm2, xmm4
movsd xmm4, qword [eax + ebx]
movaps xmmword [esp + 0x40], xmm3
movaps xmm3, xmm5
movsd xmm1, qword [eax + esi]
subps xmm5, xmm4
addps xmm3, xmm4
mov esi, dword [esp + 0x430]
movaps xmm4, xmm6
movaps xmmword [esp + 0x50], xmm5
mov dword [esp + 0x174], ecx
movsd xmm5, qword [eax + esi]
mov ecx, dword [esp + 0x428]
subps xmm6, xmm5
addps xmm4, xmm5
movaps xmmword [esp + 0x60], xmm6
movaps xmm5, xmm0
movsd xmm6, qword [eax + ecx*8]
subps xmm0, xmm6
addps xmm5, xmm6
movaps xmm6, xmm7
subps xmm7, xmm1
addps xmm6, xmm1
movaps xmmword [esp + 0x80], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmm1, xmmword [esp + 0x30]
movaps xmmword [esp + 0xa0], xmm7
movaps xmm7, xmm0
movaps xmmword [esp + 0x70], xmm5
addps xmm7, xmm1
subps xmm0, xmm1
movaps xmm1, xmm2
movaps xmmword [esp + 0xb0], xmm7
addps xmm1, xmm3
shufps xmm0, xmm0, 0xb1
addps xmm1, xmm4
movaps xmmword [esp + 0x20], xmm0
addps xmm1, xmm5
movaps xmm0, xmmword [0x103a3c50]
addps xmm1, xmm6
movaps xmmword [esp + 0x90], xmm6
addps xmm1, xmm7
mulps xmm6, xmmword [0x103a3c80]
movsd xmm7, qword [eax]
add eax, 8
movaps xmmword [esp + 0xc0], xmm7
addps xmm1, xmm7
movlps qword [edx], xmm1
movaps xmm1, xmmword [esp + 0x40]
shufps xmm1, xmm1, 0xb1
movaps xmmword [esp + 0x40], xmm1
movaps xmm7, xmmword [esp + 0x50]
movaps xmm1, xmmword [esp + 0x60]
shufps xmm7, xmm7, 0xb1
shufps xmm1, xmm1, 0xb1
movaps xmmword [esp + 0x50], xmm7
movaps xmmword [esp + 0x60], xmm1
movaps xmm7, xmmword [esp + 0x80]
movaps xmm1, xmmword [esp + 0xa0]
shufps xmm7, xmm7, 0xb1
shufps xmm1, xmm1, 0xb1
movaps xmmword [esp + 0x80], xmm7
movaps xmm7, xmm3
movaps xmmword [esp + 0xa0], xmm1
movaps xmm1, xmm2
mulps xmm1, xmmword [0x103a3c40]
mulps xmm7, xmm0
addps xmm1, xmm7
movaps xmm7, xmm4
mulps xmm7, xmmword [0x103a3c60]
addps xmm1, xmm7
movaps xmm7, xmmword [0x103a3c70]
mulps xmm5, xmm7
addps xmm1, xmm5
movaps xmm5, xmmword [esp + 0xb0]
addps xmm1, xmm6
movaps xmm6, xmmword [0x103a3c90]
mulps xmm5, xmm6
addps xmm1, xmm5
movaps xmm5, xmmword [esp + 0x70]
mulps xmm5, xmmword [0x103a3c80]
movaps xmmword [esp + 0xd0], xmm1
movaps xmm1, xmm2
mulps xmm1, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
movaps xmm7, xmm4
addps xmm1, xmm0
mulps xmm7, xmm6
movaps xmm0, xmmword [esp + 0x90]
addps xmm1, xmm7
movaps xmm7, xmmword [0x103a3c60]
addps xmm1, xmm5
mulps xmm0, xmm7
movaps xmm5, xmmword [0x103a3c40]
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0xb0]
mulps xmm0, xmm5
addps xmm1, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm7
movaps xmmword [esp + 0xe0], xmm1
movaps xmm1, xmm3
mulps xmm1, xmm6
movaps xmm6, xmm4
movaps xmm7, xmmword [esp + 0x70]
addps xmm0, xmm1
mulps xmm7, xmm5
movaps xmm1, xmmword [0x103a3c70]
mulps xmm6, xmm1
addps xmm0, xmm6
movaps xmm6, xmmword [esp + 0x90]
mulps xmm6, xmmword [0x103a3c50]
addps xmm0, xmm7
movaps xmm7, xmmword [0x103a3c80]
addps xmm0, xmm6
movaps xmm6, xmmword [esp + 0xb0]
mulps xmm6, xmm7
addps xmm0, xmm6
movaps xmm6, xmm2
mulps xmm6, xmm1
movaps xmmword [esp + 0xf0], xmm0
movaps xmm0, xmm3
mulps xmm0, xmm7
movaps xmm1, xmm4
mulps xmm1, xmm5
addps xmm6, xmm0
movaps xmm5, xmmword [esp + 0x70]
addps xmm6, xmm1
movaps xmm1, xmmword [0x103a3c60]
mulps xmm5, xmm1
movaps xmm0, xmmword [esp + 0x90]
addps xmm6, xmm5
mulps xmm0, xmmword [0x103a3c90]
movaps xmm5, xmmword [esp + 0xb0]
addps xmm6, xmm0
movaps xmm0, xmmword [0x103a3c50]
mulps xmm5, xmm0
addps xmm6, xmm5
movaps xmm5, xmm2
mulps xmm5, xmm7
movaps xmm7, xmm3
mulps xmm7, xmm1
movaps xmmword [esp + 0x100], xmm6
movaps xmm6, xmm4
mulps xmm6, xmm0
addps xmm5, xmm7
mulps xmm4, xmmword [0x103a3c80]
addps xmm5, xmm6
movaps xmm1, xmmword [0x103a3c90]
movaps xmm6, xmmword [0x103a3c40]
mulps xmm2, xmm1
mulps xmm3, xmm6
movaps xmm7, xmmword [esp + 0x70]
addps xmm2, xmm3
mulps xmm7, xmm1
addps xmm2, xmm4
addps xmm5, xmm7
movaps xmm4, xmmword [esp + 0x70]
mulps xmm4, xmmword [0x103a3c50]
movaps xmm0, xmmword [esp + 0x90]
addps xmm2, xmm4
mulps xmm0, xmm6
movaps xmm3, xmmword [esp + 0x90]
addps xmm5, xmm0
movaps xmm7, xmmword [0x103a3c70]
mulps xmm3, xmm7
movaps xmm0, xmmword [esp + 0xb0]
addps xmm2, xmm3
mulps xmm0, xmm7
movaps xmm7, xmmword [esp + 0xb0]
addps xmm5, xmm0
mulps xmm7, xmmword [0x103a3c60]
movaps xmm0, xmmword [0x103a3cb0]
addps xmm2, xmm7
movaps xmmword [esp + 0x120], xmm2
movaps xmm7, xmmword [esp + 0x40]
movaps xmm2, xmmword [esp + 0x50]
movaps xmm4, xmm7
movaps xmm6, xmm2
mulps xmm4, xmmword [0x103a3ca0]
mulps xmm6, xmm0
movaps xmm3, xmmword [esp + 0x60]
addps xmm4, xmm6
movaps xmm1, xmm3
mulps xmm1, xmmword [0x103a3cc0]
movaps xmmword [esp + 0x110], xmm5
addps xmm4, xmm1
movaps xmm5, xmmword [esp + 0x80]
movaps xmm6, xmmword [0x103a3cd0]
mulps xmm5, xmm6
movaps xmm1, xmmword [esp + 0xa0]
addps xmm4, xmm5
mulps xmm1, xmmword [0x103a3ce0]
movaps xmm5, xmmword [0x103a3cf0]
addps xmm4, xmm1
movaps xmm1, xmmword [esp + 0x20]
mulps xmm1, xmm5
addps xmm4, xmm1
movaps xmm1, xmmword [esp + 0x80]
mulps xmm1, xmmword [0x103a3ce0]
movaps xmmword [esp + 0x130], xmm4
movaps xmm4, xmm7
mulps xmm4, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm6
movaps xmm6, xmm3
addps xmm4, xmm0
mulps xmm6, xmm5
movaps xmm0, xmmword [esp + 0xa0]
addps xmm4, xmm6
movaps xmm6, xmmword [0x103a3ca0]
subps xmm4, xmm1
movaps xmm1, xmmword [0x103a3cc0]
mulps xmm0, xmm1
subps xmm4, xmm0
movaps xmm0, xmmword [esp + 0x20]
mulps xmm0, xmm6
subps xmm4, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm1
movaps xmmword [esp + 0x140], xmm4
movaps xmm4, xmm2
mulps xmm4, xmm5
movaps xmm1, xmm3
movaps xmm5, xmmword [0x103a3cd0]
addps xmm0, xmm4
mulps xmm1, xmm5
movaps xmm4, xmmword [esp + 0x80]
subps xmm0, xmm1
mulps xmm4, xmm6
movaps xmm1, xmmword [esp + 0xa0]
subps xmm0, xmm4
mulps xmm1, xmmword [0x103a3cb0]
movaps xmm4, xmmword [0x103a3ce0]
addps xmm0, xmm1
movaps xmm1, xmmword [esp + 0x20]
mulps xmm1, xmm4
addps xmm0, xmm1
movaps xmm1, xmm7
mulps xmm1, xmm5
movaps xmm5, xmm2
mulps xmm5, xmm4
movaps xmmword [esp + 0x150], xmm0
movaps xmm0, xmm3
mulps xmm0, xmm6
subps xmm1, xmm5
movaps xmm6, xmmword [esp + 0x80]
subps xmm1, xmm0
movaps xmm0, xmmword [0x103a3cc0]
mulps xmm6, xmm0
movaps xmm5, xmmword [esp + 0xa0]
addps xmm1, xmm6
mulps xmm5, xmmword [0x103a3cf0]
movaps xmm6, xmmword [0x103a3cb0]
subps xmm1, xmm5
movaps xmm5, xmmword [esp + 0x20]
mulps xmm5, xmm6
subps xmm1, xmm5
movaps xmm5, xmm7
mulps xmm5, xmm4
movaps xmm4, xmm2
mulps xmm4, xmm0
movaps xmmword [esp + 0x160], xmm1
movaps xmm1, xmm3
mulps xmm1, xmm6
subps xmm5, xmm4
mulps xmm3, xmmword [0x103a3ce0]
addps xmm5, xmm1
movaps xmm1, xmmword [0x103a3cf0]
movaps xmm4, xmmword [0x103a3ca0]
mulps xmm7, xmm1
mulps xmm2, xmm4
movaps xmm0, xmmword [esp + 0x80]
subps xmm7, xmm2
mulps xmm0, xmm1
addps xmm7, xmm3
subps xmm5, xmm0
movaps xmm6, xmmword [esp + 0xa0]
movaps xmm2, xmmword [esp + 0x80]
mulps xmm6, xmm4
mulps xmm2, xmmword [0x103a3cb0]
subps xmm5, xmm6
subps xmm7, xmm2
movaps xmm6, xmmword [0x103a3cd0]
movaps xmm4, xmmword [esp + 0xa0]
mulps xmm4, xmm6
movaps xmm0, xmmword [esp + 0x20]
addps xmm7, xmm4
mulps xmm0, xmm6
movaps xmm6, xmmword [esp + 0x20]
addps xmm5, xmm0
mulps xmm6, xmmword [0x103a3cc0]
movaps xmm4, xmmword [esp + 0xc0]
subps xmm7, xmm6
movaps xmm6, xmmword [esp + 0x120]
movaps xmm3, xmmword [esp + 0xd0]
addps xmm6, xmm4
addps xmm3, xmm4
movaps xmmword [esp + 0x40], xmm7
movaps xmmword [esp + 0x120], xmm6
movaps xmm0, xmmword [esp + 0xe0]
movaps xmm7, xmmword [esp + 0xf0]
addps xmm0, xmm4
addps xmm7, xmm4
movaps xmm2, xmmword [esp + 0x100]
movaps xmm1, xmmword [esp + 0x110]
addps xmm2, xmm4
addps xmm1, xmm4
movaps xmm6, xmmword [esp + 0x130]
movaps xmm4, xmm3
subps xmm3, xmm6
addps xmm4, xmm6
movaps xmmword [esp + 0xd0], xmm3
movaps xmm6, xmm0
movaps xmm3, xmmword [esp + 0x140]
movlps qword [edx + edi*8], xmm4
subps xmm0, xmm3
addps xmm6, xmm3
movaps xmmword [esp + 0xe0], xmm0
movaps xmm3, xmm7
movaps xmm0, xmmword [esp + 0x150]
mov edi, dword [esp + 0x440]
subps xmm7, xmm0
addps xmm3, xmm0
movaps xmm0, xmmword [esp + 0x160]
movaps xmmword [esp + 0xf0], xmm7
movaps xmm7, xmm2
movlps qword [edx + edi], xmm6
subps xmm2, xmm0
addps xmm7, xmm0
mov edi, dword [esp + 0x420]
movaps xmmword [esp + 0x100], xmm2
movaps xmm2, xmm1
movaps xmm0, xmmword [esp + 0x120]
subps xmm1, xmm5
addps xmm2, xmm5
movlps qword [edx + edi*8], xmm3
movaps xmm5, xmm0
mov edi, dword [esp + 0x444]
movaps xmmword [esp + 0x110], xmm1
movaps xmm1, xmmword [esp + 0x40]
movlps qword [edx + edi], xmm7
addps xmm5, xmm1
subps xmm0, xmm1
mov edi, dword [esp + 0x424]
movaps xmm7, xmmword [esp + 0x100]
movaps xmm1, xmmword [esp + 0xe0]
movlps qword [edx + edi*8], xmm2
mov edi, dword [esp + 0x43c]
movaps xmm2, xmmword [esp + 0x110]
movlps qword [edx + edi], xmm5
mov edi, dword [esp + 0x438]
movlps qword [edx + edi*8], xmm0
mov edi, dword [esp + 0x434]
movaps xmm0, xmmword [esp + 0xf0]
movlps qword [edx + edi], xmm2
movlps qword [edx + ecx*8], xmm7
mov ecx, dword [esp + 0x174]
movaps xmm2, xmmword [esp + 0xd0]
movlps qword [edx + esi], xmm0
movlps qword [edx + ebx], xmm1
movlps qword [edx + ecx], xmm2
add edx, 8
mov edi, dword [esp + 0x170]
mov esi, dword [esp + 0x178]
cmp dword [esp + 0x42c], 0
jle 0x101859b4
movaps xmm7, xmmword [0x103a3cb0]
movaps xmmword [esp + 0x230], xmm7
movaps xmm7, xmmword [0x103a3cc0]
movaps xmmword [esp + 0x220], xmm7
movaps xmm7, xmmword [0x103a3cd0]
movaps xmmword [esp + 0x200], xmm7
movaps xmm0, xmmword [0x103a3c80]
movaps xmm7, xmmword [0x103a3ce0]
movaps xmmword [esp + 0x240], xmm0
movaps xmmword [esp + 0x210], xmm7
movaps xmm6, xmmword [0x103a3d00]
movaps xmm5, xmmword [0x103a3c40]
movaps xmm4, xmmword [0x103a3c50]
movaps xmm3, xmmword [0x103a3c60]
movaps xmm2, xmmword [0x103a3c70]
movaps xmm1, xmmword [0x103a3c90]
movaps xmm0, xmmword [0x103a3ca0]
movaps xmm7, xmmword [0x103a3cf0]
mov dword [esp + 0x448], 0
mov dword [esp + 0x178], esi
movaps xmmword [esp + 0x1f0], xmm7
movaps xmmword [esp + 0x180], xmm0
movaps xmmword [esp + 0x190], xmm1
movaps xmmword [esp + 0x1a0], xmm2
movaps xmmword [esp + 0x1b0], xmm3
movaps xmmword [esp + 0x1c0], xmm4
movaps xmmword [esp + 0x1d0], xmm5
movaps xmmword [esp + 0x1e0], xmm6
mov esi, dword [esp + 0x448]
mov dword [esp + 0x448], esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x44c], edi
movups xmm6, xmmword [eax + esi*8]
mov esi, dword [esp + 0x440]
movups xmm0, xmmword [eax + esi]
mov esi, dword [esp + 0x420]
movups xmm1, xmmword [eax + esi*8]
mov esi, dword [esp + 0x444]
movups xmm3, xmmword [eax + esi]
mov esi, dword [esp + 0x424]
movups xmm5, xmmword [eax + esi*8]
mov esi, dword [esp + 0x43c]
movups xmm7, xmmword [eax + esi]
mov esi, dword [esp + 0x438]
movaps xmmword [esp + 0x250], xmm7
movups xmm2, xmmword [eax + esi*8]
mov esi, dword [esp + 0x434]
movaps xmmword [esp + 0x260], xmm2
movups xmm4, xmmword [eax + esi]
mov esi, dword [esp + 0x428]
movaps xmmword [esp + 0x270], xmm4
movaps xmm4, xmmword [esp + 0x1e0]
movups xmm7, xmmword [eax + esi*8]
movaps xmmword [esp + 0x280], xmm7
movaps xmm7, xmmword [edi]
movaps xmm2, xmm7
shufps xmm2, xmm7, 0xa0
mulps xmm2, xmm6
shufps xmm6, xmm6, 0xb1
shufps xmm7, xmm7, 0xf5
pxor xmm6, xmm4
mulps xmm7, xmm6
mov esi, dword [esp + 0x430]
subps xmm2, xmm7
movaps xmm7, xmmword [edi + 0x10]
movaps xmm6, xmm7
shufps xmm6, xmm7, 0xa0
mulps xmm6, xmm0
shufps xmm0, xmm0, 0xb1
shufps xmm7, xmm7, 0xf5
pxor xmm0, xmm4
mulps xmm7, xmm0
movaps xmm0, xmmword [edi + 0x20]
subps xmm6, xmm7
movaps xmm7, xmm0
shufps xmm7, xmm0, 0xa0
mulps xmm7, xmm1
shufps xmm1, xmm1, 0xb1
shufps xmm0, xmm0, 0xf5
pxor xmm1, xmm4
mulps xmm0, xmm1
movaps xmm1, xmmword [edi + 0x30]
subps xmm7, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xa0
mulps xmm0, xmm3
shufps xmm3, xmm3, 0xb1
shufps xmm1, xmm1, 0xf5
pxor xmm3, xmm4
mulps xmm1, xmm3
movaps xmm3, xmmword [edi + 0x40]
subps xmm0, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xa0
mulps xmm1, xmm5
shufps xmm5, xmm5, 0xb1
shufps xmm3, xmm3, 0xf5
pxor xmm5, xmm4
mulps xmm3, xmm5
movaps xmmword [esp + 0x290], xmm0
subps xmm1, xmm3
movaps xmm0, xmmword [edi + 0x50]
movaps xmmword [esp + 0x2a0], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xa0
movaps xmm5, xmmword [esp + 0x250]
mulps xmm1, xmm5
shufps xmm5, xmm5, 0xb1
shufps xmm0, xmm0, 0xf5
pxor xmm5, xmm4
mulps xmm0, xmm5
movaps xmm3, xmmword [edi + 0x60]
subps xmm1, xmm0
movaps xmmword [esp + 0x2b0], xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xa0
movaps xmm5, xmmword [esp + 0x260]
mulps xmm1, xmm5
shufps xmm5, xmm5, 0xb1
shufps xmm3, xmm3, 0xf5
pxor xmm5, xmm4
mulps xmm3, xmm5
movaps xmm0, xmmword [edi + 0x70]
subps xmm1, xmm3
movaps xmmword [esp + 0x2c0], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xa0
movaps xmm5, xmmword [esp + 0x270]
mulps xmm1, xmm5
shufps xmm5, xmm5, 0xb1
shufps xmm0, xmm0, 0xf5
pxor xmm5, xmm4
mulps xmm0, xmm5
movaps xmm3, xmmword [edi + 0x80]
subps xmm1, xmm0
movaps xmmword [esp + 0x2d0], xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xa0
movaps xmm5, xmmword [esp + 0x280]
mulps xmm1, xmm5
shufps xmm5, xmm5, 0xb1
shufps xmm3, xmm3, 0xf5
pxor xmm5, xmm4
mulps xmm3, xmm5
movups xmm5, xmmword [eax + esi]
subps xmm1, xmm3
nop
movaps xmm0, xmmword [edi + 0x90]
movaps xmmword [esp + 0x2e0], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xa0
mulps xmm1, xmm5
shufps xmm5, xmm5, 0xb1
shufps xmm0, xmm0, 0xf5
pxor xmm5, xmm4
mulps xmm0, xmm5
movups xmm5, xmmword [eax + ebx]
subps xmm1, xmm0
movups xmm0, xmmword [eax + ecx]
movaps xmm3, xmmword [edi + 0xa0]
movaps xmmword [esp + 0x2f0], xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xa0
mulps xmm1, xmm5
shufps xmm5, xmm5, 0xb1
shufps xmm3, xmm3, 0xf5
pxor xmm5, xmm4
mulps xmm3, xmm5
subps xmm1, xmm3
movaps xmm3, xmmword [edi + 0xb0]
movaps xmm5, xmm3
shufps xmm5, xmm3, 0xa0
mulps xmm5, xmm0
shufps xmm0, xmm0, 0xb1
shufps xmm3, xmm3, 0xf5
pxor xmm0, xmm4
mulps xmm3, xmm0
movaps xmm0, xmm2
movaps xmm4, xmmword [esp + 0x2d0]
subps xmm5, xmm3
mov edi, dword [ebp + 0x10]
addps xmm0, xmm5
subps xmm2, xmm5
movaps xmm5, xmm6
subps xmm6, xmm1
addps xmm5, xmm1
movaps xmmword [esp + 0x310], xmm6
movaps xmm1, xmm7
movaps xmm6, xmmword [esp + 0x2f0]
movaps xmmword [esp + 0x300], xmm2
subps xmm7, xmm6
addps xmm1, xmm6
movaps xmmword [esp + 0x330], xmm7
movaps xmm7, xmmword [esp + 0x290]
movaps xmm2, xmmword [esp + 0x2e0]
movaps xmm6, xmm7
movaps xmmword [esp + 0x320], xmm1
subps xmm7, xmm2
addps xmm6, xmm2
movaps xmmword [esp + 0x290], xmm7
movaps xmm7, xmmword [esp + 0x2a0]
movaps xmm2, xmm7
subps xmm7, xmm4
addps xmm2, xmm4
movaps xmm4, xmmword [esp + 0x2b0]
movaps xmmword [esp + 0x2a0], xmm7
movaps xmm3, xmm4
movaps xmm7, xmmword [esp + 0x2c0]
movaps xmmword [esp + 0x340], xmm6
addps xmm3, xmm7
subps xmm4, xmm7
movaps xmm7, xmm0
movaps xmmword [esp + 0x360], xmm3
addps xmm7, xmm5
shufps xmm4, xmm4, 0xb1
addps xmm7, xmm1
movaps xmmword [esp + 0x2b0], xmm4
addps xmm7, xmm6
movaps xmm4, xmmword [esp + 0x1d0]
addps xmm7, xmm2
mulps xmm4, xmm0
addps xmm7, xmm3
movups xmm3, xmmword [eax]
movaps xmmword [esp + 0x370], xmm3
add eax, 0x10
movaps xmmword [esp + 0x350], xmm2
addps xmm7, xmm3
movlps qword [edx], xmm7
movhps qword [edx + 8], xmm7
movaps xmm7, xmmword [esp + 0x300]
movaps xmm3, xmmword [esp + 0x310]
shufps xmm7, xmm7, 0xb1
movaps xmmword [esp + 0x300], xmm7
shufps xmm3, xmm3, 0xb1
movaps xmmword [esp + 0x310], xmm3
movaps xmm7, xmmword [esp + 0x330]
movaps xmm3, xmmword [esp + 0x290]
shufps xmm7, xmm7, 0xb1
movaps xmmword [esp + 0x330], xmm7
shufps xmm3, xmm3, 0xb1
movaps xmmword [esp + 0x290], xmm3
movaps xmm7, xmmword [esp + 0x2a0]
movaps xmm3, xmmword [esp + 0x1c0]
shufps xmm7, xmm7, 0xb1
movaps xmmword [esp + 0x2a0], xmm7
movaps xmm7, xmm3
mulps xmm7, xmm5
addps xmm4, xmm7
movaps xmm7, xmmword [esp + 0x1b0]
mulps xmm7, xmm1
nop
movaps xmm1, xmmword [esp + 0x1a0]
addps xmm4, xmm7
movaps xmm7, xmm1
mulps xmm7, xmm6
addps xmm4, xmm7
nop dword [eax]
movaps xmm7, xmmword [esp + 0x240]
movaps xmm6, xmm7
mulps xmm6, xmm2
mulps xmm7, xmmword [esp + 0x340]
addps xmm4, xmm6
movaps xmm2, xmmword [esp + 0x190]
movaps xmm6, xmm2
mulps xmm6, xmmword [esp + 0x360]
addps xmm4, xmm6
movaps xmm6, xmm1
mulps xmm6, xmm5
movaps xmmword [esp + 0x380], xmm4
movaps xmm4, xmm3
mulps xmm4, xmm0
movaps xmm3, xmmword [esp + 0x1b0]
addps xmm4, xmm6
movaps xmm6, xmm2
mulps xmm6, xmmword [esp + 0x320]
mulps xmm2, xmm5
addps xmm4, xmm6
movaps xmm6, xmm3
addps xmm4, xmm7
mulps xmm6, xmmword [esp + 0x350]
mulps xmm3, xmm0
addps xmm4, xmm6
addps xmm3, xmm2
movaps xmm7, xmmword [esp + 0x1d0]
movaps xmm6, xmmword [esp + 0x360]
mulps xmm7, xmm6
addps xmm4, xmm7
movaps xmm7, xmm1
mulps xmm7, xmmword [esp + 0x320]
mulps xmm1, xmm0
addps xmm3, xmm7
movaps xmmword [esp + 0x390], xmm4
movaps xmm4, xmmword [esp + 0x1d0]
movaps xmm2, xmm4
nop
mulps xmm2, xmmword [esp + 0x340]
mulps xmm4, xmmword [esp + 0x320]
addps xmm3, xmm2
movaps xmm7, xmmword [esp + 0x1c0]
mulps xmm7, xmmword [esp + 0x350]
addps xmm3, xmm7
nop dword [eax]
movaps xmm7, xmmword [esp + 0x240]
movaps xmm2, xmm7
mulps xmm2, xmm6
addps xmm3, xmm2
movaps xmmword [esp + 0x3a0], xmm3
movaps xmm3, xmm7
mulps xmm3, xmm5
addps xmm1, xmm3
movaps xmm3, xmmword [esp + 0x1b0]
movaps xmm2, xmm3
addps xmm1, xmm4
mulps xmm2, xmmword [esp + 0x340]
mulps xmm3, xmm5
addps xmm1, xmm2
movaps xmm4, xmmword [esp + 0x190]
mulps xmm4, xmmword [esp + 0x350]
movaps xmm2, xmmword [esp + 0x1c0]
addps xmm1, xmm4
movaps xmm4, xmm2
mulps xmm4, xmm6
nop
mulps xmm2, xmmword [esp + 0x320]
addps xmm1, xmm4
movaps xmm4, xmm7
mulps xmm4, xmm0
movaps xmmword [esp + 0x3b0], xmm1
addps xmm4, xmm3
movaps xmm1, xmmword [esp + 0x190]
addps xmm4, xmm2
mulps xmm0, xmm1
movaps xmm3, xmm1
mulps xmm3, xmmword [esp + 0x340]
movaps xmm1, xmmword [esp + 0x320]
addps xmm4, xmm3
mulps xmm1, xmm7
nop dword [eax]
movaps xmm3, xmmword [esp + 0x1d0]
mulps xmm5, xmm3
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x350]
addps xmm0, xmm5
addps xmm4, xmm2
addps xmm0, xmm1
movaps xmm5, xmmword [esp + 0x340]
mulps xmm5, xmmword [esp + 0x1c0]
movaps xmm1, xmmword [esp + 0x350]
addps xmm0, xmm5
mulps xmm1, xmmword [esp + 0x1a0]
movaps xmm2, xmmword [esp + 0x1a0]
addps xmm0, xmm1
mulps xmm2, xmm6
mulps xmm6, xmmword [esp + 0x1b0]
addps xmm4, xmm2
addps xmm0, xmm6
movaps xmm1, xmmword [esp + 0x230]
movaps xmm6, xmmword [esp + 0x180]
nop
movaps xmm7, xmmword [esp + 0x300]
movaps xmm3, xmmword [esp + 0x310]
movaps xmmword [esp + 0x3d0], xmm0
movaps xmm0, xmm1
mulps xmm6, xmm7
mulps xmm0, xmm3
mulps xmm1, xmm7
addps xmm6, xmm0
movaps xmm5, xmmword [esp + 0x220]
movaps xmm2, xmmword [esp + 0x330]
mulps xmm5, xmm2
movaps xmmword [esp + 0x3c0], xmm4
addps xmm6, xmm5
movaps xmm5, xmmword [esp + 0x200]
movaps xmm4, xmm5
mulps xmm4, xmmword [esp + 0x290]
nop
movaps xmm0, xmmword [esp + 0x210]
addps xmm6, xmm4
mulps xmm0, xmmword [esp + 0x2a0]
addps xmm6, xmm0
movaps xmm0, xmmword [esp + 0x1f0]
movaps xmm4, xmm0
mulps xmm4, xmmword [esp + 0x2b0]
addps xmm6, xmm4
movaps xmm4, xmm0
mulps xmm4, xmm2
mulps xmm0, xmm3
movaps xmmword [esp + 0x3e0], xmm6
movaps xmm6, xmm5
mulps xmm6, xmm3
movaps xmm2, xmmword [esp + 0x210]
addps xmm1, xmm6
mulps xmm2, xmmword [esp + 0x290]
addps xmm1, xmm4
movaps xmm4, xmmword [esp + 0x180]
subps xmm1, xmm2
nop dword [eax]
movaps xmm2, xmmword [esp + 0x220]
movaps xmm6, xmm2
mulps xmm6, xmmword [esp + 0x2a0]
mulps xmm2, xmm7
subps xmm1, xmm6
addps xmm2, xmm0
movaps xmm6, xmmword [esp + 0x2b0]
mulps xmm4, xmm6
movaps xmm0, xmmword [esp + 0x180]
subps xmm1, xmm4
movaps xmmword [esp + 0x3f0], xmm1
movaps xmm1, xmm5
mulps xmm1, xmmword [esp + 0x330]
movaps xmm4, xmm0
mulps xmm4, xmmword [esp + 0x290]
mulps xmm5, xmm7
subps xmm2, xmm1
mulps xmm0, xmmword [esp + 0x330]
subps xmm2, xmm4
nop
movaps xmm1, xmmword [esp + 0x230]
mulps xmm1, xmmword [esp + 0x2a0]
addps xmm2, xmm1
movaps xmm1, xmmword [esp + 0x210]
movaps xmm4, xmm1
mulps xmm4, xmm6
addps xmm2, xmm4
movaps xmm4, xmmword [esp + 0x220]
movaps xmmword [esp + 0x400], xmm2
movaps xmm2, xmm1
mulps xmm2, xmm3
subps xmm5, xmm2
movaps xmm2, xmm4
mulps xmm2, xmmword [esp + 0x290]
mulps xmm4, xmm3
subps xmm5, xmm0
movaps xmm0, xmmword [esp + 0x1f0]
addps xmm5, xmm2
mulps xmm0, xmmword [esp + 0x2a0]
movaps xmm2, xmmword [esp + 0x230]
subps xmm5, xmm0
movaps xmm0, xmm2
mulps xmm0, xmm6
mulps xmm2, xmmword [esp + 0x330]
subps xmm5, xmm0
movaps xmm0, xmm1
mulps xmm0, xmm7
movaps xmmword [esp + 0x410], xmm5
subps xmm0, xmm4
movaps xmm5, xmmword [esp + 0x1f0]
addps xmm0, xmm2
mulps xmm7, xmm5
movaps xmm2, xmmword [esp + 0x180]
movaps xmm4, xmm5
mulps xmm3, xmm2
mulps xmm4, xmmword [esp + 0x290]
subps xmm7, xmm3
subps xmm0, xmm4
movaps xmm3, xmmword [esp + 0x330]
movaps xmm4, xmm2
mulps xmm3, xmm1
mulps xmm4, xmmword [esp + 0x2a0]
addps xmm7, xmm3
subps xmm0, xmm4
movaps xmm1, xmmword [esp + 0x290]
mulps xmm1, xmmword [esp + 0x230]
movaps xmm5, xmmword [esp + 0x2a0]
subps xmm7, xmm1
mulps xmm5, xmmword [esp + 0x200]
movaps xmm4, xmmword [esp + 0x200]
addps xmm7, xmm5
mulps xmm4, xmm6
nop
mulps xmm6, xmmword [esp + 0x220]
addps xmm0, xmm4
subps xmm7, xmm6
movaps xmmword [esp + 0x300], xmm7
movaps xmm7, xmmword [esp + 0x370]
movaps xmm2, xmmword [esp + 0x3d0]
movaps xmm4, xmmword [esp + 0x380]
addps xmm2, xmm7
addps xmm4, xmm7
movaps xmmword [esp + 0x3d0], xmm2
movaps xmm3, xmmword [esp + 0x390]
movaps xmm1, xmmword [esp + 0x3a0]
addps xmm3, xmm7
addps xmm1, xmm7
movaps xmm5, xmmword [esp + 0x3b0]
movaps xmm6, xmmword [esp + 0x3c0]
addps xmm5, xmm7
addps xmm6, xmm7
movaps xmm2, xmmword [esp + 0x3e0]
movaps xmm7, xmm4
subps xmm4, xmm2
addps xmm7, xmm2
movaps xmmword [esp + 0x380], xmm4
movaps xmm2, xmm3
movaps xmm4, xmmword [esp + 0x3f0]
movlps qword [edx + edi*8], xmm7
subps xmm3, xmm4
addps xmm2, xmm4
movaps xmmword [esp + 0x390], xmm3
movaps xmm4, xmm1
movaps xmm3, xmmword [esp + 0x400]
movhps qword [edx + edi*8 + 8], xmm7
subps xmm1, xmm3
addps xmm4, xmm3
mov edi, dword [esp + 0x440]
movaps xmm3, xmmword [esp + 0x410]
movaps xmmword [esp + 0x3a0], xmm1
movaps xmm1, xmm5
movlps qword [edx + edi], xmm2
subps xmm5, xmm3
addps xmm1, xmm3
movhps qword [edx + edi + 8], xmm2
mov edi, dword [esp + 0x420]
movaps xmmword [esp + 0x3b0], xmm5
movaps xmm5, xmm6
movaps xmm3, xmmword [esp + 0x3d0]
subps xmm6, xmm0
addps xmm5, xmm0
movlps qword [edx + edi*8], xmm4
movhps qword [edx + edi*8 + 8], xmm4
mov edi, dword [esp + 0x444]
movaps xmm0, xmmword [esp + 0x300]
movaps xmmword [esp + 0x3c0], xmm6
movaps xmm6, xmm3
movlps qword [edx + edi], xmm1
addps xmm6, xmm0
subps xmm3, xmm0
movhps qword [edx + edi + 8], xmm1
mov edi, dword [esp + 0x424]
movaps xmm1, xmmword [esp + 0x3c0]
movaps xmm7, xmmword [esp + 0x3a0]
movlps qword [edx + edi*8], xmm5
movhps qword [edx + edi*8 + 8], xmm5
mov edi, dword [esp + 0x43c]
movaps xmm5, xmmword [esp + 0x3b0]
movaps xmm0, xmmword [esp + 0x390]
movlps qword [edx + edi], xmm6
movhps qword [edx + edi + 8], xmm6
mov edi, dword [esp + 0x438]
movlps qword [edx + edi*8], xmm3
movhps qword [edx + edi*8 + 8], xmm3
nop
mov edi, dword [esp + 0x434]
movlps qword [edx + edi], xmm1
movhps qword [edx + edi + 8], xmm1
mov edi, dword [esp + 0x428]
movaps xmm1, xmmword [esp + 0x380]
movlps qword [edx + edi*8], xmm5
movhps qword [edx + edi*8 + 8], xmm5
movlps qword [edx + esi], xmm7
movhps qword [edx + esi + 8], xmm7
mov esi, dword [esp + 0x448]
add esi, 2
mov edi, dword [esp + 0x44c]
movlps qword [edx + ebx], xmm0
add edi, 0xc0
movhps qword [edx + ebx + 8], xmm0
movlps qword [edx + ecx], xmm1
movhps qword [edx + ecx + 8], xmm1
add edx, 0x10
cmp esi, dword [esp + 0x42c]
jl 0x10184f87
mov esi, dword [esp + 0x178]
inc esi
add eax, ecx
add edx, ecx
cmp esi, dword [ebp + 0x14]
jl 0x10184759
jmp 0x10185a29
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.10185a40
add esp, 0x454
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test al, 0xf
jne 0x10185a13
test dl, 0xf
jne 0x10185a13
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.10186700
add esp, 0x454
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.101889c0
add esp, 0x454
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret