Function at 0x10031160
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x210
movdqu xmm0, xmmword [ecx + 0x108]
movdqu xmm1, xmmword [ecx + 0x118]
mov edi, dword [ebp + 8]
mov esi, dword [ecx + 0x100]
mov dword [esp + 0x1a4], edx
xor edx, edx
mov dword [esp + 0x1c], ecx
movdqa xmmword [esp + 0x1f0], xmm0
movdqa xmmword [esp + 0x1e0], xmm1
nop word [eax + eax]
cmp esi, 0x3f
mov dword [esp + 0x14c], edx
jbe 0x10032ba4
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x128]
mov edi, dword [esi + 0x12c]
movups xmm5, xmmword [esi + 0x128]
mov edx, eax
mov ecx, edi
mov ebx, edi
mov dword [esp + 0x3c], edi
movaps xmmword [esp + 0xb0], xmm5
add edx, 1
movd xmm0, edx
mov edx, eax
adc ecx, 0
add edx, 2
movd xmm4, ecx
mov ecx, edi
adc ebx, 0
add eax, 3
movd xmm1, edx
punpcklqdq xmm4, xmm0
movd xmm3, ebx
adc ecx, 0
movd xmm2, eax
shufps xmm4, xmm5, 0xe2
punpcklqdq xmm3, xmm1
movd xmm0, ecx
movaps xmm1, xmmword [esp + 0x1e0]
movaps xmmword [esp + 0x50], xmm4
mov ecx, 0xa
punpcklqdq xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x1f0]
shufps xmm3, xmm5, 0xe2
movaps xmmword [esp + 0x40], xmm3
movaps xmm3, xmmword [0x102cb380]
shufps xmm0, xmm5, 0xe2
movaps xmmword [esp + 0x70], xmm0
movaps xmm4, xmm1
movaps xmmword [esp + 0x60], xmm1
movaps xmmword [esp + 0xc0], xmm1
movaps xmmword [esp + 0xa0], xmm1
movdqa xmm7, xmm2
movdqa xmmword [esp + 0xf0], xmm2
movdqa xmmword [esp + 0x90], xmm2
movaps xmmword [esp + 0x80], xmm3
movaps xmmword [esp + 0x110], xmm3
movaps xmmword [esp + 0x120], xmm3
movaps xmmword [esp + 0x130], xmm3
nop dword [eax]
movaps xmmword [esp + 0x100], xmm4
movdqa xmm4, xmmword [esp + 0x80]
movdqa xmm3, xmmword [esp + 0xb0]
mov dword [esp + 0x1d0], ecx
paddd xmm4, xmm2
movd ebx, xmm3
pshufd xmm0, xmm4, 0x55
movd dword [esp + 0x80], xmm0
pshufd xmm0, xmm4, 0xee
movd edx, xmm0
pshufd xmm0, xmm4, 0xff
movd esi, xmm0
pshufd xmm0, xmm3, 0x55
movd ecx, xmm0
pshufd xmm0, xmm3, 0xee
movd edi, xmm0
pshufd xmm0, xmm3, 0xff
xor ecx, dword [esp + 0x80]
movd eax, xmm0
xor edi, edx
movdqa xmm0, xmmword [esp + 0xa0]
xor eax, esi
movd xmm6, edi
movd xmm3, eax
movd eax, xmm4
xor ebx, eax
movd xmm5, ecx
punpckldq xmm6, xmm3
movd xmm1, ebx
movd ebx, xmm2
punpckldq xmm1, xmm5
movdqa xmm3, xmm1
punpcklqdq xmm3, xmm6
movdqa xmm5, xmm3
pslld xmm3, 0x10
psrld xmm5, 0x10
por xmm3, xmm5
paddd xmm0, xmm3
pshufd xmm5, xmm0, 0x55
movdqa xmmword [esp + 0xa0], xmm0
movd dword [esp + 0x80], xmm5
pshufd xmm5, xmm0, 0xee
movd edx, xmm5
pshufd xmm5, xmm0, 0xff
movd esi, xmm5
pshufd xmm5, xmm2, 0x55
movd ecx, xmm5
pshufd xmm5, xmm2, 0xee
pshufd xmm2, xmm2, 0xff
movd eax, xmm2
xor ecx, dword [esp + 0x80]
movd edi, xmm5
xor eax, esi
xor edi, edx
movd xmm2, eax
movd eax, xmm0
movd xmm5, edi
xor ebx, eax
punpckldq xmm5, xmm2
movd xmm2, ecx
movd xmm0, ebx
movd ecx, xmm3
punpckldq xmm0, xmm2
punpcklqdq xmm0, xmm5
movdqa xmm2, xmm0
pslld xmm0, 0xc
psrld xmm2, 0x14
por xmm0, xmm2
paddd xmm4, xmm0
movdqa xmmword [esp + 0xe0], xmm0
pshuflw xmm0, xmm6, 0xeb
pshufd xmm2, xmm4, 0x55
movd eax, xmm0
movdqa xmmword [esp + 0x80], xmm4
movd dword [esp + 0xb0], xmm2
pshufd xmm2, xmm4, 0xee
movd esi, xmm2
pshufd xmm2, xmm4, 0xff
movd edi, xmm2
pshuflw xmm2, xmm1, 0xeb
movd edx, xmm2
pshuflw xmm2, xmm6, 0xe1
xor eax, edi
xor edx, dword [esp + 0xb0]
movd ebx, xmm2
movd xmm0, eax
movd eax, xmm4
xor ebx, esi
xor ecx, eax
movd xmm2, ebx
movd xmm3, ecx
punpckldq xmm2, xmm0
movd xmm0, edx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqa xmm2, xmmword [esp + 0x110]
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
paddd xmm2, xmm7
movdqa xmmword [esp + 0xb0], xmm3
pshufd xmm0, xmm2, 0x55
movdqa xmm6, xmm2
movd dword [esp + 0x110], xmm0
pshufd xmm0, xmm2, 0xee
movd edx, xmm0
pshufd xmm0, xmm2, 0xff
movdqa xmm2, xmmword [esp + 0x50]
movd esi, xmm0
pshufd xmm0, xmm2, 0x55
movd ebx, xmm2
movd ecx, xmm0
pshufd xmm0, xmm2, 0xee
movd edi, xmm0
pshufd xmm0, xmm2, 0xff
xor ecx, dword [esp + 0x110]
movd eax, xmm0
xor edi, edx
movdqa xmm0, xmmword [esp + 0xc0]
xor eax, esi
movd xmm1, edi
movd xmm2, eax
movd eax, xmm6
xor ebx, eax
punpckldq xmm1, xmm2
movd xmm3, ecx
movd xmm2, ebx
movd ebx, xmm7
punpckldq xmm2, xmm3
movdqa xmm3, xmm2
pshuflw xmm2, xmm2, 0xeb
punpcklqdq xmm3, xmm1
movdqa xmm4, xmm3
pslld xmm3, 0x10
psrld xmm4, 0x10
por xmm3, xmm4
paddd xmm0, xmm3
pshufd xmm4, xmm0, 0x55
movdqa xmmword [esp + 0xc0], xmm0
movd dword [esp + 0x110], xmm4
pshufd xmm4, xmm0, 0xee
movd edx, xmm4
pshufd xmm4, xmm0, 0xff
movd esi, xmm4
pshufd xmm4, xmm7, 0x55
movd ecx, xmm4
pshufd xmm4, xmm7, 0xee
movd edi, xmm4
pshufd xmm4, xmm7, 0xff
xor ecx, dword [esp + 0x110]
movd eax, xmm4
xor edi, edx
movd edx, xmm2
pshuflw xmm2, xmm1, 0xe1
xor eax, esi
movd xmm5, edi
movd xmm4, eax
movd eax, xmm0
pshuflw xmm0, xmm1, 0xeb
movdqa xmm1, xmmword [esp + 0x90]
xor ebx, eax
punpckldq xmm5, xmm4
movd xmm4, ecx
movd eax, xmm0
movd ecx, xmm3
movd xmm7, ebx
movd ebx, xmm2
punpckldq xmm7, xmm4
punpcklqdq xmm7, xmm5
movdqa xmm5, xmmword [esp + 0x100]
movdqa xmm4, xmm7
pslld xmm7, 0xc
psrld xmm4, 0x14
por xmm7, xmm4
paddd xmm6, xmm7
pshufd xmm4, xmm6, 0x55
movdqa xmmword [esp + 0x110], xmm6
movd dword [esp + 0x50], xmm4
pshufd xmm4, xmm6, 0xee
movd esi, xmm4
pshufd xmm4, xmm6, 0xff
xor edx, dword [esp + 0x50]
movd edi, xmm4
xor ebx, esi
xor eax, edi
movd xmm2, ebx
movd xmm0, eax
movd eax, xmm6
xor ecx, eax
punpckldq xmm2, xmm0
movd xmm0, edx
movd xmm3, ecx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqa xmm2, xmmword [esp + 0x120]
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
paddd xmm2, xmm1
movdqa xmmword [esp + 0x50], xmm3
pshufd xmm0, xmm2, 0x55
movdqa xmm6, xmm2
movd dword [esp + 0x120], xmm0
pshufd xmm0, xmm2, 0xee
movd edx, xmm0
pshufd xmm0, xmm2, 0xff
movdqa xmm2, xmmword [esp + 0x40]
movd esi, xmm0
pshufd xmm0, xmm2, 0x55
movd ebx, xmm2
movd ecx, xmm0
pshufd xmm0, xmm2, 0xee
movd edi, xmm0
pshufd xmm0, xmm2, 0xff
xor ecx, dword [esp + 0x120]
movd eax, xmm0
xor edi, edx
xor eax, esi
movd xmm2, edi
movd xmm0, eax
movd eax, xmm6
xor ebx, eax
punpckldq xmm2, xmm0
movd xmm0, ecx
movd xmm4, ebx
movd ebx, xmm1
punpckldq xmm4, xmm0
movdqa xmm3, xmm4
punpcklqdq xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 0x10
psrld xmm0, 0x10
por xmm3, xmm0
paddd xmm5, xmm3
pshufd xmm0, xmm5, 0x55
movdqa xmmword [esp + 0x100], xmm5
movd dword [esp + 0x120], xmm0
pshufd xmm0, xmm5, 0xee
movd edx, xmm0
pshufd xmm0, xmm5, 0xff
movd esi, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm0
pshufd xmm0, xmm1, 0xee
movd edi, xmm0
pshufd xmm0, xmm1, 0xff
xor ecx, dword [esp + 0x120]
movd eax, xmm0
xor edi, edx
xor eax, esi
movd xmm1, edi
movd xmm0, eax
movd eax, xmm5
xor ebx, eax
punpckldq xmm1, xmm0
movd xmm5, ecx
movd ecx, xmm3
movd xmm0, ebx
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm0, xmm1
paddd xmm6, xmm0
movdqa xmmword [esp + 0x90], xmm0
pshufd xmm1, xmm6, 0x55
movdqa xmmword [esp + 0x120], xmm6
movd dword [esp + 0x40], xmm1
pshufd xmm1, xmm6, 0xee
movd esi, xmm1
pshufd xmm1, xmm6, 0xff
movd edi, xmm1
pshuflw xmm1, xmm4, 0xeb
movd edx, xmm1
pshuflw xmm1, xmm2, 0xe1
movd ebx, xmm1
pshuflw xmm1, xmm2, 0xeb
xor edx, dword [esp + 0x40]
movdqa xmm2, xmmword [esp + 0x70]
movd eax, xmm1
xor ebx, esi
xor eax, edi
movd xmm3, ebx
movd xmm1, eax
movd eax, xmm6
movdqa xmm6, xmmword [esp + 0xf0]
xor ecx, eax
punpckldq xmm3, xmm1
movd xmm1, edx
movd ebx, xmm2
movd xmm0, ecx
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm3
movdqa xmm1, xmm0
pslld xmm0, 8
psrld xmm1, 0x18
por xmm0, xmm1
movdqa xmmword [esp + 0x40], xmm0
movdqa xmm0, xmmword [esp + 0x130]
paddd xmm0, xmm6
pshufd xmm1, xmm0, 0x55
movd dword [esp + 0x130], xmm1
pshufd xmm1, xmm0, 0xee
movd edx, xmm1
pshufd xmm1, xmm0, 0xff
movd esi, xmm1
pshufd xmm1, xmm2, 0x55
movd ecx, xmm1
pshufd xmm1, xmm2, 0xee
movd edi, xmm1
pshufd xmm1, xmm2, 0xff
xor ecx, dword [esp + 0x130]
movdqa xmm2, xmmword [esp + 0x60]
movd eax, xmm1
xor edi, edx
xor eax, esi
movd xmm4, edi
movd xmm1, eax
movd eax, xmm0
xor ebx, eax
punpckldq xmm4, xmm1
movd xmm1, ecx
movd xmm5, ebx
movd ebx, xmm6
punpckldq xmm5, xmm1
movdqa xmm3, xmm5
punpcklqdq xmm3, xmm4
movdqa xmm1, xmm3
pslld xmm3, 0x10
psrld xmm1, 0x10
por xmm3, xmm1
paddd xmm2, xmm3
pshufd xmm1, xmm2, 0x55
movdqa xmmword [esp + 0x60], xmm2
movd dword [esp + 0x130], xmm1
pshufd xmm1, xmm2, 0xee
movd edx, xmm1
pshufd xmm1, xmm2, 0xff
movd esi, xmm1
pshufd xmm1, xmm6, 0x55
movd ecx, xmm1
pshufd xmm1, xmm6, 0xee
movd edi, xmm1
pshufd xmm1, xmm6, 0xff
xor ecx, dword [esp + 0x130]
movd eax, xmm1
xor edi, edx
xor eax, esi
movd xmm6, edi
movd xmm1, eax
movd eax, xmm2
xor ebx, eax
punpckldq xmm6, xmm1
movd xmm2, ecx
movd ecx, xmm3
movd xmm1, ebx
punpckldq xmm1, xmm2
punpcklqdq xmm1, xmm6
movdqa xmm2, xmm1
pslld xmm1, 0xc
psrld xmm2, 0x14
por xmm1, xmm2
paddd xmm0, xmm1
pshufd xmm2, xmm0, 0x55
movdqa xmmword [esp + 0x130], xmm0
movd dword [esp + 0x70], xmm2
pshufd xmm2, xmm0, 0xee
movd esi, xmm2
pshufd xmm2, xmm0, 0xff
movd edi, xmm2
pshuflw xmm2, xmm5, 0xeb
movd edx, xmm2
pshuflw xmm2, xmm4, 0xe1
movd ebx, xmm2
pshuflw xmm2, xmm4, 0xeb
xor edx, dword [esp + 0x70]
movd eax, xmm2
xor ebx, esi
xor eax, edi
movd xmm3, ebx
movd xmm2, eax
movd eax, xmm0
xor ecx, eax
punpckldq xmm3, xmm2
movd xmm2, edx
movd edx, xmm1
movd xmm0, ecx
movd ecx, xmm7
punpckldq xmm0, xmm2
punpcklqdq xmm0, xmm3
movdqa xmm3, xmmword [esp + 0xa0]
movdqa xmm2, xmm0
pslld xmm0, 8
psrld xmm2, 0x18
por xmm0, xmm2
paddd xmm3, xmmword [esp + 0xb0]
movdqa xmm4, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmm0, xmmword [esp + 0x90]
pshufd xmm2, xmm3, 0xff
movdqa xmm5, xmm3
movdqa xmmword [esp + 0xa0], xmm3
movd edi, xmm0
movd dword [esp + 0x150], xmm2
pshufd xmm2, xmm3, 0xee
movd ebx, xmm5
movd dword [esp + 0x70], xmm2
pshufd xmm2, xmm3, 0x55
movdqa xmm3, xmmword [esp + 0xe0]
movd dword [esp + 0xf0], xmm2
pshufd xmm2, xmm3, 0xff
movd eax, xmm3
movd dword [esp + 0xc], xmm2
pshufd xmm2, xmm3, 0xee
xor eax, ebx
movd dword [esp + 0x180], xmm2
pshufd xmm2, xmm3, 0x55
movdqa xmm3, xmmword [esp + 0xc0]
mov ebx, dword [esp + 0xc]
movd dword [esp + 0x160], xmm2
paddd xmm3, xmmword [esp + 0x50]
xor ebx, dword [esp + 0x150]
pshufd xmm2, xmm3, 0xff
movdqa xmmword [esp + 0xc0], xmm3
movd dword [esp + 0x1c0], xmm2
pshufd xmm2, xmm3, 0xee
movd dword [esp + 0xe0], xmm2
pshufd xmm2, xmm3, 0x55
movd dword [esp + 0xd0], xmm2
pshufd xmm2, xmm7, 0xff
movd dword [esp + 0x18], xmm2
pshufd xmm2, xmm7, 0xee
movd dword [esp + 0x14], xmm2
pshufd xmm2, xmm7, 0x55
movdqa xmm7, xmmword [esp + 0x100]
movd dword [esp + 0x34], xmm2
paddd xmm7, xmmword [esp + 0x40]
pshufd xmm2, xmm7, 0xff
movdqa xmmword [esp + 0x100], xmm7
movd dword [esp + 8], xmm2
pshufd xmm2, xmm7, 0xee
movd dword [esp + 0x170], xmm2
pshufd xmm2, xmm7, 0x55
movd dword [esp + 4], xmm2
pshufd xmm2, xmm0, 0xff
movd dword [esp + 0x30], xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm0, xmm0, 0x55
movd dword [esp + 0x2c], xmm2
movdqa xmm2, xmmword [esp + 0x60]
movd dword [esp + 0x28], xmm0
paddd xmm2, xmm4
pshufd xmm0, xmm2, 0xff
movdqa xmm4, xmm2
movdqa xmmword [esp + 0x60], xmm2
movd dword [esp + 0x10], xmm0
pshufd xmm0, xmm2, 0xee
movd dword [esp + 0x90], xmm0
pshufd xmm0, xmm2, 0x55
movd dword [esp + 0x38], xmm0
pshufd xmm0, xmm1, 0xff
movd dword [esp + 0x24], xmm0
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0x20], xmm0
pshufd xmm0, xmm1, 0x55
movd xmm1, ebx
mov ebx, dword [esp + 0x180]
movd esi, xmm0
movd xmm0, eax
mov eax, dword [esp + 0x160]
punpckldq xmm1, xmm0
xor esi, dword [esp + 0x38]
xor ebx, dword [esp + 0x70]
xor eax, dword [esp + 0xf0]
movd xmm2, ebx
movd ebx, xmm3
movd xmm5, eax
mov eax, dword [esp + 0x18]
xor ecx, ebx
mov ebx, dword [esp + 0x34]
punpckldq xmm5, xmm2
punpcklqdq xmm5, xmm1
movdqa xmm1, xmm5
pslld xmm5, 7
xor eax, dword [esp + 0x1c0]
psrld xmm1, 0x19
xor ebx, dword [esp + 0xd0]
por xmm5, xmm1
movd xmm1, ecx
mov ecx, dword [esp + 0x28]
movd dword [esp + 0x1bc], xmm5
movd xmm2, eax
mov eax, dword [esp + 0x14]
movd xmm6, ebx
movd ebx, xmm7
punpckldq xmm2, xmm1
xor ecx, dword [esp + 4]
xor edi, ebx
xor eax, dword [esp + 0xe0]
movd xmm7, ecx
movd xmm1, eax
mov eax, dword [esp + 0x30]
punpckldq xmm6, xmm1
punpcklqdq xmm6, xmm2
movdqa xmm1, xmm6
pslld xmm6, 7
xor eax, dword [esp + 8]
psrld xmm1, 0x19
por xmm6, xmm1
movd xmm1, edi
movd edi, xmm4
xor edx, edi
movd dword [esp + 0x30], xmm6
movd xmm2, eax
mov eax, dword [esp + 0x2c]
punpckldq xmm2, xmm1
movdqa xmm1, xmmword [esp + 0x120]
xor eax, dword [esp + 0x170]
movd xmm3, eax
mov eax, dword [esp + 0x24]
punpckldq xmm7, xmm3
movd xmm3, esi
punpcklqdq xmm7, xmm2
movdqa xmm2, xmm7
pslld xmm7, 7
xor eax, dword [esp + 0x10]
psrld xmm2, 0x19
por xmm7, xmm2
movd xmm2, edx
paddd xmm1, xmm7
movdqa xmmword [esp + 0x120], xmm1
movd xmm4, eax
mov eax, dword [esp + 0x20]
movd dword [esp + 0x20], xmm7
punpckldq xmm4, xmm2
xor eax, dword [esp + 0x90]
movd xmm2, eax
punpckldq xmm3, xmm2
punpcklqdq xmm3, xmm4
movdqa xmm4, xmmword [esp + 0x110]
movdqa xmm2, xmm3
pslld xmm3, 7
psrld xmm2, 0x19
por xmm3, xmm2
paddd xmm4, xmm6
movd dword [esp + 0x1b0], xmm3
pshufd xmm2, xmm4, 0x55
movdqa xmm0, xmm4
movdqa xmmword [esp + 0x110], xmm4
movd dword [esp + 0x70], xmm2
pshufd xmm2, xmm4, 0xee
movd edx, xmm2
pshufd xmm2, xmm4, 0xff
movdqa xmm4, xmmword [esp + 0x50]
movd esi, xmm2
pshufd xmm2, xmm4, 0x93
movd ebx, xmm4
movd ecx, xmm2
pshufd xmm2, xmm4, 0x55
xor ebx, dword [esp + 0x70]
movd edi, xmm2
pshufd xmm2, xmm4, 0xee
movd eax, xmm2
xor edi, edx
xor eax, esi
movd xmm4, edi
movd xmm2, eax
movd eax, xmm0
xor ecx, eax
punpckldq xmm4, xmm2
movd xmm2, ebx
movd xmm0, ecx
movdqa xmmword [esp + 0x90], xmm4
punpckldq xmm0, xmm2
movdqa xmmword [esp + 0xf0], xmm0
punpcklqdq xmm0, xmm4
movdqa xmm4, xmmword [esp + 0x40]
movdqa xmm2, xmm0
pslld xmm0, 0x10
psrld xmm2, 0x10
por xmm0, xmm2
pshufd xmm2, xmm1, 0x55
movd dword [esp + 0x50], xmm2
pshufd xmm2, xmm1, 0xee
movd ebx, xmm4
movdqa xmmword [esp + 0x70], xmm0
movd edx, xmm2
pshufd xmm2, xmm1, 0xff
xor ebx, dword [esp + 0x50]
movd esi, xmm2
pshufd xmm2, xmm4, 0x93
movd ecx, xmm2
pshufd xmm2, xmm4, 0x55
movd edi, xmm2
pshufd xmm2, xmm4, 0xee
movdqa xmm4, xmmword [esp + 0x130]
movd eax, xmm2
xor edi, edx
xor eax, esi
movd xmm0, edi
movd xmm2, eax
movd eax, xmm1
xor ecx, eax
punpckldq xmm0, xmm2
movd xmm2, ebx
paddd xmm4, xmm3
movd xmm1, ecx
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x130], xmm4
punpckldq xmm1, xmm2
movdqa xmmword [esp + 0xe0], xmm1
punpcklqdq xmm1, xmm0
movdqa xmm0, xmmword [esp + 0x190]
movdqa xmm2, xmm1
pslld xmm1, 0x10
psrld xmm2, 0x10
por xmm1, xmm2
pshufd xmm2, xmm4, 0x55
movd dword [esp + 0x40], xmm2
pshufd xmm2, xmm4, 0xee
movd ebx, xmm0
movdqa xmmword [esp + 0x50], xmm1
movd edx, xmm2
pshufd xmm2, xmm4, 0xff
xor ebx, dword [esp + 0x40]
movd esi, xmm2
pshufd xmm2, xmm0, 0x93
movd ecx, xmm2
pshufd xmm2, xmm0, 0x55
movd edi, xmm2
pshufd xmm2, xmm0, 0xee
movd eax, xmm2
xor edi, edx
xor eax, esi
movd xmm0, edi
movd xmm2, eax
movd eax, xmm4
movdqa xmm4, xmmword [esp + 0x80]
xor ecx, eax
punpckldq xmm0, xmm2
movd xmm2, ebx
movd xmm1, ecx
movdqa xmmword [esp + 0x1c0], xmm0
punpckldq xmm1, xmm2
movdqa xmmword [esp + 0x190], xmm1
punpcklqdq xmm1, xmm0
paddd xmm4, xmm5
movdqa xmm2, xmm1
pslld xmm1, 0x10
movdqa xmmword [esp + 0x80], xmm4
psrld xmm2, 0x10
por xmm1, xmm2
pshufd xmm2, xmm4, 0x55
movd dword [esp + 0xd0], xmm2
pshufd xmm2, xmm4, 0xee
movdqa xmmword [esp + 0x40], xmm1
movdqa xmm1, xmm4
movd edx, xmm2
pshufd xmm2, xmm4, 0xff
movdqa xmm4, xmmword [esp + 0xb0]
movd esi, xmm2
pshufd xmm2, xmm4, 0x93
movd ebx, xmm4
movd ecx, xmm2
pshufd xmm2, xmm4, 0x55
xor ebx, dword [esp + 0xd0]
movd edi, xmm2
pshufd xmm2, xmm4, 0xee
movd eax, xmm2
xor edi, edx
xor eax, esi
movd xmm0, edi
movd xmm2, eax
movd eax, xmm1
pshufd xmm1, xmmword [esp + 0xc0], 0x4e
xor ecx, eax
punpckldq xmm0, xmm2
movd xmm2, ebx
movd xmm4, ecx
movdqa xmmword [esp + 0xb0], xmm0
punpckldq xmm4, xmm2
movdqa xmmword [esp + 0xd0], xmm4
punpcklqdq xmm4, xmm0
pshufd xmm0, xmmword [esp + 0xa0], 0x4e
paddd xmm1, xmmword [esp + 0x70]
movdqa xmm2, xmm4
pslld xmm4, 0x10
psrld xmm2, 0x10
por xmm4, xmm2
paddd xmm0, xmm4
movdqa xmmword [esp + 0xc0], xmm1
pshufd xmm2, xmm0, 0x55
movdqa xmmword [esp + 0xa0], xmm0
movd dword [esp + 0xc], xmm2
pshufd xmm2, xmm0, 0xee
movd dword [esp + 0x38], xmm2
pshufd xmm2, xmm0, 0xff
pshufd xmm0, xmm5, 0xff
movd dword [esp + 4], xmm2
movd esi, xmm0
pshufd xmm2, xmm5, 0x55
pshufd xmm0, xmm1, 0x55
movd ebx, xmm2
pshufd xmm2, xmm5, 0xee
movd dword [esp + 0x170], xmm0
pshufd xmm0, xmm1, 0xee
xor esi, dword [esp + 4]
movd eax, xmm2
movd dword [esp + 0x18], xmm0
pshufd xmm0, xmm1, 0xff
movdqa xmm2, xmm1
pshufd xmm1, xmmword [esp + 0x100], 0x4e
movd dword [esp + 0x14], xmm0
pshufd xmm0, xmm6, 0x55
xor eax, dword [esp + 0x38]
movd dword [esp + 0x160], xmm0
pshufd xmm0, xmm6, 0xee
movd dword [esp + 0x1b4], xmm0
pshufd xmm0, xmm6, 0xff
paddd xmm1, xmmword [esp + 0x50]
movd dword [esp + 0x1ac], xmm0
pshufd xmm0, xmm1, 0x55
movdqa xmm6, xmm1
movdqa xmmword [esp + 0x100], xmm1
movd dword [esp + 8], xmm0
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0x34], xmm0
pshufd xmm0, xmm1, 0xff
pshufd xmm1, xmmword [esp + 0x60], 0x4e
movd dword [esp + 0x28], xmm0
pshufd xmm0, xmm7, 0x55
movd dword [esp + 0x10], xmm0
pshufd xmm0, xmm7, 0xee
movd dword [esp + 0x1a8], xmm0
pshufd xmm0, xmm7, 0xff
paddd xmm1, xmmword [esp + 0x40]
movd ecx, xmm0
xor ecx, dword [esp + 0x28]
pshufd xmm0, xmm1, 0x55
movdqa xmm5, xmm1
movdqa xmmword [esp + 0x180], xmm1
movd dword [esp + 0x60], xmm0
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0x24], xmm0
pshufd xmm0, xmm1, 0xff
movd xmm1, eax
mov eax, ebx
movd dword [esp + 0x1b8], xmm0
pshufd xmm0, xmm3, 0x55
xor eax, dword [esp + 0xc]
movd dword [esp + 0xc], xmm4
pshuflw xmm4, xmmword [esp + 0xd0], 0xeb
movd dword [esp + 0x2c], xmm0
pshufd xmm0, xmm3, 0xee
movd edi, xmm0
pshufd xmm0, xmm3, 0xff
movd edx, xmm0
movd xmm0, esi
mov esi, dword [esp + 0x1bc]
xor edi, dword [esp + 0x24]
punpckldq xmm1, xmm0
movdqa xmm0, xmmword [esp + 0xa0]
xor edx, dword [esp + 0x1b8]
movd dword [esp + 0xd0], xmm4
movd ebx, xmm0
movd xmm0, eax
mov eax, dword [esp + 0x1b4]
xor esi, ebx
mov ebx, dword [esp + 0x30]
movd xmm3, esi
mov esi, dword [esp + 0x1ac]
punpckldq xmm3, xmm0
xor eax, dword [esp + 0x18]
punpcklqdq xmm3, xmm1
movdqa xmm0, xmm3
pslld xmm3, 0xc
xor esi, dword [esp + 0x14]
psrld xmm0, 0x14
por xmm3, xmm0
movd xmm1, eax
mov eax, dword [esp + 0x160]
movd xmm0, esi
movd esi, xmm2
punpckldq xmm1, xmm0
xor ebx, esi
mov esi, dword [esp + 0x20]
xor eax, dword [esp + 0x170]
movd xmm2, ebx
movd xmm0, eax
mov eax, dword [esp + 0x1a8]
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movd xmm1, ecx
movd ecx, xmm6
movdqa xmm0, xmm2
pslld xmm2, 0xc
xor esi, ecx
mov ecx, dword [esp + 0x2c]
xor eax, dword [esp + 0x34]
psrld xmm0, 0x14
por xmm2, xmm0
xor ecx, dword [esp + 0x60]
movd xmm0, eax
mov eax, dword [esp + 0x10]
punpckldq xmm0, xmm1
movd xmm1, esi
movd xmm7, ecx
xor eax, dword [esp + 8]
movd xmm6, eax
movd eax, xmm5
punpckldq xmm1, xmm6
movd xmm6, edi
punpcklqdq xmm1, xmm0
movdqa xmm0, xmm1
pslld xmm1, 0xc
psrld xmm0, 0x14
por xmm1, xmm0
movd xmm0, edx
mov edx, dword [esp + 0x1b0]
punpckldq xmm6, xmm0
movdqa xmm0, xmmword [esp + 0x80]
movdqa xmmword [esp + 0x170], xmm1
xor edx, eax
movd xmm5, edx
paddd xmm0, xmm3
punpckldq xmm5, xmm7
movdqa xmmword [esp + 0x80], xmm0
movdqa xmm7, xmmword [esp + 0x130]
punpcklqdq xmm5, xmm6
movdqa xmm6, xmm5
pslld xmm5, 0xc
psrld xmm6, 0x14
por xmm5, xmm6
pshufd xmm6, xmm0, 0x55
movd dword [esp + 0x60], xmm6
pshufd xmm6, xmm0, 0xee
paddd xmm7, xmm5
movdqa xmmword [esp + 0x160], xmm5
movd dword [esp + 8], xmm6
pshufd xmm6, xmm0, 0xff
movdqa xmm0, xmmword [esp + 0xb0]
movdqa xmmword [esp + 0x130], xmm7
movd dword [esp + 4], xmm6
movdqa xmm6, xmmword [esp + 0x110]
pshuflw xmm4, xmm0, 0xe1
movd dword [esp + 0x18], xmm4
pshuflw xmm4, xmm0, 0xeb
movdqa xmm0, xmmword [esp + 0x70]
paddd xmm6, xmm2
movd dword [esp + 0xb0], xmm4
pshufd xmm4, xmm6, 0xff
movd ebx, xmm6
movdqa xmmword [esp + 0x110], xmm6
movd dword [esp + 0x38], xmm4
pshufd xmm4, xmm6, 0xee
movd dword [esp + 0x14], xmm4
pshufd xmm4, xmm6, 0x55
movd eax, xmm0
movdqa xmm0, xmmword [esp + 0x90]
movd dword [esp + 0x10], xmm4
xor eax, ebx
pshuflw xmm4, xmm0, 0xeb
movd dword [esp + 0x30], xmm4
pshuflw xmm4, xmm0, 0xe1
movdqa xmm0, xmmword [esp + 0x120]
movd dword [esp + 0x34], xmm4
pshuflw xmm4, xmmword [esp + 0xf0], 0xeb
mov ebx, dword [esp + 0x30]
paddd xmm0, xmm1
movaps xmm1, xmmword [esp + 0x50]
movd dword [esp + 0x28], xmm4
pshufd xmm4, xmm0, 0xff
xor ebx, dword [esp + 0x38]
movdqa xmmword [esp + 0x120], xmm0
movd dword [esp + 0xf0], xmm4
pshufd xmm4, xmm0, 0xee
movd dword [esp + 0x70], xmm4
pshufd xmm4, xmm0, 0x55
movss dword [esp + 0x2c], xmm1
movdqa xmm1, xmmword [esp + 0x150]
movd dword [esp + 0x90], xmm4
movd xmm5, ebx
mov ebx, dword [esp + 0x28]
pshuflw xmm4, xmm1, 0xeb
movd dword [esp + 0x24], xmm4
pshuflw xmm4, xmm1, 0xe1
movaps xmm1, xmmword [esp + 0x40]
xor ebx, dword [esp + 0x10]
movd dword [esp + 0x20], xmm4
pshuflw xmm4, xmmword [esp + 0xe0], 0xeb
movss dword [esp + 0x40], xmm1
movdqa xmm1, xmmword [esp + 0x1c0]
movd esi, xmm4
pshufd xmm4, xmm7, 0xff
movd dword [esp + 0xe0], xmm4
pshufd xmm4, xmm7, 0xee
xor esi, dword [esp + 0x90]
movd dword [esp + 0x50], xmm4
pshufd xmm4, xmm7, 0x55
movd dword [esp + 0x150], xmm4
pshuflw xmm4, xmm1, 0xeb
movd edi, xmm4
pshuflw xmm4, xmm1, 0xe1
movd xmm1, ebx
movd ebx, xmm0
movd edx, xmm4
pshuflw xmm4, xmmword [esp + 0x190], 0xeb
movd xmm0, esi
xor edi, dword [esp + 0xe0]
movd esi, xmm7
xor edx, dword [esp + 0x50]
movd ecx, xmm4
movd xmm4, eax
mov eax, dword [esp + 0x34]
punpckldq xmm5, xmm4
xor ecx, dword [esp + 0x150]
movd xmm4, edx
xor eax, dword [esp + 0x14]
movd xmm6, eax
mov eax, dword [esp + 0x2c]
punpckldq xmm1, xmm6
punpcklqdq xmm1, xmm5
movdqa xmm5, xmm1
pslld xmm1, 8
psrld xmm5, 0x18
xor eax, ebx
mov ebx, dword [esp + 0x24]
por xmm1, xmm5
movd xmm5, eax
mov eax, dword [esp + 0x20]
movdqa xmmword [esp + 0x50], xmm1
xor ebx, dword [esp + 0xf0]
xor eax, dword [esp + 0x70]
movd xmm6, ebx
punpckldq xmm6, xmm5
movd xmm5, eax
mov eax, dword [esp + 0x40]
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm6
movd xmm6, edi
movdqa xmm5, xmm0
pslld xmm0, 8
psrld xmm5, 0x18
xor eax, esi
por xmm0, xmm5
movd xmm5, eax
mov eax, dword [esp + 0x18]
punpckldq xmm6, xmm5
movd xmm5, ecx
mov ecx, dword [esp + 0xb0]
movdqa xmmword [esp + 0x40], xmm0
pshufd xmm0, xmm0, 0x93
punpckldq xmm5, xmm4
paddd xmm0, xmmword [esp + 0x100]
punpcklqdq xmm5, xmm6
xor eax, dword [esp + 8]
movdqa xmm4, xmm5
pslld xmm5, 8
xor ecx, dword [esp + 4]
psrld xmm4, 0x18
movd dword [esp + 4], xmm3
por xmm5, xmm4
movdqa xmmword [esp + 0x70], xmm5
pshufd xmm5, xmm5, 0x93
movd xmm6, eax
paddd xmm5, xmmword [esp + 0x180]
movd xmm4, ecx
mov ecx, dword [esp + 0xc]
punpckldq xmm6, xmm4
movdqa xmm4, xmmword [esp + 0x80]
movd eax, xmm4
xor ecx, eax
mov eax, dword [esp + 0xd0]
movd dword [esp + 0xd0], xmm2
movd xmm4, ecx
xor eax, dword [esp + 0x60]
movdqa xmmword [esp + 0x60], xmm0
movdqa xmm0, xmmword [esp + 0x170]
movd xmm7, eax
movd dword [esp + 0x90], xmm0
punpckldq xmm4, xmm7
pshufd xmm7, xmm1, 0x93
pshufd xmm1, xmm0, 0xff
punpcklqdq xmm4, xmm6
movd dword [esp + 0xe0], xmm1
paddd xmm7, xmmword [esp + 0xc0]
movdqa xmm6, xmm4
pslld xmm4, 8
psrld xmm6, 0x18
por xmm4, xmm6
pshufd xmm6, xmm4, 0x39
paddd xmm4, xmmword [esp + 0xa0]
movdqa xmmword [esp + 0x1c0], xmm7
movdqa xmmword [esp + 0xb0], xmm6
pshufd xmm6, xmm3, 0xee
movd edi, xmm6
pshufd xmm6, xmm3, 0x55
pshufd xmm3, xmm3, 0xff
movd ebx, xmm3
pshufd xmm3, xmm2, 0xee
movd esi, xmm6
movdqa xmm6, xmm5
movd dword [esp + 0xc], xmm3
pshufd xmm3, xmm2, 0x55
pshufd xmm2, xmm2, 0xff
movd dword [esp + 0x180], xmm2
pshufd xmm2, xmm0, 0xee
movd dword [esp + 8], xmm3
movd dword [esp + 0x150], xmm2
pshufd xmm2, xmm0, 0x55
movdqa xmm0, xmmword [esp + 0x160]
movd dword [esp + 0x190], xmm2
pshufd xmm1, xmm0, 0xee
movd dword [esp + 0xc0], xmm0
movd dword [esp + 0xa0], xmm1
pshufd xmm1, xmm0, 0x55
pshufd xmm0, xmm0, 0xff
movd dword [esp + 0x100], xmm0
pshufd xmm0, xmm4, 0xff
movd dword [esp + 0xf0], xmm1
movd edx, xmm0
pshufd xmm0, xmm4, 0x55
movd ecx, xmm0
pshufd xmm0, xmm4, 0xee
xor ebx, edx
mov dword [esp + 0x170], edx
xor esi, ecx
mov dword [esp + 0x160], ecx
mov ecx, dword [esp + 4]
movd eax, xmm0
movd xmm2, ebx
xor edi, eax
mov dword [esp + 0x18], eax
movd eax, xmm4
movd xmm1, esi
movd xmm0, edi
mov edi, dword [esp + 8]
mov dword [esp + 0x14], eax
punpckldq xmm1, xmm0
xor ecx, eax
movd xmm0, ecx
mov ecx, dword [esp + 0x1d0]
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqa xmm0, xmm2
pslld xmm2, 7
psrld xmm0, 0x19
por xmm2, xmm0
pshufd xmm0, xmm7, 0xff
movd esi, xmm0
pshufd xmm0, xmm7, 0x55
movd eax, xmm0
pshufd xmm0, xmm7, 0xee
xor edi, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
movd edx, xmm0
mov dword [esp + 0xc], esi
movd xmm1, edi
mov edi, dword [esp + 0x180]
mov dword [esp + 8], edx
xor eax, edx
mov edx, dword [esp + 0xd0]
movd xmm0, eax
movd eax, xmm7
xor edi, esi
movd xmm7, edi
punpckldq xmm1, xmm0
mov edi, dword [esp + 0x190]
mov dword [esp + 0x180], eax
xor edx, eax
movd xmm0, edx
punpckldq xmm7, xmm0
punpcklqdq xmm7, xmm1
movdqa xmm1, xmmword [esp + 0x60]
movdqa xmm0, xmm7
pslld xmm7, 7
psrld xmm0, 0x19
por xmm7, xmm0
pshufd xmm0, xmm1, 0xff
movd eax, xmm0
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
pshufd xmm0, xmm1, 0xee
xor edi, edx
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x150]
movd esi, xmm0
mov dword [esp + 0x150], eax
mov dword [esp + 0x190], esi
movd xmm3, edi
mov edi, dword [esp + 0xf0]
xor edx, esi
mov esi, dword [esp + 0xe0]
movd xmm0, edx
mov edx, dword [esp + 0x90]
punpckldq xmm3, xmm0
xor esi, eax
movd eax, xmm1
xor edx, eax
movd xmm1, esi
mov dword [esp + 0xe0], eax
movd xmm0, edx
mov edx, dword [esp + 0xa0]
punpckldq xmm1, xmm0
punpcklqdq xmm1, xmm3
movdqa xmm0, xmm1
pslld xmm1, 7
psrld xmm0, 0x19
por xmm1, xmm0
pshufd xmm0, xmm5, 0xff
movd ebx, xmm0
pshufd xmm0, xmm5, 0x55
movdqa xmmword [esp + 0x90], xmm1
pshufd xmm1, xmm4, 0x4e
pshufd xmm4, xmmword [esp + 0x60], 0x4e
movd esi, xmm0
pshufd xmm0, xmm5, 0xee
mov dword [esp + 0x10], ebx
movdqa xmmword [esp + 0xa0], xmm1
pshufd xmm1, xmm6, 0x4e
xor edi, esi
movd eax, xmm0
movdqa xmmword [esp + 0x60], xmm1
movd xmm3, edi
mov edi, dword [esp + 0x100]
xor edx, eax
movd xmm0, edx
movd edx, xmm5
punpckldq xmm3, xmm0
xor edi, ebx
mov ebx, dword [esp + 0xc0]
movd xmm5, edi
xor ebx, edx
dec ecx
movd xmm0, ebx
punpckldq xmm5, xmm0
punpcklqdq xmm5, xmm3
pshufd xmm3, xmmword [esp + 0x1c0], 0x4e
movdqa xmm0, xmm5
pslld xmm5, 7
psrld xmm0, 0x19
por xmm5, xmm0
movdqa xmmword [esp + 0xf0], xmm5
movdqa xmmword [esp + 0xc0], xmm3
jne 0x100312b0
mov ecx, dword [esp + 0x1c]
movd xmm5, eax
movd xmm6, dword [esp + 8]
mov eax, dword [esp + 0x1c]
mov edi, dword [ecx + 0x128]
mov ecx, dword [esp + 0x3c]
mov ebx, edi
add ebx, 4
adc ecx, 0
movd xmm0, ebx
mov ebx, dword [esp + 0x3c]
movd xmm3, ecx
mov ecx, dword [esp + 0x1c]
punpcklqdq xmm3, xmm0
movups xmm0, xmmword [ecx + 0x128]
shufps xmm3, xmm0, 0xe2
movaps xmmword [esp + 0xc0], xmm0
movups xmmword [ecx + 0x128], xmm3
mov ecx, edi
add ecx, 3
adc ebx, 0
movd xmm0, ecx
mov ecx, edi
movd xmm3, ebx
mov ebx, dword [esp + 0x3c]
add ecx, 2
punpcklqdq xmm3, xmm0
movd xmm0, ecx
mov ecx, dword [esp + 0x3c]
movdqa xmm4, xmm3
movd xmm3, esi
adc ebx, 0
add edi, 1
movd xmm1, ebx
adc ecx, 0
xor esi, esi
punpcklqdq xmm1, xmm0
movd xmm0, edi
mov edi, dword [ebp + 8]
movdqa xmmword [esp + 0x1d0], xmm1
movd xmm1, ecx
punpcklqdq xmm1, xmm0
movd xmm0, dword [esp + 0x10]
movdqa xmmword [esp + 0x60], xmm1
movss xmm1, dword [esp + 0x190]
punpckldq xmm5, xmm0
movd xmm0, edx
mov edx, dword [esp + 0x14c]
punpckldq xmm0, xmm3
movss xmm3, dword [esp + 0xd0]
punpcklqdq xmm5, xmm0
movss xmm0, dword [esp + 0x150]
movdqa xmmword [esp + 0xa0], xmm5
movd xmm5, dword [esp + 4]
unpcklps xmm1, xmm0
movss xmm0, dword [esp + 0xe0]
unpcklps xmm0, xmm3
movd xmm3, dword [esp + 0x160]
movlhps xmm1, xmm0
movd xmm0, dword [esp + 0xc]
movaps xmmword [esp + 0x100], xmm1
movaps xmm1, xmmword [esp + 0x60]
punpckldq xmm6, xmm0
movd xmm0, dword [esp + 0x180]
punpckldq xmm0, xmm5
movd xmm5, dword [esp + 0x170]
punpcklqdq xmm6, xmm0
movd xmm0, dword [esp + 0x18]
punpckldq xmm0, xmm5
movd xmm5, dword [esp + 0x14]
punpckldq xmm5, xmm3
movdqa xmm3, xmmword [esp + 0x80]
punpcklqdq xmm0, xmm5
movdqa xmm5, xmmword [0x102cb380]
paddd xmm3, xmm5
movaps xmm5, xmmword [esp + 0xc0]
movdqu xmmword [eax], xmm3
movdqa xmm3, xmmword [esp + 0x1f0]
shufps xmm4, xmm5, 0xe2
shufps xmm1, xmm5, 0xe2
paddd xmm2, xmm3
movaps xmmword [esp + 0x80], xmm4
movaps xmm4, xmmword [esp + 0x1d0]
paddd xmm7, xmm3
movdqu xmmword [eax + 0x10], xmm2
movdqa xmm2, xmmword [esp + 0x1e0]
shufps xmm4, xmm5, 0xe2
paddd xmm0, xmm2
paddd xmm6, xmm2
movdqu xmmword [eax + 0x20], xmm0
movdqa xmm0, xmmword [esp + 0xb0]
paddd xmm0, xmm5
movdqa xmm5, xmmword [0x102cb380]
movdqu xmmword [eax + 0x30], xmm0
movdqa xmm0, xmmword [esp + 0x110]
paddd xmm0, xmm5
movdqu xmmword [eax + 0x40], xmm0
movdqu xmmword [eax + 0x50], xmm7
movdqa xmm7, xmmword [esp + 0x50]
movdqu xmmword [eax + 0x60], xmm6
movdqa xmm6, xmmword [esp + 0x120]
paddd xmm7, xmm1
movdqa xmm1, xmmword [esp + 0x90]
paddd xmm6, xmm5
movdqu xmmword [eax + 0x70], xmm7
movdqu xmmword [eax + 0x80], xmm6
movdqa xmm6, xmmword [esp + 0x100]
paddd xmm1, xmm3
movdqu xmmword [eax + 0x90], xmm1
movdqa xmm1, xmmword [esp + 0x40]
paddd xmm6, xmm2
movdqu xmmword [eax + 0xa0], xmm6
paddd xmm1, xmm4
movdqa xmm4, xmmword [esp + 0x130]
movdqu xmmword [eax + 0xb0], xmm1
movdqa xmm1, xmmword [esp + 0xf0]
paddd xmm4, xmm5
paddd xmm1, xmm3
movdqu xmmword [eax + 0xc0], xmm4
movdqa xmm3, xmmword [esp + 0xa0]
movdqu xmmword [eax + 0xd0], xmm1
movdqa xmm1, xmmword [esp + 0x70]
paddd xmm3, xmm2
paddd xmm1, xmmword [esp + 0x80]
movdqu xmmword [eax + 0xe0], xmm3
movdqu xmmword [eax + 0xf0], xmm1
mov dword [eax + 0x100], 0
cmp edx, edi
ja 0x10032c13
mov eax, 0x40
sub edi, edx
sub eax, esi
lea ecx, [eax*4]
cmp ecx, edi
cmovb edi, ecx
lea ecx, [edi + 3]
mov ebx, ecx
shr ebx, 2
cmp ebx, eax
ja 0x10032c24
and ecx, 0xfffffffc
cmp edi, ecx
ja 0x10032c2d
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1a4]
lea eax, [eax + esi*4]
add ecx, edx
push edi
push eax
push ecx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x158]
add esp, 0xc
add edx, edi
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x1c]
add esi, ebx
cmp edx, edi
mov dword [eax + 0x100], esi
jb 0x100311b0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x102cb6a8
push edi
push edx
call fcn.1002abd0
add esp, 0xc
ud2
push 0x103354e8
push eax
push ebx
jmp 0x10032c34
push 0x103354f8
push ecx
push edi
call fcn.1002ac30
add esp, 0xc
ud2