Function at 0x54d3e0
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, 0x240
movq xmm1, qword [ecx + 0x20]
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1c8], ecx
movdqa xmm0, xmm1
movd eax, xmm1
movdqa xmmword [esp + 0x90], xmm1
shufps xmm0, xmm1, 0x55
mov edx, eax
movd edi, xmm0
add edx, 1
mov esi, edi
movd xmm3, edx
mov edx, eax
adc esi, 0
add edx, 2
movd xmm0, esi
mov esi, edi
movd xmm4, edx
mov edx, dword [ecx + 0x28]
adc esi, 0
add eax, 3
punpckldq xmm3, xmm0
adc edi, 0
movd xmm0, eax
movd xmm1, esi
mov esi, dword [ecx + 0x2c]
movdqa xmmword [esp + 0x110], xmm3
movq xmm3, qword [ecx]
mov eax, 6
movd xmm2, edi
punpckldq xmm4, xmm1
movups xmm1, xmmword [ecx + 0x10]
punpckldq xmm0, xmm2
movaps xmm2, xmmword [str.expand_32_byte_k]
movdqa xmmword [esp + 0x100], xmm4
mov edi, edx
mov dword [esp + 0x50], edx
movdqa xmmword [esp + 0xf0], xmm0
movq xmm0, qword [ecx + 8]
mov ecx, edx
mov ebx, esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xa0], esi
movdqa xmmword [esp + 0x130], xmm3
movdqa xmmword [esp + 0x120], xmm3
movdqa xmmword [esp + 0x140], xmm3
movaps xmmword [esp + 0x180], xmm1
movaps xmmword [esp + 0xd0], xmm1
movaps xmmword [esp + 0xe0], xmm1
movaps xmmword [esp + 0x40], xmm1
movaps xmmword [esp + 0x60], xmm2
movaps xmmword [esp + 0x170], xmm2
movaps xmmword [esp + 0xc0], xmm2
movaps xmmword [esp + 0x70], xmm2
movdqa xmm1, xmm0
movdqa xmm6, xmm0
movdqa xmm4, xmm0
movdqa xmm2, xmm0
movdqa xmm1, xmm3
nop word cs:[eax + eax]
nop dword [eax + eax]
movdqa xmm5, xmm1
movdqa xmmword [esp], xmm1
movdqa xmm1, xmmword [esp + 0x120]
movdqa xmmword [esp + 0x1a0], xmm4
movdqa xmmword [esp + 0x200], xmm0
mov dword [esp + 0x210], edi
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], edx
movdqa xmmword [esp + 0x220], xmm2
mov dword [esp + 0x1d0], esi
movdqa xmmword [esp + 0x1f0], xmm6
punpcklqdq xmm5, xmm2
paddd xmm5, xmmword [esp + 0x70]
punpcklqdq xmm1, xmm4
paddd xmm1, xmmword [esp + 0x170]
movdqa xmm7, xmm1
movdqa xmm1, xmmword [esp + 0x130]
movdqa xmmword [esp + 0x170], xmm7
punpcklqdq xmm1, xmm6
paddd xmm1, xmmword [esp + 0x60]
movdqa xmm4, xmm1
movdqa xmm1, xmmword [esp + 0x140]
movdqa xmmword [esp + 0x10], xmm4
punpcklqdq xmm1, xmm0
movdqa xmm0, xmmword [esp + 0x90]
paddd xmm1, xmmword [esp + 0xc0]
movd dword [esp + 0x1e0], xmm0
movdqa xmm3, xmm1
pshufd xmm1, xmm0, 0x55
movdqa xmm0, xmmword [esp + 0x110]
movd dword [esp + 0x1b0], xmm1
movdqa xmmword [esp + 0x80], xmm3
pshufd xmm1, xmm0, 0x55
movd dword [esp + 0x110], xmm0
movdqa xmm0, xmmword [esp + 0x100]
movd dword [esp + 0x190], xmm1
pshufd xmm1, xmm0, 0x55
movd dword [esp + 0x100], xmm0
movdqa xmm0, xmmword [esp + 0xf0]
movd dword [esp + 0x90], xmm1
pshufd xmm1, xmm0, 0x55
movd dword [esp + 0x60], xmm0
movdqa xmm0, xmm4
movd dword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0x55
movd dword [esp + 0x28], xmm1
pshufd xmm1, xmm5, 0xee
movd edi, xmm1
pshufd xmm1, xmm5, 0xff
movd eax, xmm1
pshufd xmm1, xmm7, 0x55
xor edi, dword [esp + 0x50]
movd dword [esp + 0xf0], xmm1
pshufd xmm1, xmm7, 0xee
xor eax, dword [esp + 0xa0]
movd ebx, xmm1
pshufd xmm1, xmm7, 0xff
movd ecx, xmm1
pshufd xmm1, xmm4, 0x55
xor ebx, dword [esp + 0x210]
movd dword [esp + 0x30], xmm1
pshufd xmm1, xmm4, 0xee
movd xmm2, edi
mov edi, dword [esp + 0x28]
xor ecx, dword [esp + 0xb0]
movd dword [esp + 0x1d4], xmm1
pshufd xmm1, xmm4, 0xff
movd edx, xmm1
pshufd xmm1, xmm3, 0x55
movd dword [esp + 0x34], xmm1
pshufd xmm1, xmm3, 0xee
xor edx, dword [esp + 0x3c]
movd dword [esp + 0x1d8], xmm1
pshufd xmm1, xmm3, 0xff
xor edi, dword [esp + 0x1b0]
movd esi, xmm1
movd xmm1, eax
movd eax, xmm5
xor eax, dword [esp + 0x1e0]
punpckldq xmm2, xmm1
xor esi, dword [esp + 0x1d0]
movdqa xmmword [esp + 0xc0], xmm2
movd xmm1, edi
movd xmm4, eax
movd eax, xmm7
xor eax, dword [esp + 0x110]
punpckldq xmm4, xmm1
movdqa xmmword [esp + 0x1b0], xmm4
punpcklqdq xmm4, xmm2
movd xmm2, ebx
movdqa xmm1, xmm4
pslld xmm4, 0x10
psrld xmm1, 0x10
movd xmm7, eax
mov eax, dword [esp + 0x1d4]
por xmm4, xmm1
movd xmm1, ecx
mov ecx, dword [esp + 0xf0]
punpckldq xmm2, xmm1
movdqa xmmword [esp + 0x50], xmm2
xor eax, dword [esp + 0x2c]
xor ecx, dword [esp + 0x190]
movd xmm6, eax
movd eax, xmm0
movd xmm1, ecx
mov ecx, dword [esp + 0x30]
xor eax, dword [esp + 0x100]
punpckldq xmm7, xmm1
movdqa xmmword [esp + 0xf0], xmm7
punpcklqdq xmm7, xmm2
movdqa xmm1, xmm7
pslld xmm7, 0x10
xor ecx, dword [esp + 0x90]
psrld xmm1, 0x10
movd xmm0, eax
mov eax, dword [esp + 0x1d8]
por xmm7, xmm1
movd xmm1, edx
punpckldq xmm6, xmm1
movdqa xmmword [esp + 0x110], xmm6
movd xmm1, ecx
mov ecx, dword [esp + 0x34]
xor eax, dword [esp + 0x38]
punpckldq xmm0, xmm1
movdqa xmmword [esp + 0x100], xmm0
punpcklqdq xmm0, xmm6
movdqa xmm1, xmm0
pslld xmm0, 0x10
xor ecx, dword [esp + 0x70]
psrld xmm1, 0x10
movd xmm2, eax
movd eax, xmm3
por xmm0, xmm1
movd xmm1, esi
xor eax, dword [esp + 0x60]
punpckldq xmm2, xmm1
movdqa xmm6, xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmm0, xmmword [esp]
movdqa xmmword [esp + 0xa0], xmm2
movd xmm1, ecx
movd xmm3, eax
movd ecx, xmm0
punpckldq xmm3, xmm1
movdqa xmmword [esp + 0x90], xmm3
punpcklqdq xmm3, xmm2
movdqa xmm1, xmm3
pslld xmm3, 0x10
psrld xmm1, 0x10
por xmm3, xmm1
movdqa xmmword [esp + 0x60], xmm3
movdqa xmm3, xmmword [esp + 0xe0]
paddd xmm3, xmm4
pshufd xmm1, xmm3, 0x55
movdqa xmmword [esp + 0xe0], xmm3
movd dword [esp + 0x70], xmm1
pshufd xmm1, xmm3, 0xee
movd esi, xmm1
pshufd xmm1, xmm3, 0xff
movd edi, xmm1
pshufd xmm1, xmm0, 0x55
movdqa xmm0, xmmword [esp + 0x220]
movd edx, xmm1
xor edx, dword [esp + 0x70]
pshufd xmm1, xmm0, 0x55
movd ebx, xmm0
movdqa xmm0, xmmword [esp + 0x120]
movd eax, xmm1
xor ebx, esi
xor eax, edi
movd xmm2, ebx
movd xmm1, eax
movd eax, xmm3
xor ecx, eax
punpckldq xmm2, xmm1
movd xmm1, edx
movd xmm3, ecx
movd ecx, xmm0
pshufd xmm0, xmm0, 0x55
punpckldq xmm3, xmm1
movd edx, xmm0
movdqa xmm0, xmmword [esp + 0x1a0]
punpcklqdq xmm3, xmm2
movdqa xmm2, xmmword [esp + 0x180]
movdqa xmm1, xmm3
pslld xmm3, 0xc
psrld xmm1, 0x14
por xmm3, xmm1
movd ebx, xmm0
pshufd xmm0, xmm0, 0x55
paddd xmm2, xmm7
movd eax, xmm0
paddd xmm5, xmm3
pshufd xmm1, xmm2, 0x55
movdqa xmmword [esp + 0x180], xmm2
movdqa xmmword [esp + 0xb0], xmm5
movd dword [esp], xmm1
pshufd xmm1, xmm2, 0xee
movd esi, xmm1
pshufd xmm1, xmm2, 0xff
xor edx, dword [esp]
movd edi, xmm1
xor ebx, esi
xor eax, edi
movd xmm1, ebx
movd xmm0, eax
movd eax, xmm2
xor ecx, eax
punpckldq xmm1, xmm0
movd xmm0, edx
movd xmm2, ecx
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqa xmm1, xmmword [esp + 0xd0]
movdqa xmm0, xmm2
pslld xmm2, 0xc
psrld xmm0, 0x14
por xmm2, xmm0
paddd xmm1, xmm6
movdqa xmmword [esp + 0x70], xmm2
pshufd xmm0, xmm1, 0x55
movdqa xmm2, xmm1
movdqa xmmword [esp + 0xd0], xmm1
movd dword [esp], xmm0
pshufd xmm0, xmm1, 0xee
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
movd edi, xmm0
movdqa xmm0, xmmword [esp + 0x130]
movd ecx, xmm0
pshufd xmm0, xmm0, 0x55
movd edx, xmm0
movdqa xmm0, xmmword [esp + 0x1f0]
xor edx, dword [esp]
movd ebx, xmm0
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
xor ebx, esi
xor eax, edi
movd xmm1, ebx
movd xmm0, eax
movd eax, xmm2
xor ecx, eax
punpckldq xmm1, xmm0
movd xmm0, edx
movd xmm2, ecx
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqa xmm1, xmmword [esp + 0x40]
movdqa xmm0, xmm2
pslld xmm2, 0xc
psrld xmm0, 0x14
por xmm2, xmm0
paddd xmm1, xmmword [esp + 0x60]
movdqa xmmword [esp + 0x1f0], xmm2
pshufd xmm0, xmm1, 0x55
movdqa xmm2, xmm1
movdqa xmmword [esp + 0x40], xmm1
movd dword [esp], xmm0
pshufd xmm0, xmm1, 0xee
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
movd edi, xmm0
movdqa xmm0, xmmword [esp + 0x140]
movd ecx, xmm0
pshufd xmm0, xmm0, 0x55
movd edx, xmm0
movdqa xmm0, xmmword [esp + 0x200]
xor edx, dword [esp]
movd ebx, xmm0
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
xor ebx, esi
movd xmm6, edx
xor eax, edi
movd xmm1, ebx
movd xmm0, eax
movd eax, xmm2
xor ecx, eax
punpckldq xmm1, xmm0
movdqa xmm0, xmm5
movd xmm2, ecx
movd ecx, xmm4
movdqa xmm4, xmmword [esp + 0xc0]
punpckldq xmm2, xmm6
punpcklqdq xmm2, xmm1
movdqa xmm1, xmm2
pslld xmm2, 0xc
psrld xmm1, 0x14
por xmm2, xmm1
pshufd xmm1, xmm5, 0x55
movd dword [esp], xmm1
pshufd xmm1, xmm5, 0xee
movd dword [esp + 0x140], xmm2
movd esi, xmm1
pshufd xmm1, xmm5, 0xff
movd edi, xmm1
pshuflw xmm1, xmmword [esp + 0x1b0], 0xeb
movd edx, xmm1
pshuflw xmm1, xmm4, 0xe1
movd ebx, xmm1
pshuflw xmm1, xmm4, 0xeb
xor edx, dword [esp]
movdqa xmm4, xmmword [esp + 0x50]
movd eax, xmm1
xor ebx, esi
xor eax, edi
movd xmm5, ebx
movd xmm1, eax
movd eax, xmm0
xor ecx, eax
punpckldq xmm5, xmm1
movd xmm1, edx
movd xmm0, ecx
movd ecx, xmm7
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm5
movdqa xmm1, xmm0
pslld xmm0, 8
psrld xmm1, 0x18
por xmm0, xmm1
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmm0, xmmword [esp + 0x170]
paddd xmm0, xmmword [esp + 0x70]
pshufd xmm1, xmm0, 0x55
movdqa xmmword [esp + 0x170], xmm0
movd dword [esp], xmm1
pshufd xmm1, xmm0, 0xee
movd esi, xmm1
pshufd xmm1, xmm0, 0xff
movd edi, xmm1
pshuflw xmm1, xmmword [esp + 0xf0], 0xeb
movd edx, xmm1
pshuflw xmm1, xmm4, 0xe1
movd ebx, xmm1
pshuflw xmm1, xmm4, 0xeb
xor edx, dword [esp]
movd eax, xmm1
xor ebx, esi
xor eax, edi
movd xmm6, ebx
movd xmm1, eax
movd eax, xmm0
xor ecx, eax
punpckldq xmm6, xmm1
movd xmm1, edx
movd xmm0, ecx
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm6
movdqa xmm6, xmmword [esp + 0x1f0]
movdqa xmm1, xmm0
pslld xmm0, 8
psrld xmm1, 0x18
por xmm0, xmm1
movdqa xmmword [esp + 0x50], xmm0
movdqa xmm0, xmmword [esp + 0x10]
paddd xmm0, xmm6
pshufd xmm1, xmm0, 0x55
movdqa xmm4, xmm0
movdqa xmmword [esp + 0x10], xmm0
movd dword [esp], xmm1
pshufd xmm1, xmm0, 0xee
movd esi, xmm1
pshufd xmm1, xmm0, 0xff
movdqa xmm0, xmmword [esp + 0x190]
movd edi, xmm1
pshuflw xmm1, xmmword [esp + 0x100], 0xeb
movd ecx, xmm0
movdqa xmm0, xmmword [esp + 0x110]
movd edx, xmm1
xor edx, dword [esp]
pshuflw xmm1, xmm0, 0xe1
movd ebx, xmm1
pshuflw xmm1, xmm0, 0xeb
movdqa xmm0, xmmword [esp + 0x80]
movd eax, xmm1
xor ebx, esi
xor eax, edi
movd xmm7, ebx
movd xmm1, eax
movd eax, xmm4
xor ecx, eax
punpckldq xmm7, xmm1
movd xmm1, edx
paddd xmm0, xmm2
movd xmm5, ecx
movdqa xmm4, xmm0
movdqa xmmword [esp + 0x80], xmm0
punpckldq xmm5, xmm1
punpcklqdq xmm5, xmm7
movdqa xmm1, xmm5
pslld xmm5, 8
psrld xmm1, 0x18
por xmm5, xmm1
pshufd xmm1, xmm0, 0x55
movd dword [esp], xmm1
pshufd xmm1, xmm0, 0xee
movd esi, xmm1
pshufd xmm1, xmm0, 0xff
movdqa xmm0, xmmword [esp + 0x60]
movd edi, xmm1
pshuflw xmm1, xmmword [esp + 0x90], 0xeb
movd ecx, xmm0
movdqa xmm0, xmmword [esp + 0xa0]
movd edx, xmm1
xor edx, dword [esp]
pshuflw xmm1, xmm0, 0xe1
movd ebx, xmm1
pshuflw xmm1, xmm0, 0xeb
movd eax, xmm1
xor ebx, esi
xor eax, edi
movd xmm0, ebx
movd xmm1, eax
movd eax, xmm4
movdqa xmm4, xmm6
xor ecx, eax
punpckldq xmm0, xmm1
movd xmm1, edx
movd eax, xmm3
movd xmm7, ecx
punpckldq xmm7, xmm1
movdqa xmm1, xmmword [esp + 0xd0]
punpcklqdq xmm7, xmm0
movdqa xmm0, xmm7
pslld xmm7, 8
psrld xmm0, 0x18
paddd xmm1, xmm5
por xmm7, xmm0
pshufd xmm0, xmm1, 0x55
movd dword [esp + 0xa0], xmm0
pshufd xmm0, xmm6, 0x55
movdqa xmm6, xmm1
movd dword [esp + 0x120], xmm0
pshufd xmm0, xmm1, 0xee
movdqa xmm1, xmmword [esp + 0x40]
movdqa xmmword [esp + 0xd0], xmm6
movd dword [esp + 0x110], xmm0
pshufd xmm0, xmm4, 0xee
movd dword [esp + 0x130], xmm0
paddd xmm1, xmm7
pshufd xmm0, xmm1, 0xff
movdqa xmmword [esp + 0x40], xmm1
movd dword [esp + 0x90], xmm0
pshufd xmm0, xmm2, 0xff
movd dword [esp], xmm0
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0x100], xmm0
pshufd xmm0, xmm1, 0x55
movdqa xmm1, xmmword [esp + 0xe0]
movd dword [esp + 0xf0], xmm0
pshufd xmm0, xmm2, 0xee
movd dword [esp + 0x200], xmm0
pshufd xmm0, xmm2, 0x55
movd dword [esp + 0x1b0], xmm0
paddd xmm1, xmmword [esp + 0xc0]
pshufd xmm0, xmm1, 0xff
movd esi, xmm1
movdqa xmmword [esp + 0xe0], xmm1
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
xor eax, esi
movd dword [esp + 0x60], xmm0
pshufd xmm0, xmm1, 0x55
movd dword [esp + 0x1a0], xmm0
pshufd xmm0, xmm3, 0xff
movd ebx, xmm0
pshufd xmm0, xmm3, 0xee
movd edx, xmm0
pshufd xmm0, xmm3, 0x55
xor ebx, edi
movd ecx, xmm0
xor edx, dword [esp + 0x60]
movd xmm0, eax
movd xmm3, ebx
xor ecx, dword [esp + 0x1a0]
punpckldq xmm3, xmm0
movd xmm0, edx
movd xmm1, ecx
punpckldq xmm1, xmm0
movdqa xmm0, xmm1
pslld xmm1, 7
psrld xmm0, 0x19
por xmm1, xmm0
movdqa xmm0, xmm3
pslld xmm3, 7
movdqa xmmword [esp + 0x60], xmm1
movdqa xmm1, xmmword [esp + 0x180]
psrld xmm0, 0x19
por xmm3, xmm0
movd dword [esp + 0x1e0], xmm3
paddd xmm1, xmmword [esp + 0x50]
pshufd xmm0, xmm1, 0xff
movdqa xmm2, xmm1
movdqa xmmword [esp + 0x180], xmm1
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd esi, xmm2
movd dword [esp + 0x1a0], xmm0
pshufd xmm0, xmm1, 0x55
movdqa xmm1, xmmword [esp + 0x70]
movd dword [esp + 0x190], xmm0
pshufd xmm0, xmm1, 0xff
movd ebx, xmm1
movd edx, xmm0
pshufd xmm0, xmm1, 0xee
xor ebx, esi
movd esi, xmm4
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
xor edx, edi
movd xmm2, ebx
mov edi, dword [esp + 0x1b0]
movd eax, xmm0
xor ecx, dword [esp + 0x1a0]
movd xmm0, edx
xor eax, dword [esp + 0x190]
punpckldq xmm0, xmm2
xor edi, dword [esp + 0xf0]
movd xmm2, ecx
mov ecx, dword [esp + 0x200]
movd xmm1, eax
punpckldq xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm1, 7
psrld xmm2, 0x19
xor ecx, dword [esp + 0x100]
por xmm1, xmm2
movdqa xmm2, xmm0
pslld xmm0, 7
psrld xmm2, 0x19
movdqa xmmword [esp + 0x70], xmm1
movdqa xmm1, xmm4
movd xmm1, edi
por xmm0, xmm2
pshufd xmm2, xmm6, 0xff
movd edx, xmm2
pshufd xmm2, xmm4, 0xff
movd dword [esp + 0x1a0], xmm0
movd eax, xmm2
movd xmm2, ecx
movd ecx, xmm6
movdqa xmm6, xmmword [esp + 0x60]
xor esi, ecx
xor eax, edx
punpckldq xmm1, xmm2
mov ecx, dword [esp + 0x130]
movd xmm2, eax
movd xmm4, esi
mov eax, dword [esp + 0x120]
punpckldq xmm2, xmm4
punpcklqdq xmm2, xmm1
punpcklqdq xmm6, xmm3
movdqa xmm1, xmm2
pslld xmm2, 7
xor ecx, dword [esp + 0x110]
paddd xmm6, xmmword [esp + 0xb0]
psrld xmm1, 0x19
xor eax, dword [esp + 0xa0]
por xmm2, xmm1
pshufd xmm1, xmm3, 0x55
movdqa xmm3, xmmword [esp + 0x70]
movd dword [esp + 0x3c], xmm1
rol ecx, 7
rol eax, 7
mov dword [esp + 0x130], ecx
punpcklqdq xmm3, xmm0
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x120], eax
movdqu xmmword [esp + 0x158], xmm2
movdqa xmm2, xmmword [esp + 0xc0]
movd dword [esp + 0x190], xmm0
movdqa xmm0, xmmword [esp + 0x40]
paddd xmm3, xmmword [esp + 0x170]
movd ebx, xmm2
movd eax, xmm0
movdqa xmmword [esp + 0x170], xmm3
xor ecx, eax
mov eax, dword [esp]
rol ecx, 7
mov dword [esp + 0x140], ecx
xor eax, dword [esp + 0x90]
rol eax, 7
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
mov dword [esp], eax
movdqu xmm0, xmmword [esp + 0x160]
movdqu xmm4, xmmword [esp + 0x150]
paddd xmm0, xmmword [esp + 0x80]
paddd xmm4, xmmword [esp + 0x10]
movdqa xmmword [esp + 0xb0], xmm0
pshufd xmm0, xmm6, 0x55
movdqa xmmword [esp + 0x210], xmm4
movd dword [esp + 0x80], xmm0
pshufd xmm0, xmm6, 0xee
movd edx, xmm0
pshufd xmm0, xmm6, 0xff
xor ebx, dword [esp + 0x80]
movd esi, xmm0
pshufd xmm0, xmm2, 0x93
movd ecx, xmm0
pshufd xmm0, xmm2, 0x55
movd edi, xmm0
pshufd xmm0, xmm2, 0xee
movd eax, xmm0
xor edi, edx
xor eax, esi
movd xmm2, edi
movd xmm0, eax
movd eax, xmm6
xor ecx, eax
punpckldq xmm2, xmm0
movd xmm0, ebx
movd xmm1, ecx
movdqa xmmword [esp + 0x100], xmm2
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x1f0], xmm1
punpcklqdq xmm1, xmm2
movdqa xmm0, xmm1
pslld xmm1, 0x10
psrld xmm0, 0x10
por xmm1, xmm0
pshufd xmm0, xmm3, 0x55
movdqa xmmword [esp + 0x80], xmm1
movdqa xmm1, xmmword [esp + 0x50]
movd dword [esp + 0x10], xmm0
pshufd xmm0, xmm3, 0xee
movd edx, xmm0
pshufd xmm0, xmm3, 0xff
movd esi, xmm0
pshufd xmm0, xmm1, 0x93
movd ebx, xmm1
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
xor ebx, dword [esp + 0x10]
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd eax, xmm0
xor edi, edx
xor eax, esi
movd xmm1, edi
movd xmm0, eax
movd eax, xmm3
xor ecx, eax
punpckldq xmm1, xmm0
movd xmm0, ebx
movd ebx, xmm5
movd xmm2, ecx
movdqa xmmword [esp + 0x90], xmm1
punpckldq xmm2, xmm0
movdqa xmmword [esp + 0x200], xmm2
punpcklqdq xmm2, xmm1
movdqa xmm0, xmm2
pslld xmm2, 0x10
psrld xmm0, 0x10
por xmm2, xmm0
pshufd xmm0, xmm4, 0x55
movd dword [esp + 0x10], xmm0
pshufd xmm0, xmm4, 0xee
movdqa xmmword [esp + 0xc0], xmm2
movd edx, xmm0
pshufd xmm0, xmm4, 0xff
xor ebx, dword [esp + 0x10]
movd esi, xmm0
pshufd xmm0, xmm5, 0x93
movd ecx, xmm0
pshufd xmm0, xmm5, 0x55
movd edi, xmm0
pshufd xmm0, xmm5, 0xee
movd eax, xmm0
xor edi, edx
xor eax, esi
movd xmm1, edi
movd xmm0, eax
movd eax, xmm4
movdqa xmm4, xmmword [esp + 0xb0]
xor ecx, eax
punpckldq xmm1, xmm0
movd xmm0, ebx
movd ebx, xmm7
movd xmm2, ecx
movdqa xmmword [esp + 0xa0], xmm1
punpckldq xmm2, xmm0
movdqa xmmword [esp + 0xf0], xmm2
punpcklqdq xmm2, xmm1
movdqa xmm0, xmm2
pslld xmm2, 0x10
psrld xmm0, 0x10
por xmm2, xmm0
pshufd xmm0, xmm4, 0x55
movd dword [esp + 0x10], xmm0
pshufd xmm0, xmm4, 0xee
movdqa xmm3, xmm2
movdqa xmmword [esp + 0x220], xmm2
movd edx, xmm0
pshufd xmm0, xmm4, 0xff
xor ebx, dword [esp + 0x10]
movd esi, xmm0
pshufd xmm0, xmm7, 0x93
movd ecx, xmm0
pshufd xmm0, xmm7, 0x55
movd edi, xmm0
pshufd xmm0, xmm7, 0xee
movd eax, xmm0
xor edi, edx
xor eax, esi
movd xmm1, edi
movd xmm0, eax
movd eax, xmm4
xor ecx, eax
punpckldq xmm1, xmm0
movd xmm0, ebx
movd xmm2, ecx
movdqa xmmword [esp + 0x50], xmm1
punpckldq xmm2, xmm0
movdqa xmmword [esp + 0x110], xmm2
punpcklqdq xmm2, xmm1
pshufd xmm1, xmmword [esp + 0xd0], 0x4e
movdqa xmm0, xmm2
pslld xmm2, 0x10
psrld xmm0, 0x10
por xmm2, xmm0
paddd xmm1, xmm3
movdqa xmmword [esp + 0x1b0], xmm2
pshufd xmm0, xmm1, 0x55
movdqa xmm5, xmm1
movdqa xmmword [esp + 0x10], xmm1
movd dword [esp + 0x2c], xmm0
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0x28], xmm0
pshufd xmm0, xmm1, 0xff
pshufd xmm1, xmmword [esp + 0x40], 0x4e
movd ebx, xmm0
xor ebx, dword [esp + 0x15c]
paddd xmm1, xmm2
pshufd xmm0, xmm1, 0x55
movdqa xmmword [esp + 0x40], xmm1
movd dword [esp + 0x38], xmm0
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0x34], xmm0
pshufd xmm0, xmm1, 0xff
pshufd xmm1, xmmword [esp + 0xe0], 0x4e
movd dword [esp + 0x30], xmm0
paddd xmm1, xmmword [esp + 0x80]
pshufd xmm0, xmm1, 0x55
movdqa xmm3, xmm1
movdqa xmmword [esp + 0xe0], xmm1
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
movd edx, xmm0
movdqa xmm0, xmmword [esp + 0x60]
xor esi, dword [esp + 0x1e0]
xor edx, dword [esp + 0x3c]
movd eax, xmm0
pshufd xmm0, xmm0, 0x55
movd xmm1, esi
movd ecx, xmm0
movd xmm0, edx
movd edx, xmm3
punpckldq xmm1, xmm0
pshufd xmm0, xmmword [esp + 0x180], 0x4e
xor ecx, edi
xor eax, edx
movd xmm2, eax
movd xmm4, ecx
punpckldq xmm2, xmm4
punpcklqdq xmm2, xmm1
paddd xmm0, xmmword [esp + 0xc0]
movdqa xmm1, xmm2
pslld xmm2, 0xc
psrld xmm1, 0x14
por xmm2, xmm1
movdqa xmmword [esp + 0x1e0], xmm2
paddd xmm6, xmm2
pshuflw xmm2, xmmword [esp + 0x1f0], 0xeb
pshufd xmm1, xmm0, 0x55
movdqa xmmword [esp + 0xd0], xmm0
movd eax, xmm1
pshufd xmm1, xmm0, 0xee
movd ecx, xmm1
pshufd xmm1, xmm0, 0xff
movd edx, xmm1
movdqa xmm1, xmmword [esp + 0x70]
xor ecx, dword [esp + 0x1a0]
movdqa xmmword [esp + 0x70], xmm6
xor edx, dword [esp + 0x190]
movd esi, xmm1
pshufd xmm1, xmm1, 0x55
movd xmm4, ecx
mov ecx, dword [esp + 0x2c]
movd edi, xmm1
movd xmm1, edx
movd edx, xmm2
xor edi, eax
movd eax, xmm0
punpckldq xmm4, xmm1
xor esi, eax
mov eax, dword [esp + 0x28]
movd xmm1, edi
movd xmm0, esi
xor ecx, dword [esp + 0x130]
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm4
xor eax, dword [esp + 0x158]
movdqa xmm1, xmm0
pslld xmm0, 0xc
movd xmm7, ecx
mov ecx, dword [esp + 0x30]
psrld xmm1, 0x14
por xmm0, xmm1
movd xmm1, ebx
movdqa xmm3, xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmm0, xmmword [esp + 0x40]
movd xmm4, eax
movd eax, xmm5
xor eax, dword [esp + 0x120]
punpckldq xmm4, xmm1
xor ecx, dword [esp + 0x140]
movd xmm1, eax
mov eax, dword [esp + 0x34]
punpckldq xmm1, xmm7
punpcklqdq xmm1, xmm4
movdqa xmm4, xmm1
pslld xmm1, 0xc
psrld xmm4, 0x14
xor eax, dword [esp]
por xmm1, xmm4
movd xmm4, ecx
mov ecx, dword [esp + 0x38]
movdqu xmmword [esp + 0x150], xmm1
paddd xmm1, xmmword [esp + 0x210]
movd xmm7, eax
movd eax, xmm0
movdqa xmm0, xmmword [esp + 0x80]
xor ecx, dword [esp + 0x164]
xor eax, dword [esp + 0x160]
punpckldq xmm7, xmm4
movdqa xmmword [esp + 0x60], xmm1
movd xmm5, ecx
movd xmm4, eax
movd ecx, xmm0
movdqa xmm0, xmmword [esp + 0x100]
punpckldq xmm4, xmm5
punpcklqdq xmm4, xmm7
movdqa xmm5, xmm4
pslld xmm4, 0xc
psrld xmm5, 0x14
pshuflw xmm2, xmm0, 0xe1
por xmm4, xmm5
pshufd xmm5, xmm6, 0x55
movd ebx, xmm2
pshuflw xmm2, xmm0, 0xeb
movd dword [esp], xmm5
pshufd xmm5, xmm6, 0xee
movd eax, xmm2
movdqu xmmword [esp + 0x160], xmm4
paddd xmm4, xmmword [esp + 0xb0]
movd esi, xmm5
pshufd xmm5, xmm6, 0xff
xor edx, dword [esp]
movd edi, xmm5
xor ebx, esi
xor eax, edi
movd xmm5, ebx
movd xmm2, eax
movd eax, xmm6
xor ecx, eax
movd xmm7, edx
punpckldq xmm5, xmm2
movdqa xmm2, xmmword [esp + 0xc0]
movdqa xmmword [esp + 0xc0], xmm4
movd xmm0, ecx
punpckldq xmm0, xmm7
punpcklqdq xmm0, xmm5
movdqa xmm5, xmm0
pslld xmm0, 8
movd ecx, xmm2
movdqa xmm2, xmmword [esp + 0x90]
psrld xmm5, 0x18
por xmm0, xmm5
movdqa xmmword [esp + 0x80], xmm0
movdqa xmm0, xmmword [esp + 0x170]
paddd xmm0, xmm3
pshuflw xmm3, xmmword [esp + 0x200], 0xeb
pshufd xmm5, xmm0, 0x55
movdqa xmmword [esp + 0x170], xmm0
movd dword [esp], xmm5
pshufd xmm5, xmm0, 0xee
movd esi, xmm5
pshufd xmm5, xmm0, 0xff
movd edx, xmm3
pshuflw xmm3, xmm2, 0xe1
movd edi, xmm5
movd ebx, xmm3
pshuflw xmm3, xmm2, 0xeb
xor edx, dword [esp]
movd eax, xmm3
xor ebx, esi
xor eax, edi
movd xmm7, ebx
movd xmm3, eax
movd eax, xmm0
movdqa xmm0, xmmword [esp + 0x220]
xor ecx, eax
punpckldq xmm7, xmm3
movd xmm3, edx
movd xmm5, ecx
punpckldq xmm5, xmm3
punpcklqdq xmm5, xmm7
movd ecx, xmm0
movdqa xmm0, xmmword [esp + 0xa0]
movdqa xmm3, xmm5
pslld xmm5, 8
psrld xmm3, 0x18
por xmm5, xmm3
pshufd xmm3, xmm1, 0x55
movd dword [esp], xmm3
pshufd xmm3, xmm1, 0xee
movd esi, xmm3
pshufd xmm3, xmm1, 0xff
movd edi, xmm3
pshuflw xmm3, xmmword [esp + 0xf0], 0xeb
movd edx, xmm3
pshuflw xmm3, xmm0, 0xe1
movd ebx, xmm3
pshuflw xmm3, xmm0, 0xeb
xor edx, dword [esp]
movdqa xmm0, xmmword [esp + 0x1b0]
movd eax, xmm3
xor ebx, esi
xor eax, edi
movd xmm6, ebx
movd xmm3, eax
movd eax, xmm1
movdqa xmm1, xmmword [esp + 0x10]
xor ecx, eax
punpckldq xmm6, xmm3
movd xmm7, edx
movd xmm3, ecx
movd ecx, xmm0
movdqa xmm0, xmmword [esp + 0x50]
punpckldq xmm3, xmm7
punpcklqdq xmm3, xmm6
movdqa xmm6, xmm3
pslld xmm3, 8
psrld xmm6, 0x18
por xmm3, xmm6
pshufd xmm6, xmm4, 0x55
movd dword [esp], xmm6
pshufd xmm6, xmm4, 0xee
paddd xmm1, xmm3
movd esi, xmm6
pshufd xmm6, xmm4, 0xff
movdqa xmmword [esp + 0x10], xmm1
movd edi, xmm6
pshuflw xmm6, xmmword [esp + 0x110], 0xeb
movd edx, xmm6
pshuflw xmm6, xmm0, 0xe1
movd ebx, xmm6
pshuflw xmm6, xmm0, 0xeb
xor edx, dword [esp]
movd eax, xmm6
xor ebx, esi
xor eax, edi
movd xmm0, ebx
movd xmm6, eax
movd eax, xmm4
xor ecx, eax
punpckldq xmm0, xmm6
movd xmm6, edx
movd xmm7, ecx
punpckldq xmm7, xmm6
movdqa xmm6, xmm1
punpcklqdq xmm7, xmm0
movdqa xmm0, xmm7
pslld xmm7, 8
psrld xmm0, 0x18
por xmm7, xmm0
pshufd xmm0, xmm1, 0x55
movd dword [esp + 0xb0], xmm0
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0xa0], xmm0
pshufd xmm0, xmm1, 0xff
movdqa xmm1, xmmword [esp + 0x40]
movd dword [esp + 0x50], xmm0
paddd xmm1, xmm7
pshufd xmm0, xmm1, 0x55
movdqa xmmword [esp + 0x40], xmm1
movd dword [esp + 0x130], xmm0
pshufd xmm0, xmm1, 0xee
movd dword [esp + 0x120], xmm0
pshufd xmm0, xmm1, 0xff
movdqa xmm1, xmmword [esp + 0xe0]
movd dword [esp + 0x140], xmm0
paddd xmm1, xmmword [esp + 0x80]
pshufd xmm0, xmm1, 0xee
movdqa xmm2, xmm1
movdqa xmmword [esp + 0xe0], xmm1
movd ebx, xmm0
pshufd xmm0, xmm1, 0x55
movd edi, xmm0
pshufd xmm0, xmm1, 0xff
movdqa xmm1, xmmword [esp + 0x1e0]
movd dword [esp], xmm0
pshufd xmm0, xmm1, 0xee
movd edx, xmm1
movd esi, xmm0
pshufd xmm0, xmm1, 0x55
movd ecx, xmm0
pshufd xmm0, xmm1, 0xff
xor esi, ebx
movd eax, xmm0
xor ecx, edi
movd xmm0, esi
xor eax, dword [esp]
movd xmm4, ecx
movd ecx, xmm2
xor edx, ecx
punpckldq xmm4, xmm0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
punpcklqdq xmm1, xmm4
movdqa xmm0, xmm1
pslld xmm1, 7
psrld xmm0, 0x19
por xmm1, xmm0
movdqa xmmword [esp], xmm1
movdqa xmm1, xmmword [esp + 0xd0]
paddd xmm1, xmm5
pshufd xmm0, xmm1, 0xee
movdqa xmm2, xmm1
movdqa xmmword [esp + 0xd0], xmm1
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
pshufd xmm0, xmm1, 0xff
movdqa xmm1, xmmword [esp + 0x180]
movd dword [esp + 0x90], xmm0
pshufd xmm0, xmm1, 0xee
movd ebx, xmm1
movd esi, xmm0
pshufd xmm0, xmm1, 0x55
movd edi, xmm0
pshufd xmm0, xmm1, 0xff
xor esi, ecx
movd ecx, xmm2
movd eax, xmm0
xor ebx, ecx
mov ecx, dword [esp + 0xa0]
xor edi, edx
movd xmm0, esi
movd esi, xmm7
xor eax, dword [esp + 0x90]
movd xmm4, edi
punpckldq xmm4, xmm0
movd xmm0, ebx
movd ebx, xmm3
xor ecx, dword [esp + 0x158]
movd xmm2, eax
mov eax, dword [esp + 0xb0]
movd dword [esp + 0xb0], xmm5
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm4
movdqa xmm0, xmm2
pslld xmm2, 7
psrld xmm0, 0x19
xor eax, dword [esp + 0x154]
por xmm2, xmm0
movd xmm0, ecx
mov ecx, dword [esp + 0x50]
movd xmm4, eax
movd eax, xmm6
xor ecx, dword [esp + 0x15c]
xor eax, dword [esp + 0x150]
punpckldq xmm4, xmm0
movd xmm0, eax
movd xmm1, ecx
mov ecx, dword [esp + 0x120]
mov eax, dword [esp + 0x130]
movdqa xmmword [esp + 0x120], xmm2
punpckldq xmm1, xmm0
punpcklqdq xmm1, xmm4
movdqa xmm0, xmm1
pslld xmm1, 7
xor eax, dword [esp + 0x164]
xor ecx, dword [esp + 0x168]
psrld xmm0, 0x19
por xmm1, xmm0
movdqa xmmword [esp + 0x130], xmm1
movd xmm0, ecx
movd xmm4, eax
mov ecx, dword [esp + 0x140]
punpckldq xmm4, xmm0
movdqa xmm0, xmmword [esp + 0x40]
xor ecx, dword [esp + 0x16c]
movd eax, xmm0
xor eax, dword [esp + 0x160]
movd xmm6, ecx
movd xmm0, eax
mov eax, dword [esp + 0x1dc]
punpckldq xmm6, xmm0
punpcklqdq xmm6, xmm4
movdqa xmm4, xmmword [esp + 0x80]
movdqa xmm0, xmm6
pslld xmm6, 7
psrld xmm0, 0x19
dec eax
por xmm6, xmm0
pshufd xmm0, xmm4, 0xff
movd dword [esp + 0xa0], xmm4
pshufd xmm4, xmmword [esp + 0x10], 0x4e
movdqa xmmword [esp + 0x140], xmm6
movd dword [esp + 0x50], xmm0
pshufd xmm0, xmm5, 0xff
movd edi, xmm0
pshufd xmm0, xmm3, 0xff
movd ecx, xmm0
pshufd xmm0, xmm7, 0xff
movd edx, xmm0
pshufd xmm0, xmmword [esp + 0xe0], 0x4e
movdqa xmmword [esp + 0xe0], xmm0
pshufd xmm0, xmmword [esp + 0xd0], 0x4e
movdqa xmmword [esp + 0xd0], xmm4
pshufd xmm4, xmmword [esp + 0x40], 0x4e
movdqa xmmword [esp + 0x180], xmm0
pshufd xmm0, xmm7, 0xe9
movdqa xmmword [esp + 0x40], xmm4
pshufd xmm4, xmm2, 0xee
movdqa xmm2, xmmword [esp]
movdqa xmmword [esp + 0xf0], xmm0
pshufd xmm0, xmm3, 0xe9
movdqa xmmword [esp + 0x100], xmm0
pshufd xmm0, xmm5, 0xe9
movdqa xmmword [esp + 0x110], xmm0
pshufd xmm0, xmmword [esp + 0x80], 0xe9
movdqa xmmword [esp + 0x90], xmm0
pshufd xmm0, xmm6, 0xee
pshufd xmm6, xmm1, 0xee
movdqa xmm1, xmm2
pshufd xmm2, xmm2, 0xee
jne 0x54d520
mov eax, dword [esp + 0x1c8]
pshufd xmm5, xmm5, 0x39
mov edx, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
mov ecx, edx
mov edi, edx
mov ebx, esi
add ecx, 4
mov dword [esp + 0x10], ecx
mov ecx, esi
adc ecx, 0
add edi, 3
adc ebx, 0
movd xmm2, edi
mov edi, edx
movd xmm0, ebx
add edi, 2
mov ebx, esi
adc ebx, 0
add edx, 1
punpckldq xmm2, xmm0
movd xmm6, edi
movd xmm0, ebx
adc esi, 0
punpckldq xmm6, xmm0
movd xmm0, edx
movd xmm4, esi
mov edx, dword [esp + 0x10]
punpckldq xmm0, xmm4
movdqa xmm4, xmm0
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0xa0], xmm0
movups xmm0, xmmword [eax + 0x10]
movaps xmmword [esp + 0x50], xmm0
movups xmm0, xmmword [eax + 0x20]
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
movaps xmmword [esp + 0xb0], xmm0
movq xmm0, qword [eax + 0x28]
mov eax, dword [esp + 0x1cc]
punpcklqdq xmm4, xmm0
punpcklqdq xmm2, xmm0
punpcklqdq xmm6, xmm0
pshufd xmm0, xmm7, 0x39
pshufd xmm7, xmm3, 0x39
pshufd xmm3, xmmword [esp + 0x80], 0x39
paddd xmm0, xmm2
movdqa xmm2, xmmword [esp + 0x70]
paddd xmm7, xmm6
movdqa xmm6, xmm1
paddd xmm5, xmm4
movdqa xmm4, xmmword [esp + 0x50]
movdqa xmmword [esp + 0x10], xmm0
movdqa xmm0, xmmword [str.expand_32_byte_k]
paddd xmm3, xmmword [esp + 0xb0]
paddd xmm2, xmm0
movdqa xmm1, xmm0
movdqa xmm0, xmmword [esp + 0xa0]
movdqu xmmword [eax], xmm2
movdqa xmm2, xmmword [esp + 0x170]
paddd xmm6, xmm0
movdqu xmmword [eax + 0x10], xmm6
movdqa xmm6, xmmword [esp + 0xe0]
paddd xmm2, xmm1
paddd xmm6, xmm4
movdqu xmmword [eax + 0x20], xmm6
movdqu xmmword [eax + 0x30], xmm3
movdqa xmm3, xmm1
movdqa xmm1, xmmword [esp + 0x120]
movdqa xmm6, xmmword [esp + 0x180]
movdqu xmmword [eax + 0x40], xmm2
movdqa xmm2, xmm0
paddd xmm1, xmm0
paddd xmm6, xmm4
movdqu xmmword [eax + 0x50], xmm1
movdqa xmm1, xmm4
movdqa xmm4, xmmword [esp + 0x60]
movdqu xmmword [eax + 0x60], xmm6
movdqu xmmword [eax + 0x70], xmm5
movdqa xmm5, xmmword [esp + 0xd0]
paddd xmm4, xmm3
paddd xmm5, xmm1
movdqu xmmword [eax + 0x80], xmm4
movdqa xmm4, xmmword [esp + 0x130]
paddd xmm4, xmm2
movdqu xmmword [eax + 0x90], xmm4
movdqa xmm4, xmmword [esp + 0xc0]
movdqu xmmword [eax + 0xa0], xmm5
movdqu xmmword [eax + 0xb0], xmm7
paddd xmm4, xmm3
movdqu xmmword [eax + 0xc0], xmm4
movdqa xmm4, xmmword [esp + 0x140]
paddd xmm4, xmm2
movdqa xmm2, xmmword [esp + 0x40]
movdqu xmmword [eax + 0xd0], xmm4
paddd xmm2, xmm1
movaps xmm1, xmmword [esp + 0x10]
movdqu xmmword [eax + 0xe0], xmm2
movups xmmword [eax + 0xf0], xmm1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret