Function at 0x53b9c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1c0
test edx, edx
mov dword [esp + 0x88], ecx
je 0x53d00d
mov esi, edx
shl esi, 3
test esi, esi
je 0x53d00d
mov eax, dword [ebp + 8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x80], esi
mov eax, dword [eax + 0x100]
jmp 0x53ba5b
mov ebx, dword [ebp + 8]
mov edx, 0x40
mov edi, dword [esp + 0x48]
mov ecx, esi
sub edx, eax
lea ebx, [ebx + eax*4]
mov eax, esi
mov esi, dword [esp + 0x88]
sub eax, edi
add esi, edi
push eax
push esi
mov esi, ecx
push edx
push ebx
call fcn.00629780
add esp, 0x10
mov ecx, dword [ebp + 8]
add edi, edx
mov dword [esp + 0x48], edi
add eax, dword [ecx + 0x100]
cmp edi, esi
mov dword [ecx + 0x100], eax
jae 0x53d00d
cmp eax, 0x40
jb 0x53ba10
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x128]
mov edi, dword [esi + 0x12c]
movups xmm7, xmmword [esi + 0x128]
movdqu xmm5, xmmword [esi + 0x108]
movdqu xmm4, xmmword [esi + 0x118]
mov edx, eax
mov ecx, edi
mov ebx, edi
mov dword [esp + 0x84], edi
movaps xmmword [esp + 0xd0], xmm7
movdqa xmmword [esp + 0x60], xmm5
movdqa xmmword [esp + 0x70], xmm5
movdqa xmmword [esp + 0x190], xmm5
movdqa xmmword [esp + 0xc0], xmm5
movdqa xmmword [esp + 0x1a0], xmm4
add edx, 1
movd xmm0, edx
mov edx, eax
adc ecx, 0
add edx, 2
movd xmm6, ecx
adc ebx, 0
add eax, 3
punpcklqdq xmm6, xmm0
movd xmm1, edx
movd xmm2, eax
mov eax, edi
movd xmm3, ebx
shufps xmm6, xmm7, 0xe2
adc eax, 0
punpcklqdq xmm3, xmm1
movdqa xmm1, xmm4
movaps xmmword [esp + 0xe0], xmm6
movd xmm0, eax
shufps xmm3, xmm7, 0xe2
mov eax, 6
punpcklqdq xmm0, xmm2
movaps xmmword [esp + 0xf0], xmm3
movdqa xmm2, xmm4
movdqa xmm3, xmm5
shufps xmm0, xmm7, 0xe2
movaps xmmword [esp + 0x100], xmm0
movaps xmm0, xmmword [str.expand_32_byte_k_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_tWWWWWWWWWWWWWWWW0000000000000000_n_n_n_n_n_n_n_n]
movaps xmmword [esp], xmm0
movaps xmmword [esp + 0x10], xmm0
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x30], xmm0
movdqa xmm0, xmm4
nop
movdqa xmm6, xmmword [esp]
movdqa xmmword [esp + 0x140], xmm1
movdqa xmm1, xmmword [esp + 0xd0]
movdqa xmmword [esp + 0x150], xmm0
mov dword [esp + 0xb0], eax
movdqa xmmword [esp + 0x120], xmm2
paddd xmm6, xmm3
movd ebx, xmm1
pshufd xmm0, xmm6, 0x55
movd dword [esp], xmm0
pshufd xmm0, xmm6, 0xee
movd edx, xmm0
pshufd xmm0, xmm6, 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]
movd eax, xmm0
xor edi, edx
xor eax, esi
movd xmm0, edi
movd xmm1, eax
movd eax, xmm6
xor ebx, eax
punpckldq xmm0, xmm1
movd xmm1, ecx
movd xmm7, ebx
movd ebx, xmm3
punpckldq xmm7, xmm1
movdqa xmm1, xmm7
punpcklqdq xmm1, xmm0
movdqa xmm5, xmm1
pslld xmm1, 0x10
psrld xmm5, 0x10
por xmm1, xmm5
paddd xmm4, xmm1
pshufd xmm5, xmm4, 0x55
movd dword [esp], xmm5
pshufd xmm5, xmm4, 0xee
movd edx, xmm5
pshufd xmm5, xmm4, 0xff
movd esi, xmm5
pshufd xmm5, xmm3, 0x55
movd ecx, xmm5
pshufd xmm5, xmm3, 0xee
pshufd xmm3, xmm3, 0xff
movd eax, xmm3
xor ecx, dword [esp]
movd edi, xmm5
xor eax, esi
xor edi, edx
movd xmm3, eax
movd eax, xmm4
movd xmm2, edi
xor ebx, eax
punpckldq xmm2, xmm3
movd xmm3, ecx
movd xmm5, ebx
movd ecx, xmm1
pshuflw xmm1, xmm7, 0xeb
punpckldq xmm5, xmm3
movd edx, xmm1
pshuflw xmm1, xmm0, 0xe1
pshuflw xmm0, xmm0, 0xeb
punpcklqdq xmm5, xmm2
movd eax, xmm0
movd ebx, xmm1
movdqa xmm2, xmm5
pslld xmm5, 0xc
psrld xmm2, 0x14
por xmm5, xmm2
paddd xmm6, xmm5
pshufd xmm2, xmm6, 0x55
movd dword [esp], xmm2
pshufd xmm2, xmm6, 0xee
movd esi, xmm2
pshufd xmm2, xmm6, 0xff
xor edx, dword [esp]
movd edi, xmm2
xor ebx, esi
xor eax, edi
movd xmm1, ebx
movd edi, xmm5
movd xmm0, eax
movd eax, xmm6
xor ecx, eax
punpckldq xmm1, xmm0
movd xmm0, edx
movd xmm7, ecx
punpckldq xmm7, xmm0
punpcklqdq xmm7, xmm1
movdqa xmm0, xmm7
pslld xmm7, 8
psrld xmm0, 0x18
por xmm7, xmm0
paddd xmm4, xmm7
movdqa xmm3, xmm4
pshufd xmm0, xmm4, 0x55
punpckhqdq xmm3, xmm5
movd ecx, xmm0
pshufd xmm0, xmm3, 0x55
movd eax, xmm3
punpcklqdq xmm3, xmm4
movd dword [esp], xmm0
pshufd xmm0, xmm5, 0xee
movd edx, xmm0
pshufd xmm0, xmm5, 0x55
movd esi, xmm0
pshufd xmm0, xmm5, 0xff
xor edx, eax
movd eax, xmm4
movd ebx, xmm0
xor esi, ecx
movd xmm1, edx
xor edi, eax
xor ebx, dword [esp]
movd xmm0, esi
punpckldq xmm0, xmm1
movd xmm1, edi
movd xmm2, ebx
movd ebx, xmm7
punpckldq xmm2, xmm1
punpcklqdq xmm0, xmm2
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
por xmm0, xmm1
paddd xmm6, xmm0
pshufd xmm1, xmm6, 0x55
movd dword [esp], xmm1
pshufd xmm1, xmm6, 0xee
movd edx, xmm1
pshufd xmm1, xmm6, 0xff
xor ebx, dword [esp]
movd esi, xmm1
pshufd xmm1, xmm7, 0x93
movd ecx, xmm1
pshufd xmm1, xmm7, 0x55
movd edi, xmm1
pshufd xmm1, xmm7, 0xee
movd eax, xmm1
xor edi, edx
movd xmm2, ebx
movd ebx, xmm0
xor eax, esi
movd xmm5, edi
movd xmm1, eax
movd eax, xmm6
xor ecx, eax
punpckldq xmm5, xmm1
movd xmm1, ecx
punpckldq xmm1, xmm2
movdqa xmm7, xmm1
punpcklqdq xmm7, xmm5
movdqa xmm2, xmm7
pslld xmm7, 0x10
psrld xmm2, 0x10
por xmm7, xmm2
paddd xmm3, xmm7
pshufd xmm2, xmm3, 0x55
movd dword [esp], xmm2
pshufd xmm2, xmm3, 0xee
movd edx, xmm2
pshufd xmm2, xmm3, 0xff
movd esi, xmm2
pshufd xmm2, xmm0, 0x55
movd ecx, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm0, xmm0, 0xff
movd eax, xmm0
xor ecx, dword [esp]
movd edi, xmm2
xor eax, esi
xor edi, edx
movd xmm0, eax
movd eax, xmm3
movd xmm2, edi
xor ebx, eax
punpckldq xmm2, xmm0
movd xmm0, ecx
movd xmm4, ebx
movd ecx, xmm7
movdqa xmm7, xmmword [esp + 0x10]
punpckldq xmm4, xmm0
punpcklqdq xmm4, xmm2
movdqa xmm0, xmm4
pslld xmm4, 0xc
psrld xmm0, 0x14
por xmm4, xmm0
paddd xmm6, xmm4
movdqa xmmword [esp + 0x130], xmm4
movdqa xmm4, xmmword [esp + 0x60]
pshufd xmm0, xmm6, 0x55
movdqa xmmword [esp], xmm6
movd dword [esp + 0xd0], xmm0
pshufd xmm0, xmm6, 0xee
movd esi, xmm0
pshufd xmm0, xmm6, 0xff
movd edi, xmm0
pshuflw xmm0, xmm1, 0xeb
paddd xmm7, xmm4
movd edx, xmm0
pshuflw xmm0, xmm5, 0xe1
movd ebx, xmm0
pshuflw xmm0, xmm5, 0xeb
xor edx, dword [esp + 0xd0]
movd eax, xmm0
xor ebx, esi
xor eax, edi
movd xmm1, ebx
movd xmm0, eax
movd eax, xmm6
movdqa xmm6, xmmword [esp + 0x120]
xor ecx, eax
punpckldq xmm1, xmm0
movd xmm0, edx
movd xmm2, ecx
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqa xmm1, xmmword [esp + 0xe0]
movdqa xmm0, xmm2
pslld xmm2, 8
psrld xmm0, 0x18
por xmm2, xmm0
pshufd xmm0, xmm2, 0x39
movd ebx, xmm1
paddd xmm2, xmm3
movdqa xmmword [esp + 0xd0], xmm0
pshufd xmm0, xmm7, 0x55
movdqa xmmword [esp + 0x180], xmm2
movd dword [esp + 0x10], xmm0
pshufd xmm0, xmm7, 0xee
movd edx, xmm0
pshufd xmm0, xmm7, 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 + 0x10]
movd eax, xmm0
xor edi, edx
xor eax, esi
movd xmm0, edi
movd xmm1, eax
movd eax, xmm7
xor ebx, eax
punpckldq xmm0, xmm1
movd xmm1, ecx
movd xmm3, ebx
movd ebx, xmm4
punpckldq xmm3, xmm1
movdqa xmm1, xmm3
punpcklqdq xmm1, xmm0
movdqa xmm2, xmm1
pslld xmm1, 0x10
psrld xmm2, 0x10
por xmm1, xmm2
paddd xmm6, xmm1
pshufd xmm2, xmm6, 0x55
movd dword [esp + 0x10], xmm2
pshufd xmm2, xmm6, 0xee
movd edx, xmm2
pshufd xmm2, xmm6, 0xff
movd esi, xmm2
pshufd xmm2, xmm4, 0x55
movd ecx, xmm2
pshufd xmm2, xmm4, 0xee
movd edi, xmm2
pshufd xmm2, xmm4, 0xff
xor ecx, dword [esp + 0x10]
movd eax, xmm2
xor edi, edx
xor eax, esi
movd xmm5, edi
movd xmm2, eax
movd eax, xmm6
xor ebx, eax
punpckldq xmm5, xmm2
movd xmm2, ecx
movd ecx, xmm1
pshuflw xmm1, xmm3, 0xeb
movd xmm4, ebx
movd edx, xmm1
pshuflw xmm1, xmm0, 0xe1
pshuflw xmm0, xmm0, 0xeb
punpckldq xmm4, xmm2
movd eax, xmm0
movd ebx, xmm1
punpcklqdq xmm4, xmm5
movdqa xmm2, xmm4
pslld xmm4, 0xc
psrld xmm2, 0x14
por xmm4, xmm2
paddd xmm7, xmm4
pshufd xmm2, xmm7, 0x55
movd dword [esp + 0x10], xmm2
pshufd xmm2, xmm7, 0xee
movd esi, xmm2
pshufd xmm2, xmm7, 0xff
xor edx, dword [esp + 0x10]
movd edi, xmm2
xor ebx, esi
xor eax, edi
movd xmm1, ebx
movd edi, xmm4
movd xmm0, eax
movd eax, xmm7
xor ecx, eax
punpckldq xmm1, xmm0
movd xmm0, edx
movd xmm5, ecx
punpckldq xmm5, xmm0
punpcklqdq xmm5, xmm1
movdqa xmm0, xmm5
pslld xmm5, 8
psrld xmm0, 0x18
por xmm5, xmm0
paddd xmm6, xmm5
movdqa xmm3, xmm6
pshufd xmm0, xmm6, 0x55
punpckhqdq xmm3, xmm4
movd ecx, xmm0
pshufd xmm0, xmm3, 0x55
movd eax, xmm3
punpcklqdq xmm3, xmm6
movd dword [esp + 0x10], xmm0
pshufd xmm0, xmm4, 0xee
movd edx, xmm0
pshufd xmm0, xmm4, 0x55
movd esi, xmm0
pshufd xmm0, xmm4, 0xff
xor edx, eax
movd eax, xmm6
movd ebx, xmm0
xor esi, ecx
movd xmm1, edx
xor edi, eax
xor ebx, dword [esp + 0x10]
movd xmm0, esi
punpckldq xmm0, xmm1
movd xmm1, edi
movd xmm2, ebx
movd ebx, xmm5
punpckldq xmm2, xmm1
punpcklqdq xmm0, xmm2
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
por xmm0, xmm1
paddd xmm7, xmm0
pshufd xmm1, xmm7, 0x55
movd dword [esp + 0x10], xmm1
pshufd xmm1, xmm7, 0xee
movd edx, xmm1
pshufd xmm1, xmm7, 0xff
xor ebx, dword [esp + 0x10]
movd esi, xmm1
pshufd xmm1, xmm5, 0x93
movd ecx, xmm1
pshufd xmm1, xmm5, 0x55
movd edi, xmm1
pshufd xmm1, xmm5, 0xee
movd eax, xmm1
xor edi, edx
xor eax, esi
movd xmm4, edi
movd xmm1, eax
movd eax, xmm7
xor ecx, eax
punpckldq xmm4, xmm1
movd xmm1, ebx
movd ebx, xmm0
movd xmm5, ecx
punpckldq xmm5, xmm1
movdqa xmm1, xmm5
punpcklqdq xmm1, xmm4
movdqa xmm2, xmm1
pslld xmm1, 0x10
psrld xmm2, 0x10
por xmm1, xmm2
paddd xmm3, xmm1
pshufd xmm2, xmm3, 0x55
movd dword [esp + 0x10], xmm2
pshufd xmm2, xmm3, 0xee
movd edx, xmm2
pshufd xmm2, xmm3, 0xff
movd esi, xmm2
pshufd xmm2, xmm0, 0x55
movd ecx, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm0, xmm0, 0xff
movd eax, xmm0
xor ecx, dword [esp + 0x10]
movd edi, xmm2
xor eax, esi
xor edi, edx
movd xmm0, eax
movd eax, xmm3
movd xmm2, edi
xor ebx, eax
punpckldq xmm2, xmm0
movd xmm0, ecx
movd xmm6, ebx
movd ecx, xmm1
punpckldq xmm6, xmm0
punpcklqdq xmm6, xmm2
movdqa xmm0, xmm6
pslld xmm6, 0xc
psrld xmm0, 0x14
por xmm6, xmm0
paddd xmm7, xmm6
movdqa xmmword [esp + 0x60], xmm6
movdqa xmm6, xmmword [esp + 0x140]
pshufd xmm0, xmm7, 0x55
movdqa xmmword [esp + 0x10], xmm7
movd dword [esp + 0xe0], xmm0
pshufd xmm0, xmm7, 0xee
movd esi, xmm0
pshufd xmm0, xmm7, 0xff
movd edi, xmm0
pshuflw xmm0, xmm5, 0xeb
movd edx, xmm0
pshuflw xmm0, xmm4, 0xe1
movd ebx, xmm0
pshuflw xmm0, xmm4, 0xeb
xor edx, dword [esp + 0xe0]
movdqa xmm4, xmmword [esp + 0x70]
movd eax, xmm0
xor ebx, esi
xor eax, edi
movd xmm1, ebx
movd xmm0, eax
movd eax, xmm7
movdqa xmm7, xmmword [esp + 0x20]
xor ecx, eax
punpckldq xmm1, xmm0
movd xmm0, edx
movd xmm2, ecx
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqa xmm1, xmmword [esp + 0xf0]
paddd xmm7, xmm4
movdqa xmm0, xmm2
pslld xmm2, 8
psrld xmm0, 0x18
por xmm2, xmm0
pshufd xmm0, xmm2, 0x39
movd ebx, xmm1
paddd xmm2, xmm3
movdqa xmmword [esp + 0xe0], xmm0
pshufd xmm0, xmm7, 0x55
movdqa xmmword [esp + 0x170], xmm2
movd dword [esp + 0x20], xmm0
pshufd xmm0, xmm7, 0xee
movd edx, xmm0
pshufd xmm0, xmm7, 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 + 0x20]
movd eax, xmm0
xor edi, edx
xor eax, esi
movd xmm0, edi
movd xmm1, eax
movd eax, xmm7
xor ebx, eax
punpckldq xmm0, xmm1
movd xmm1, ecx
movd xmm2, ebx
movd ebx, xmm4
punpckldq xmm2, xmm1
movdqa xmm3, xmm2
pshuflw xmm2, xmm2, 0xeb
punpcklqdq xmm3, xmm0
movdqa xmm1, xmm3
pslld xmm3, 0x10
psrld xmm1, 0x10
por xmm3, xmm1
paddd xmm6, xmm3
pshufd xmm1, xmm6, 0x55
movd dword [esp + 0x20], xmm1
pshufd xmm1, xmm6, 0xee
movd edx, xmm1
pshufd xmm1, xmm6, 0xff
movd esi, xmm1
pshufd xmm1, xmm4, 0x55
movd ecx, xmm1
pshufd xmm1, xmm4, 0xee
movd edi, xmm1
pshufd xmm1, xmm4, 0xff
xor ecx, dword [esp + 0x20]
movd eax, xmm1
xor edi, edx
movd edx, xmm2
pshuflw xmm2, xmm0, 0xe1
pshuflw xmm0, xmm0, 0xeb
xor eax, esi
movd xmm4, edi
movd xmm1, eax
movd eax, xmm6
xor ebx, eax
punpckldq xmm4, xmm1
movd xmm5, ecx
movd eax, xmm0
movd ecx, xmm3
movd xmm1, ebx
movd ebx, xmm2
punpckldq xmm1, xmm5
punpcklqdq xmm1, xmm4
movdqa xmm4, xmm1
pslld xmm1, 0xc
psrld xmm4, 0x14
por xmm1, xmm4
paddd xmm7, xmm1
pshufd xmm4, xmm7, 0x55
movd dword [esp + 0x20], xmm4
pshufd xmm4, xmm7, 0xee
movd esi, xmm4
pshufd xmm4, xmm7, 0xff
xor edx, dword [esp + 0x20]
movd edi, xmm4
xor ebx, esi
xor eax, edi
movd xmm2, ebx
movd edi, xmm1
movd xmm0, eax
movd eax, xmm7
xor ecx, eax
punpckldq xmm2, xmm0
movd xmm0, edx
movd xmm3, ecx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
paddd xmm6, xmm3
movdqa xmm2, xmm6
pshufd xmm0, xmm6, 0x55
punpckhqdq xmm2, xmm1
movd ecx, xmm0
pshufd xmm0, xmm2, 0x55
movd eax, xmm2
punpcklqdq xmm2, xmm6
movd dword [esp + 0x20], xmm0
pshufd xmm0, xmm1, 0xee
movd edx, xmm0
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
xor edx, eax
movd eax, xmm6
movd ebx, xmm0
xor esi, ecx
movd xmm1, edx
xor edi, eax
xor ebx, dword [esp + 0x20]
movd xmm0, esi
punpckldq xmm0, xmm1
movd xmm1, edi
movd xmm4, ebx
movd ebx, xmm3
punpckldq xmm4, xmm1
punpcklqdq xmm0, xmm4
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
por xmm0, xmm1
paddd xmm7, xmm0
pshufd xmm1, xmm7, 0x55
movd dword [esp + 0x20], xmm1
pshufd xmm1, xmm7, 0xee
movd edx, xmm1
pshufd xmm1, xmm7, 0xff
xor ebx, dword [esp + 0x20]
movd esi, xmm1
pshufd xmm1, xmm3, 0x93
movd ecx, xmm1
pshufd xmm1, xmm3, 0x55
movd edi, xmm1
pshufd xmm1, xmm3, 0xee
movd eax, xmm1
xor edi, edx
xor eax, esi
movd xmm3, edi
movd xmm1, eax
movd eax, xmm7
xor ecx, eax
punpckldq xmm3, xmm1
movd xmm1, ebx
movd ebx, xmm0
movd xmm4, ecx
punpckldq xmm4, xmm1
movdqa xmm5, xmm4
punpcklqdq xmm5, xmm3
movdqa xmm1, xmm5
pslld xmm5, 0x10
psrld xmm1, 0x10
por xmm5, xmm1
paddd xmm2, xmm5
pshufd xmm1, xmm2, 0x55
movd dword [esp + 0x20], xmm1
pshufd xmm1, xmm2, 0xee
movd edx, xmm1
pshufd xmm1, xmm2, 0xff
movd esi, xmm1
pshufd xmm1, xmm0, 0x55
movd ecx, xmm1
pshufd xmm1, xmm0, 0xee
pshufd xmm0, xmm0, 0xff
movd eax, xmm0
xor ecx, dword [esp + 0x20]
movd edi, xmm1
xor eax, esi
xor edi, edx
movd xmm0, eax
movd eax, xmm2
movd xmm6, edi
xor ebx, eax
punpckldq xmm6, xmm0
movd xmm0, ecx
movd xmm1, ebx
movd ecx, xmm5
punpckldq xmm1, xmm0
punpcklqdq xmm1, xmm6
movdqa xmm6, xmmword [esp + 0xc0]
movdqa xmm0, xmm1
pslld xmm1, 0xc
psrld xmm0, 0x14
por xmm1, xmm0
paddd xmm7, xmm1
movdqa xmmword [esp + 0x70], xmm1
pshufd xmm0, xmm7, 0x55
movdqa xmmword [esp + 0x20], xmm7
movd dword [esp + 0xf0], xmm0
pshufd xmm0, xmm7, 0xee
movd esi, xmm0
pshufd xmm0, xmm7, 0xff
movd edi, xmm0
pshuflw xmm0, xmm4, 0xeb
movd edx, xmm0
pshuflw xmm0, xmm3, 0xe1
movd ebx, xmm0
pshuflw xmm0, xmm3, 0xeb
xor edx, dword [esp + 0xf0]
movd eax, xmm0
xor ebx, esi
xor eax, edi
movd xmm3, ebx
movd xmm0, eax
movd eax, xmm7
xor ecx, eax
movd xmm4, edx
punpckldq xmm3, xmm0
movd xmm1, ecx
punpckldq xmm1, xmm4
punpcklqdq xmm1, xmm3
movdqa xmm3, xmm1
pslld xmm1, 8
psrld xmm3, 0x18
por xmm1, xmm3
pshufd xmm0, xmm1, 0x39
paddd xmm1, xmm2
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmm0, xmmword [esp + 0x30]
movdqa xmmword [esp + 0x160], xmm1
movdqa xmm1, xmmword [esp + 0x100]
paddd xmm0, xmm6
movd ebx, xmm1
pshufd xmm2, xmm0, 0x55
movd dword [esp + 0x30], xmm2
pshufd xmm2, xmm0, 0xee
movd edx, xmm2
pshufd xmm2, xmm0, 0xff
movd esi, xmm2
pshufd xmm2, xmm1, 0x55
movd ecx, xmm2
pshufd xmm2, xmm1, 0xee
movd edi, xmm2
pshufd xmm2, xmm1, 0xff
xor ecx, dword [esp + 0x30]
movdqa xmm1, xmmword [esp + 0x150]
movd eax, xmm2
xor edi, edx
xor eax, esi
movd xmm2, edi
movd xmm3, eax
movd eax, xmm0
xor ebx, eax
punpckldq xmm2, xmm3
movd xmm3, ecx
movd xmm4, ebx
movd ebx, xmm6
punpckldq xmm4, xmm3
movdqa xmm5, xmm4
pshuflw xmm4, xmm4, 0xeb
punpcklqdq xmm5, xmm2
movdqa xmm3, xmm5
pslld xmm5, 0x10
psrld xmm3, 0x10
por xmm5, xmm3
paddd xmm1, xmm5
pshufd xmm3, xmm1, 0x55
movd dword [esp + 0x30], xmm3
pshufd xmm3, xmm1, 0xee
movd edx, xmm3
pshufd xmm3, xmm1, 0xff
movd esi, xmm3
pshufd xmm3, xmm6, 0x55
movd ecx, xmm3
pshufd xmm3, xmm6, 0xee
movd edi, xmm3
pshufd xmm3, xmm6, 0xff
xor ecx, dword [esp + 0x30]
movd eax, xmm3
xor edi, edx
movd edx, xmm4
pshuflw xmm4, xmm2, 0xe1
pshuflw xmm2, xmm2, 0xeb
xor eax, esi
movd xmm6, edi
movd xmm3, eax
movd eax, xmm1
xor ebx, eax
punpckldq xmm6, xmm3
movd xmm7, ecx
movd eax, xmm2
movd ecx, xmm5
movd xmm3, ebx
movd ebx, xmm4
punpckldq xmm3, xmm7
punpcklqdq xmm3, xmm6
movdqa xmm6, xmm3
pslld xmm3, 0xc
psrld xmm6, 0x14
por xmm3, xmm6
paddd xmm0, xmm3
pshufd xmm6, xmm0, 0x55
movd dword [esp + 0x30], xmm6
pshufd xmm6, xmm0, 0xee
movd esi, xmm6
pshufd xmm6, xmm0, 0xff
xor edx, dword [esp + 0x30]
movd edi, xmm6
xor ebx, esi
xor eax, edi
movd xmm5, ebx
movd edi, xmm3
movd xmm2, eax
movd eax, xmm0
xor ecx, eax
punpckldq xmm5, xmm2
movd xmm2, edx
movd xmm4, ecx
punpckldq xmm4, xmm2
punpcklqdq xmm4, xmm5
movdqa xmm2, xmm4
pslld xmm4, 8
psrld xmm2, 0x18
por xmm4, xmm2
paddd xmm1, xmm4
pshufd xmm2, xmm1, 0x55
movd ecx, xmm2
movdqa xmm2, xmm1
punpckhqdq xmm2, xmm3
pshufd xmm5, xmm2, 0x55
movd eax, xmm2
punpcklqdq xmm2, xmm1
movd dword [esp + 0x30], xmm5
pshufd xmm5, xmm3, 0xee
movd edx, xmm5
pshufd xmm5, xmm3, 0x55
pshufd xmm3, xmm3, 0xff
movd ebx, xmm3
movd esi, xmm5
xor edx, eax
movd eax, xmm1
xor ebx, dword [esp + 0x30]
xor esi, ecx
movd xmm5, edx
xor edi, eax
movd xmm3, esi
punpckldq xmm3, xmm5
movd xmm5, edi
movd xmm6, ebx
movd ebx, xmm4
punpckldq xmm6, xmm5
punpcklqdq xmm3, xmm6
movdqa xmm5, xmm3
pslld xmm3, 7
psrld xmm5, 0x19
por xmm3, xmm5
paddd xmm0, xmm3
pshufd xmm5, xmm0, 0x55
movd dword [esp + 0x30], xmm5
pshufd xmm5, xmm0, 0xee
movd edx, xmm5
pshufd xmm5, xmm0, 0xff
xor ebx, dword [esp + 0x30]
movd esi, xmm5
pshufd xmm5, xmm4, 0x93
movd ecx, xmm5
pshufd xmm5, xmm4, 0x55
pshufd xmm4, xmm4, 0xee
movd eax, xmm4
movd edi, xmm5
xor eax, esi
xor edi, edx
movd xmm6, ebx
movd ebx, xmm3
movd xmm5, eax
movd eax, xmm0
movd xmm4, edi
xor ecx, eax
punpckldq xmm4, xmm5
movd xmm5, ecx
punpckldq xmm5, xmm6
movdqa xmm6, xmm5
punpcklqdq xmm6, xmm4
movdqa xmm7, xmm6
pslld xmm6, 0x10
psrld xmm7, 0x10
por xmm6, xmm7
paddd xmm2, xmm6
pshufd xmm7, xmm2, 0x55
movd dword [esp + 0x30], xmm7
pshufd xmm7, xmm2, 0xee
movd edx, xmm7
pshufd xmm7, xmm2, 0xff
movd esi, xmm7
pshufd xmm7, xmm3, 0x55
movd ecx, xmm7
pshufd xmm7, xmm3, 0xee
pshufd xmm3, xmm3, 0xff
movd eax, xmm3
xor ecx, dword [esp + 0x30]
movd edi, xmm7
xor eax, esi
xor edi, edx
movd xmm3, eax
movd eax, xmm2
movd xmm7, edi
xor ebx, eax
punpckldq xmm7, xmm3
movd xmm1, ecx
movd xmm3, ebx
movd ecx, xmm6
movdqa xmm6, xmmword [esp + 0x170]
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm7
movdqa xmm7, xmmword [esp + 0x160]
movdqa xmm1, xmm3
pslld xmm3, 0xc
psrld xmm1, 0x14
por xmm3, xmm1
paddd xmm0, xmm3
movd dword [esp + 0xc0], xmm3
pshufd xmm1, xmm0, 0x55
movdqa xmmword [esp + 0x30], xmm0
movd dword [esp + 0x100], xmm1
pshufd xmm1, xmm0, 0xee
movd esi, xmm1
pshufd xmm1, xmm0, 0xff
movd edi, xmm1
pshuflw xmm1, xmm5, 0xeb
movd edx, xmm1
pshuflw xmm1, xmm4, 0xe1
movd ebx, xmm1
pshuflw xmm1, xmm4, 0xeb
xor edx, dword [esp + 0x100]
movd eax, xmm1
xor ebx, esi
xor eax, edi
movd xmm4, ebx
movd xmm1, eax
movd eax, xmm0
xor ecx, eax
punpckldq xmm4, xmm1
movd xmm1, edx
movd xmm5, ecx
punpckldq xmm5, xmm1
punpcklqdq xmm5, xmm4
movdqa xmm4, xmmword [esp + 0x180]
movdqa xmm1, xmm5
pslld xmm5, 8
psrld xmm1, 0x18
por xmm5, xmm1
pshufd xmm0, xmm5, 0x39
pshufd xmm1, xmm4, 0xee
paddd xmm5, xmm2
movdqa xmmword [esp + 0x100], xmm0
movdqa xmm0, xmmword [esp + 0x130]
movd dword [esp + 0x150], xmm1
pshufd xmm1, xmm4, 0x55
movd eax, xmm1
pshufd xmm1, xmm4, 0xff
movd dword [esp + 0x140], xmm1
mov dword [esp + 0x90], eax
pshufd xmm1, xmm0, 0xee
movd edi, xmm0
movd edx, xmm1
pshufd xmm1, xmm0, 0x55
movd ecx, xmm1
pshufd xmm1, xmm0, 0xff
movdqa xmm0, xmmword [esp + 0x60]
xor edx, dword [esp + 0x150]
movd esi, xmm1
pshufd xmm1, xmm6, 0xee
xor ecx, eax
mov eax, dword [esp + 0xb0]
movd dword [esp + 0x120], xmm1
pshufd xmm1, xmm6, 0x55
movd xmm2, ecx
movd ecx, xmm4
xor esi, dword [esp + 0x140]
pshufd xmm4, xmm4, 0x4e
movd dword [esp + 0x130], xmm1
pshufd xmm1, xmm6, 0xff
mov dword [esp + 0x8c], ecx
xor edi, ecx
movd dword [esp + 0x5c], xmm1
pshufd xmm1, xmm0, 0xee
movd dword [esp + 0x98], xmm0
movd dword [esp + 0x94], xmm1
pshufd xmm1, xmm0, 0x55
movd ebx, xmm1
pshufd xmm1, xmm0, 0xff
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 0x94]
movd dword [esp + 0x60], xmm1
pshufd xmm1, xmm7, 0xee
xor ebx, dword [esp + 0x130]
movd dword [esp + 0x54], xmm1
pshufd xmm1, xmm7, 0x55
movd dword [esp + 0x58], xmm1
pshufd xmm1, xmm7, 0xff
movd dword [esp + 0x50], xmm1
pshufd xmm1, xmm0, 0xee
xor ecx, dword [esp + 0x120]
movd dword [esp + 0xa0], xmm0
movd dword [esp + 0x40], xmm1
pshufd xmm1, xmm0, 0x55
movd dword [esp + 0x9c], xmm1
pshufd xmm1, xmm0, 0xff
movd dword [esp + 0x70], xmm1
pshufd xmm1, xmm5, 0xee
movd dword [esp + 0x110], xmm1
pshufd xmm1, xmm5, 0x55
movd dword [esp + 0x4c], xmm1
pshufd xmm1, xmm5, 0xff
movd dword [esp + 0xac], xmm1
pshufd xmm1, xmm3, 0xee
movd dword [esp + 0xa8], xmm1
pshufd xmm1, xmm3, 0x55
movd dword [esp + 0xa4], xmm1
pshufd xmm1, xmm3, 0xff
movd xmm3, esi
mov esi, dword [esp + 0x70]
movd dword [esp + 0x44], xmm1
movd xmm1, edx
mov edx, dword [esp + 0x60]
punpckldq xmm2, xmm1
movd xmm1, edi
movd edi, xmm6
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm2
movd xmm2, ebx
xor esi, dword [esp + 0x50]
movdqa xmm1, xmm3
xor edx, dword [esp + 0x5c]
pslld xmm3, 7
psrld xmm1, 0x19
por xmm3, xmm1
movd xmm1, ecx
mov ecx, dword [esp + 0x98]
punpckldq xmm2, xmm1
movd xmm0, edx
mov edx, dword [esp + 0x9c]
xor ecx, edi
movd xmm1, ecx
mov ecx, dword [esp + 0x40]
xor edx, dword [esp + 0x58]
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm2
movdqa xmm1, xmm0
pslld xmm0, 7
xor ecx, dword [esp + 0x54]
psrld xmm1, 0x19
movd xmm2, edx
mov edx, dword [esp + 0xa0]
por xmm0, xmm1
movdqa xmmword [esp + 0x60], xmm0
movd xmm0, esi
mov esi, dword [esp + 0x44]
movd xmm1, ecx
movd ecx, xmm7
mov dword [esp + 0x40], ecx
xor edx, ecx
mov ecx, dword [esp + 0xa8]
punpckldq xmm2, xmm1
movd xmm1, edx
mov edx, dword [esp + 0xa4]
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm2
xor ecx, dword [esp + 0x110]
movdqa xmm1, xmm0
pslld xmm0, 7
xor edx, dword [esp + 0x4c]
psrld xmm1, 0x19
por xmm0, xmm1
movdqa xmmword [esp + 0x70], xmm0
movd xmm1, ecx
mov ecx, dword [esp + 0xac]
movd xmm2, edx
mov edx, dword [esp + 0xc0]
punpckldq xmm2, xmm1
xor esi, ecx
mov ebx, ecx
movd ecx, xmm5
xor edx, ecx
movd xmm0, esi
dec eax
movd xmm1, edx
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm2
pshufd xmm2, xmm6, 0x4e
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
por xmm0, xmm1
pshufd xmm1, xmm7, 0x4e
movdqa xmmword [esp + 0xc0], xmm0
pshufd xmm0, xmm5, 0x4e
jne 0x53bb50
mov dword [esp + 0x44], edi
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x84]
movd xmm2, dword [esp + 0x110]
movd xmm5, dword [esp + 0x54]
movd xmm4, dword [esp + 0x130]
movd xmm7, dword [esp + 0x90]
movdqa xmm6, xmmword [esp]
mov edx, dword [edi + 0x128]
mov eax, esi
mov edi, edx
add edi, 4
adc eax, 0
movd xmm0, edi
mov edi, esi
movd xmm1, eax
mov eax, dword [ebp + 8]
punpcklqdq xmm1, xmm0
movups xmm0, xmmword [eax + 0x128]
shufps xmm1, xmm0, 0xe2
movaps xmmword [esp + 0x180], xmm0
movups xmmword [eax + 0x128], xmm1
mov eax, edx
add eax, 3
adc edi, 0
movd xmm0, eax
mov eax, edx
movd xmm1, edi
add eax, 2
mov edi, esi
punpcklqdq xmm1, xmm0
adc edi, 0
add edx, 1
movd xmm0, eax
mov eax, dword [ebp + 8]
movdqa xmmword [esp + 0xb0], xmm1
movd xmm1, edi
adc esi, 0
punpcklqdq xmm1, xmm0
movd xmm0, edx
movdqa xmmword [esp + 0x170], xmm1
movd xmm1, esi
mov esi, dword [esp + 0x80]
punpcklqdq xmm1, xmm0
movd xmm0, ebx
movdqa xmmword [esp + 0x160], xmm1
movd xmm1, dword [esp + 0x4c]
punpckldq xmm2, xmm0
movd xmm0, ecx
punpckldq xmm0, xmm1
movd xmm1, dword [esp + 0x58]
punpcklqdq xmm2, xmm0
movd xmm0, dword [esp + 0x50]
movdqa xmmword [esp + 0x110], xmm2
movaps xmm2, xmmword [esp + 0xb0]
punpckldq xmm5, xmm0
movd xmm0, dword [esp + 0x40]
punpckldq xmm0, xmm1
movd xmm1, dword [esp + 0x120]
punpcklqdq xmm5, xmm0
movd xmm0, dword [esp + 0x5c]
punpckldq xmm1, xmm0
movd xmm0, dword [esp + 0x44]
punpckldq xmm0, xmm4
movd xmm4, dword [esp + 0x140]
punpcklqdq xmm1, xmm0
movd xmm0, dword [esp + 0x150]
punpckldq xmm0, xmm4
movd xmm4, dword [esp + 0x8c]
punpckldq xmm4, xmm7
movdqa xmm7, xmmword [esp + 0x190]
punpcklqdq xmm0, xmm4
movdqa xmm4, xmmword [str.expand_32_byte_k_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_tWWWWWWWWWWWWWWWW0000000000000000_n_n_n_n_n_n_n_n]
paddd xmm3, xmm7
paddd xmm6, xmm4
movaps xmm4, xmmword [esp + 0x170]
movdqu xmmword [eax], xmm6
movdqu xmmword [eax + 0x10], xmm3
movdqa xmm3, xmmword [esp + 0x1a0]
movaps xmm6, xmmword [esp + 0x180]
paddd xmm0, xmm3
shufps xmm2, xmm6, 0xe2
shufps xmm4, xmm6, 0xe2
paddd xmm1, xmm3
paddd xmm5, xmm3
movdqu xmmword [eax + 0x20], xmm0
movdqa xmm0, xmmword [esp + 0xd0]
movaps xmmword [esp + 0xb0], xmm2
movaps xmm2, xmmword [esp + 0x160]
paddd xmm0, xmm6
shufps xmm2, xmm6, 0xe2
movdqa xmm6, xmmword [str.expand_32_byte_k_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_tWWWWWWWWWWWWWWWW0000000000000000_n_n_n_n_n_n_n_n]
movdqu xmmword [eax + 0x30], xmm0
movdqa xmm0, xmmword [esp + 0x10]
paddd xmm0, xmm6
movdqu xmmword [eax + 0x40], xmm0
movdqa xmm0, xmmword [esp + 0x60]
paddd xmm0, xmm7
movdqu xmmword [eax + 0x50], xmm0
movdqa xmm0, xmmword [esp + 0xe0]
movdqu xmmword [eax + 0x60], xmm1
movdqa xmm1, xmmword [esp + 0x20]
paddd xmm0, xmm2
paddd xmm1, xmm6
movdqa xmm2, xmmword [esp + 0x70]
movdqu xmmword [eax + 0x70], xmm0
movdqu xmmword [eax + 0x80], xmm1
movdqa xmm1, xmmword [esp + 0xf0]
paddd xmm2, xmm7
paddd xmm1, xmm4
movdqu xmmword [eax + 0x90], xmm2
movdqa xmm2, xmmword [esp + 0x30]
movdqu xmmword [eax + 0xa0], xmm5
movdqu xmmword [eax + 0xb0], xmm1
movdqa xmm1, xmmword [esp + 0xc0]
paddd xmm2, xmm6
paddd xmm1, xmm7
movdqu xmmword [eax + 0xc0], xmm2
movdqa xmm2, xmmword [esp + 0x110]
movdqu xmmword [eax + 0xd0], xmm1
movdqa xmm1, xmmword [esp + 0x100]
paddd xmm2, xmm3
paddd xmm1, xmmword [esp + 0xb0]
movdqu xmmword [eax + 0xe0], xmm2
movdqu xmmword [eax + 0xf0], xmm1
mov dword [eax + 0x100], 0
xor eax, eax
jmp 0x53ba10
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret