Function at 0x401d40
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x184
mov eax, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
mov dword [esp + 0x3c], edx
movups xmm2, xmmword [ecx + 0x20]
movdqu xmm4, xmmword [ecx + 0x10]
movdqu xmm6, xmmword [ecx]
movdqa xmm7, xmmword [str.expand_32_byte_kp3_]
mov dword [esp + 0x24], ecx
mov edx, eax
mov edi, ebx
mov esi, eax
movups xmmword [esp + 0xb4], xmm2
movdqu xmmword [esp + 0x28], xmm4
movdqu xmmword [esp + 0x174], xmm4
movdqu xmmword [esp + 4], xmm4
mov dword [esp + 0x38], ebx
movdqu xmmword [esp + 0x54], xmm6
movdqu xmmword [esp + 0x164], xmm6
movdqu xmmword [esp + 0x124], xmm7
movdqu xmmword [esp + 0x104], xmm7
movdqu xmmword [esp + 0xf4], xmm7
movdqu xmmword [esp + 0x114], xmm7
add edx, 1
adc edi, 0
movd xmm0, edx
add esi, 2
mov edx, ebx
movd xmm5, edi
adc edx, 0
movd xmm1, esi
add eax, 3
mov esi, ebx
punpcklqdq xmm5, xmm0
adc esi, 0
movd xmm3, eax
mov eax, 6
shufps xmm5, xmm2, 0xe2
movups xmmword [esp + 0xc4], xmm5
movd xmm5, edx
punpcklqdq xmm5, xmm1
movd xmm1, esi
punpcklqdq xmm1, xmm3
shufps xmm5, xmm2, 0xe2
movdqa xmm3, xmm4
shufps xmm1, xmm2, 0xe2
movups xmmword [esp + 0xd4], xmm5
movdqa xmm2, xmm4
movdqa xmm4, xmm6
movdqa xmm5, xmm6
movups xmmword [esp + 0xe4], xmm1
movdqa xmm1, xmm6
nop
movdqu xmmword [esp + 0x84], xmm4
movdqu xmm4, xmmword [esp + 0xf4]
movdqu xmmword [esp + 0x64], xmm2
movdqu xmm2, xmmword [esp + 0xb4]
mov dword [esp], eax
movdqu xmmword [esp + 0x14], xmm3
paddd xmm4, xmm1
movd ebx, xmm2
pshufd xmm0, xmm4, 0x55
movd eax, xmm0
pshufd xmm0, xmm4, 0xee
movd edx, xmm0
pshufd xmm0, xmm4, 0xff
movd esi, xmm0
pshufd xmm0, xmm2, 0x55
movd ecx, xmm0
pshufd xmm0, xmm2, 0xee
movd edi, xmm0
pshufd xmm0, xmm2, 0xff
xor ecx, eax
movdqu xmm2, xmmword [esp + 4]
movd ebp, xmm0
xor edi, edx
movd edx, xmm4
xor ebp, esi
xor ebx, edx
movd xmm0, edi
movd xmm3, ebp
movd xmm7, ebx
movd ebx, xmm1
punpckldq xmm0, xmm3
movd xmm3, ecx
punpckldq xmm7, xmm3
movdqa xmm6, xmm7
punpcklqdq xmm6, xmm0
movdqa xmm3, xmm6
pslld xmm6, 0x10
psrld xmm3, 0x10
por xmm6, xmm3
paddd xmm2, xmm6
pshufd xmm3, xmm2, 0x55
movdqu xmmword [esp + 4], xmm2
movd eax, xmm3
pshufd xmm3, xmm2, 0xee
movd edx, xmm3
pshufd xmm3, xmm2, 0xff
movd esi, xmm3
pshufd xmm3, xmm1, 0x55
movd ecx, xmm3
pshufd xmm3, xmm1, 0xee
pshufd xmm1, xmm1, 0xff
movd edi, xmm3
movd ebp, xmm1
xor ecx, eax
xor edi, edx
movd edx, xmm2
xor ebp, esi
movd xmm2, ecx
movd ecx, xmm6
movd xmm1, ebp
movd xmm3, edi
xor ebx, edx
punpckldq xmm3, xmm1
movd xmm1, ebx
punpckldq xmm1, xmm2
punpcklqdq xmm1, xmm3
movdqa xmm2, xmm1
pslld xmm1, 0xc
psrld xmm2, 0x14
por xmm1, xmm2
paddd xmm4, xmm1
pshufd xmm2, xmm4, 0x55
movdqu xmmword [esp + 0xf4], xmm4
movd eax, xmm2
pshufd xmm2, xmm4, 0xee
movd esi, xmm2
pshufd xmm2, xmm4, 0xff
movd edi, xmm2
pshuflw xmm2, xmm7, 0xeb
movd edx, xmm2
pshuflw xmm2, xmm0, 0xe1
pshuflw xmm0, xmm0, 0xeb
movd ebx, xmm2
movd ebp, xmm0
xor edx, eax
xor ebx, esi
xor ebp, edi
movd esi, xmm4
movd edi, xmm1
xor ecx, esi
movd xmm0, ebp
movd xmm2, ebx
punpckldq xmm2, xmm0
movd xmm3, ecx
movd xmm0, edx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqu xmm2, xmmword [esp + 4]
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
paddd xmm2, xmm3
movdqu xmmword [esp + 0xa4], xmm3
movdqa xmm3, xmm2
pshufd xmm0, xmm2, 0x55
movdqa xmm4, xmm2
movdqu xmmword [esp + 4], xmm2
punpckhqdq xmm3, xmm1
movd ecx, xmm0
pshufd xmm0, xmm3, 0x55
movd ebp, xmm3
movdqu xmmword [esp + 0xb4], xmm3
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd edx, xmm0
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
xor edx, ebp
movd ebx, xmm0
xor esi, ecx
movd ecx, xmm4
movd xmm0, edx
movd xmm2, esi
xor ebx, eax
xor edi, ecx
punpckldq xmm2, xmm0
movd xmm0, edi
movd xmm1, ebx
punpckldq xmm1, xmm0
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0x104]
movdqa xmm0, xmm2
pslld xmm2, 7
psrld xmm0, 0x19
por xmm2, xmm0
paddd xmm1, xmm5
movdqu xmmword [esp + 0x74], xmm2
movdqu xmm2, xmmword [esp + 0x28]
pshufd xmm0, xmm1, 0x55
movdqa xmm3, xmm1
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd edx, xmm0
pshufd xmm0, xmm1, 0xff
movdqu xmm1, xmmword [esp + 0xc4]
movd esi, xmm0
pshufd xmm0, xmm1, 0x55
movd ebx, xmm1
movd ecx, xmm0
pshufd xmm0, xmm1, 0xee
movd edi, xmm0
pshufd xmm0, xmm1, 0xff
xor ecx, eax
movd ebp, xmm0
xor edi, edx
movd edx, xmm3
xor ebp, esi
xor ebx, edx
movd xmm0, edi
movd xmm1, ebp
movd xmm7, ebx
movd ebx, xmm5
punpckldq xmm0, xmm1
movd xmm1, ecx
punpckldq xmm7, xmm1
movdqa xmm6, xmm7
punpcklqdq xmm6, xmm0
movdqa xmm1, xmm6
pslld xmm6, 0x10
psrld xmm1, 0x10
por xmm6, xmm1
paddd xmm2, xmm6
pshufd xmm1, xmm2, 0x55
movdqa xmm4, xmm2
movd eax, xmm1
pshufd xmm1, xmm2, 0xee
movd edx, xmm1
pshufd xmm1, xmm2, 0xff
movd esi, xmm1
pshufd xmm1, xmm5, 0x55
movd ecx, xmm1
pshufd xmm1, xmm5, 0xee
movd edi, xmm1
pshufd xmm1, xmm5, 0xff
xor ecx, eax
movd ebp, xmm1
xor edi, edx
movd edx, xmm4
movd xmm5, ecx
movd ecx, xmm6
xor ebp, esi
movd xmm2, edi
xor ebx, edx
movd xmm1, ebp
punpckldq xmm2, xmm1
movd xmm1, ebx
punpckldq xmm1, xmm5
punpcklqdq xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm1, 0xc
psrld xmm2, 0x14
por xmm1, xmm2
paddd xmm3, xmm1
pshufd xmm2, xmm3, 0x55
movdqu xmmword [esp + 0x104], xmm3
movd eax, xmm2
pshufd xmm2, xmm3, 0xee
movd esi, xmm2
pshufd xmm2, xmm3, 0xff
movd edi, xmm2
pshuflw xmm2, xmm7, 0xeb
movd edx, xmm2
pshuflw xmm2, xmm0, 0xe1
pshuflw xmm0, xmm0, 0xeb
movd ebx, xmm2
movd ebp, xmm0
xor edx, eax
xor ebx, esi
xor ebp, edi
movd esi, xmm3
movd edi, xmm1
xor ecx, esi
movd xmm0, ebp
movd xmm2, ebx
punpckldq xmm2, xmm0
movd xmm3, ecx
movd xmm0, edx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
paddd xmm4, xmm3
movdqu xmmword [esp + 0x94], xmm3
movdqu xmm3, xmmword [esp + 0x54]
movdqa xmm2, xmm4
pshufd xmm0, xmm4, 0x55
movdqu xmmword [esp + 0x28], xmm4
punpckhqdq xmm2, xmm1
movd ecx, xmm0
pshufd xmm0, xmm2, 0x55
movd ebp, xmm2
movdqu xmmword [esp + 0xc4], xmm2
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd edx, xmm0
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
xor edx, ebp
movd ebx, xmm0
xor esi, ecx
movd ecx, xmm4
movd xmm0, edx
movd xmm2, esi
xor ebx, eax
xor edi, ecx
punpckldq xmm2, xmm0
movd xmm0, edi
movd xmm1, ebx
punpckldq xmm1, xmm0
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0x114]
movdqa xmm0, xmm2
pslld xmm2, 7
psrld xmm0, 0x19
por xmm2, xmm0
paddd xmm1, xmm3
movdqu xmmword [esp + 0x144], xmm2
movdqu xmm2, xmmword [esp + 0x14]
pshufd xmm0, xmm1, 0x55
movdqa xmm7, xmm1
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd edx, xmm0
pshufd xmm0, xmm1, 0xff
movdqu xmm1, xmmword [esp + 0xd4]
movd esi, xmm0
pshufd xmm0, xmm1, 0x55
movd ebx, xmm1
movd ecx, xmm0
pshufd xmm0, xmm1, 0xee
movd edi, xmm0
pshufd xmm0, xmm1, 0xff
xor ecx, eax
movd ebp, xmm0
xor edi, edx
movd edx, xmm7
xor ebp, esi
xor ebx, edx
movd xmm0, edi
movd xmm1, ebp
movd xmm5, ebx
movd ebx, xmm3
punpckldq xmm0, xmm1
movd xmm1, ecx
punpckldq xmm5, xmm1
movdqa xmm6, xmm5
punpcklqdq xmm6, xmm0
movdqa xmm1, xmm6
pslld xmm6, 0x10
psrld xmm1, 0x10
por xmm6, xmm1
paddd xmm2, xmm6
pshufd xmm1, xmm2, 0x55
movdqa xmm4, xmm2
movdqu xmmword [esp + 0x14], xmm2
movd eax, xmm1
pshufd xmm1, xmm2, 0xee
movd edx, xmm1
pshufd xmm1, xmm2, 0xff
movd esi, xmm1
pshufd xmm1, xmm3, 0x55
movd ecx, xmm1
pshufd xmm1, xmm3, 0xee
movd edi, xmm1
pshufd xmm1, xmm3, 0xff
xor ecx, eax
movd ebp, xmm1
xor edi, edx
movd edx, xmm4
movd xmm4, ecx
movd ecx, xmm6
movdqu xmm6, xmmword [esp + 0x84]
xor ebp, esi
movd xmm2, edi
xor ebx, edx
movd xmm1, ebp
punpckldq xmm2, xmm1
movd xmm1, ebx
punpckldq xmm1, xmm4
punpcklqdq xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm1, 0xc
psrld xmm2, 0x14
por xmm1, xmm2
paddd xmm7, xmm1
pshufd xmm2, xmm7, 0x55
movdqu xmmword [esp + 0x114], xmm7
movd eax, xmm2
pshufd xmm2, xmm7, 0xee
movd esi, xmm2
pshufd xmm2, xmm7, 0xff
movd edi, xmm2
pshuflw xmm2, xmm5, 0xeb
movd edx, xmm2
pshuflw xmm2, xmm0, 0xe1
pshuflw xmm0, xmm0, 0xeb
movd ebx, xmm2
movd ebp, xmm0
xor edx, eax
xor ebx, esi
xor ebp, edi
movd esi, xmm7
movd edi, xmm1
xor ecx, esi
movd xmm0, ebp
movd xmm2, ebx
punpckldq xmm2, xmm0
movd xmm3, ecx
movd xmm0, edx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqu xmm2, xmmword [esp + 0x14]
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
paddd xmm2, xmm3
movdqu xmmword [esp + 0x154], xmm3
movdqa xmm3, xmm2
pshufd xmm0, xmm2, 0x55
movdqa xmm4, xmm2
movdqu xmmword [esp + 0x14], xmm2
punpckhqdq xmm3, xmm1
movd ecx, xmm0
pshufd xmm0, xmm3, 0x55
movd ebp, xmm3
movdqu xmmword [esp + 0xd4], xmm3
movdqa xmm3, xmm6
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd edx, xmm0
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
xor edx, ebp
movd ebx, xmm0
xor esi, ecx
movd ecx, xmm4
movd xmm0, edx
movdqu xmm4, xmmword [esp + 0x64]
movd xmm2, esi
xor ebx, eax
xor edi, ecx
punpckldq xmm2, xmm0
movd xmm0, edi
movd xmm1, ebx
punpckldq xmm1, xmm0
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0x124]
movdqa xmm0, xmm2
pslld xmm2, 7
psrld xmm0, 0x19
por xmm2, xmm0
paddd xmm1, xmm6
movdqu xmmword [esp + 0x134], xmm2
pshufd xmm0, xmm1, 0x55
movdqa xmm7, xmm1
movd eax, xmm0
pshufd xmm0, xmm1, 0xee
movd edx, xmm0
pshufd xmm0, xmm1, 0xff
movdqu xmm1, xmmword [esp + 0xe4]
movd esi, xmm0
pshufd xmm0, xmm1, 0x55
movd ebx, xmm1
movd ecx, xmm0
pshufd xmm0, xmm1, 0xee
movd edi, xmm0
pshufd xmm0, xmm1, 0xff
xor ecx, eax
movd ebp, xmm0
xor edi, edx
movd edx, xmm7
movd xmm2, ecx
xor ebp, esi
movd xmm1, edi
xor ebx, edx
movd xmm0, ebp
punpckldq xmm1, xmm0
movd xmm0, ebx
movd ebx, xmm6
punpckldq xmm0, xmm2
movdqa xmm5, xmm0
pshuflw xmm0, xmm0, 0xeb
punpcklqdq xmm5, xmm1
movdqa xmm2, xmm5
pslld xmm5, 0x10
psrld xmm2, 0x10
por xmm5, xmm2
paddd xmm4, xmm5
pshufd xmm2, xmm4, 0x55
movd eax, xmm2
pshufd xmm2, xmm4, 0xee
movd edx, xmm2
pshufd xmm2, xmm4, 0xff
movd esi, xmm2
pshufd xmm2, xmm6, 0x55
movd ecx, xmm2
pshufd xmm2, xmm6, 0xee
movd edi, xmm2
pshufd xmm2, xmm6, 0xff
xor ecx, eax
movd ebp, xmm2
xor edi, edx
movd edx, xmm4
movd xmm3, ecx
movd ecx, xmm5
xor ebp, esi
xor ebx, edx
movd xmm6, edi
movd edx, xmm0
pshuflw xmm0, xmm1, 0xe1
movd xmm2, ebp
punpckldq xmm6, xmm2
movd xmm2, ebx
movd ebx, xmm0
pshuflw xmm0, xmm1, 0xeb
punpckldq xmm2, xmm3
movd ebp, xmm0
punpcklqdq xmm2, xmm6
movdqu xmm6, xmmword [esp + 0x74]
movdqa xmm3, xmm2
pslld xmm2, 0xc
psrld xmm3, 0x14
por xmm2, xmm3
paddd xmm7, xmm2
pshufd xmm3, xmm7, 0x55
movdqu xmmword [esp + 0x124], xmm7
movd eax, xmm3
pshufd xmm3, xmm7, 0xee
movd esi, xmm3
pshufd xmm3, xmm7, 0xff
xor edx, eax
movd edi, xmm3
xor ebx, esi
movd esi, xmm7
movdqu xmm7, xmmword [esp + 0xf4]
xor ebp, edi
xor ecx, esi
movd xmm1, ebx
movd edi, xmm2
movd xmm0, ebp
movd xmm3, ecx
punpckldq xmm1, xmm0
movd xmm0, edx
punpckldq xmm3, xmm0
paddd xmm7, xmm6
punpcklqdq xmm3, xmm1
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
paddd xmm4, xmm3
movdqu xmmword [esp + 0xe4], xmm3
movdqa xmm3, xmm4
pshufd xmm0, xmm4, 0x55
movdqu xmmword [esp + 0x64], xmm4
punpckhqdq xmm3, xmm2
movd ecx, xmm0
pshufd xmm0, xmm3, 0x55
movd ebp, xmm3
movdqu xmmword [esp + 0x54], xmm3
movd eax, xmm0
pshufd xmm0, xmm2, 0xee
movd edx, xmm0
pshufd xmm0, xmm2, 0x55
movd esi, xmm0
pshufd xmm0, xmm2, 0xff
xor edx, ebp
movd ebx, xmm0
xor esi, ecx
movd ecx, xmm4
movd xmm0, edx
movups xmm4, xmmword [esp + 0xb4]
movd xmm2, esi
xor ebx, eax
xor edi, ecx
punpckldq xmm2, xmm0
movd xmm0, edi
movd xmm1, ebx
punpckldq xmm1, xmm0
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0xa4]
movhps xmm4, qword [esp + 4]
movdqa xmm0, xmm2
pslld xmm2, 7
psrld xmm0, 0x19
por xmm2, xmm0
pshufd xmm0, xmm7, 0x55
movd eax, xmm0
pshufd xmm0, xmm7, 0xee
movd ebx, xmm1
movdqu xmmword [esp + 0x84], xmm2
movd edx, xmm0
pshufd xmm0, xmm7, 0xff
xor ebx, eax
movd esi, xmm0
pshufd xmm0, xmm1, 0x93
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd ebp, xmm0
xor edi, edx
movd edx, xmm7
xor ebp, esi
xor ecx, edx
movd xmm2, edi
movd xmm0, ebp
movd xmm5, ecx
punpckldq xmm2, xmm0
movd xmm0, ebx
movd ebx, xmm6
punpckldq xmm5, xmm0
movdqa xmm3, xmm5
punpcklqdq xmm3, xmm2
movdqa xmm1, xmm3
pslld xmm3, 0x10
psrld xmm1, 0x10
por xmm3, xmm1
paddd xmm4, xmm3
pshufd xmm1, xmm4, 0x55
movd eax, xmm1
pshufd xmm1, xmm4, 0xee
movd edx, xmm1
pshufd xmm1, xmm4, 0xff
movd esi, xmm1
pshufd xmm1, xmm6, 0x55
movd ecx, xmm1
pshufd xmm1, xmm6, 0xee
movd edi, xmm1
pshufd xmm1, xmm6, 0xff
xor ecx, eax
movd ebp, xmm1
xor edi, edx
movd edx, xmm4
xor ebp, esi
xor ebx, edx
movd xmm6, edi
movd esi, xmm3
movdqu xmm3, xmmword [esp + 0x144]
movd xmm1, ebp
movd xmm0, ebx
punpckldq xmm6, xmm1
movd xmm1, ecx
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm6
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm0, xmm1
paddd xmm7, xmm0
movdqu xmmword [esp + 0xa4], xmm0
pshuflw xmm0, xmm2, 0xeb
pshufd xmm1, xmm7, 0xff
movd edi, xmm0
pshuflw xmm0, xmm2, 0xe1
movd eax, xmm7
movdqu xmmword [esp + 0xf4], xmm7
movd edx, xmm1
pshufd xmm1, xmm7, 0xee
movd ebx, xmm0
pshuflw xmm0, xmm5, 0xeb
xor esi, eax
movd dword [esp + 4], xmm1
pshufd xmm1, xmm7, 0x55
movd ebp, xmm0
xor edi, edx
movd xmm0, esi
xor ebx, dword [esp + 4]
movd ecx, xmm1
movd xmm1, edi
xor ebp, ecx
punpckldq xmm1, xmm0
movd xmm2, ebp
movd xmm0, ebx
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqu xmm1, xmmword [esp + 0x94]
movdqa xmm0, xmm2
pslld xmm2, 8
psrld xmm0, 0x18
por xmm2, xmm0
pshufd xmm0, xmm2, 0x93
movdqu xmmword [esp + 0xb4], xmm2
movdqu xmm2, xmmword [esp + 0x104]
movd ebx, xmm1
paddd xmm0, xmm4
movups xmm4, xmmword [esp + 0xc4]
movdqu xmmword [esp + 4], xmm0
paddd xmm2, xmm3
pshufd xmm0, xmm2, 0x55
movhps xmm4, qword [esp + 0x28]
movd eax, xmm0
pshufd xmm0, xmm2, 0xee
movd edx, xmm0
pshufd xmm0, xmm2, 0xff
xor ebx, eax
movd esi, xmm0
pshufd xmm0, xmm1, 0x93
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd ebp, xmm0
xor edi, edx
movd edx, xmm2
xor ebp, esi
xor ecx, edx
movd xmm6, edi
movd xmm0, ebp
movd xmm7, ecx
punpckldq xmm6, xmm0
movd xmm0, ebx
movd ebx, xmm3
punpckldq xmm7, xmm0
movdqa xmm0, xmm7
punpcklqdq xmm0, xmm6
movdqa xmm1, xmm0
pslld xmm0, 0x10
psrld xmm1, 0x10
por xmm0, xmm1
paddd xmm4, xmm0
pshufd xmm1, xmm4, 0x55
movd eax, xmm1
pshufd xmm1, xmm4, 0xee
movd edx, xmm1
pshufd xmm1, xmm4, 0xff
movd esi, xmm1
pshufd xmm1, xmm3, 0x55
movd ecx, xmm1
pshufd xmm1, xmm3, 0xee
movd edi, xmm1
pshufd xmm1, xmm3, 0xff
xor ecx, eax
movd ebp, xmm1
xor edi, edx
movd edx, xmm4
xor ebp, esi
xor ebx, edx
movd xmm3, edi
movd esi, xmm0
pshuflw xmm0, xmm6, 0xeb
movd xmm1, ebp
movd xmm5, ebx
movd edi, xmm0
pshuflw xmm0, xmm6, 0xe1
punpckldq xmm3, xmm1
movd xmm1, ecx
movd ebx, xmm0
pshuflw xmm0, xmm7, 0xeb
movdqu xmm7, xmmword [esp + 0x134]
punpckldq xmm5, xmm1
movd ebp, xmm0
punpcklqdq xmm5, xmm3
movdqa xmm1, xmm5
pslld xmm5, 0xc
psrld xmm1, 0x14
por xmm5, xmm1
paddd xmm2, xmm5
movdqu xmmword [esp + 0x94], xmm5
pshufd xmm1, xmm2, 0xff
movd eax, xmm2
movdqu xmmword [esp + 0x104], xmm2
movd edx, xmm1
pshufd xmm1, xmm2, 0xee
xor esi, eax
movd dword [esp + 0x28], xmm1
pshufd xmm1, xmm2, 0x55
xor edi, edx
movd xmm0, esi
movdqu xmm2, xmmword [esp + 0x114]
xor ebx, dword [esp + 0x28]
movd ecx, xmm1
movd xmm1, edi
xor ebp, ecx
punpckldq xmm1, xmm0
movd xmm3, ebp
paddd xmm2, xmm7
movd xmm0, ebx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm1
movdqu xmm1, xmmword [esp + 0x154]
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
pshufd xmm0, xmm3, 0x93
movd ebx, xmm1
movdqu xmmword [esp + 0xc4], xmm3
paddd xmm0, xmm4
movups xmm4, xmmword [esp + 0xd4]
movdqu xmmword [esp + 0x28], xmm0
pshufd xmm0, xmm2, 0x55
movd eax, xmm0
pshufd xmm0, xmm2, 0xee
movd edx, xmm0
pshufd xmm0, xmm2, 0xff
xor ebx, eax
movd esi, xmm0
pshufd xmm0, xmm1, 0x93
movhps xmm4, qword [esp + 0x14]
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd ebp, xmm0
xor edi, edx
movd edx, xmm2
xor ebp, esi
xor ecx, edx
movd xmm6, edi
movd xmm0, ebp
movd xmm1, ecx
punpckldq xmm6, xmm0
movd xmm0, ebx
movd ebx, xmm7
punpckldq xmm1, xmm0
movdqa xmm0, xmm1
punpcklqdq xmm0, xmm6
movdqa xmm3, xmm0
pslld xmm0, 0x10
psrld xmm3, 0x10
por xmm0, xmm3
paddd xmm4, xmm0
pshufd xmm3, xmm4, 0x55
movdqa xmm5, xmm4
movd eax, xmm3
pshufd xmm3, xmm4, 0xee
movd edx, xmm3
pshufd xmm3, xmm4, 0xff
movdqa xmm4, xmm7
movd esi, xmm3
pshufd xmm3, xmm7, 0x55
movd ecx, xmm3
pshufd xmm3, xmm7, 0xee
movd edi, xmm3
pshufd xmm3, xmm7, 0xff
xor ecx, eax
movd ebp, xmm3
xor edi, edx
movd edx, xmm5
xor ebp, esi
xor ebx, edx
movd xmm7, edi
movd esi, xmm0
pshuflw xmm0, xmm6, 0xeb
movd xmm3, ebp
movd xmm4, ebx
movd edi, xmm0
pshuflw xmm0, xmm6, 0xe1
punpckldq xmm7, xmm3
movd xmm3, ecx
movd ebx, xmm0
pshuflw xmm0, xmm1, 0xeb
punpckldq xmm4, xmm3
movd ebp, xmm0
punpcklqdq xmm4, xmm7
movdqu xmm7, xmmword [esp + 0x84]
movdqa xmm3, xmm4
pslld xmm4, 0xc
psrld xmm3, 0x14
por xmm4, xmm3
paddd xmm2, xmm4
movdqu xmmword [esp + 0x74], xmm4
movdqa xmm6, xmm7
pshufd xmm3, xmm2, 0xff
movd eax, xmm2
movdqu xmmword [esp + 0x114], xmm2
movd edx, xmm3
pshufd xmm3, xmm2, 0xee
xor esi, eax
movd dword [esp + 0x14], xmm3
pshufd xmm3, xmm2, 0x55
xor edi, edx
movd xmm0, esi
movdqu xmm2, xmmword [esp + 0x124]
xor ebx, dword [esp + 0x14]
movd ecx, xmm3
movd xmm1, edi
xor ebp, ecx
punpckldq xmm1, xmm0
movd xmm3, ebp
paddd xmm2, xmm7
movd xmm0, ebx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm1
movdqu xmm1, xmmword [esp + 0xe4]
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
pshufd xmm0, xmm3, 0x93
movd ebx, xmm1
movdqu xmmword [esp + 0xd4], xmm3
paddd xmm0, xmm5
movdqu xmmword [esp + 0x14], xmm0
pshufd xmm0, xmm2, 0x55
movd eax, xmm0
pshufd xmm0, xmm2, 0xee
movd edx, xmm0
pshufd xmm0, xmm2, 0xff
xor ebx, eax
movd esi, xmm0
pshufd xmm0, xmm1, 0x93
movd ecx, xmm0
pshufd xmm0, xmm1, 0x55
movd edi, xmm0
pshufd xmm0, xmm1, 0xee
movd ebp, xmm0
xor edi, edx
movd edx, xmm2
movups xmm0, xmmword [esp + 0x54]
xor ebp, esi
xor ecx, edx
movd xmm4, edi
movd xmm1, ebp
movd xmm5, ecx
punpckldq xmm4, xmm1
movd xmm1, ebx
movd ebx, xmm7
punpckldq xmm5, xmm1
movhps xmm0, qword [esp + 0x64]
movdqa xmm1, xmm5
punpcklqdq xmm1, xmm4
movdqa xmm3, xmm1
pslld xmm1, 0x10
psrld xmm3, 0x10
por xmm1, xmm3
paddd xmm0, xmm1
pshufd xmm3, xmm0, 0x55
movdqu xmmword [esp + 0x54], xmm0
movd eax, xmm3
pshufd xmm3, xmm0, 0xee
movd edx, xmm3
pshufd xmm3, xmm0, 0xff
movd esi, xmm3
pshufd xmm3, xmm7, 0x55
movd ecx, xmm3
pshufd xmm3, xmm7, 0xee
movd edi, xmm3
pshufd xmm3, xmm7, 0xff
xor ecx, eax
movd ebp, xmm3
xor edi, edx
movd edx, xmm0
pshuflw xmm0, xmm4, 0xe1
xor ebp, esi
xor ebx, edx
movd xmm7, edi
movd esi, xmm1
pshuflw xmm1, xmm4, 0xeb
movd xmm3, ebp
movd xmm6, ebx
movd ebx, xmm0
pshuflw xmm0, xmm5, 0xeb
movd edi, xmm1
punpckldq xmm7, xmm3
movd xmm3, ecx
movd ebp, xmm0
punpckldq xmm6, xmm3
punpcklqdq xmm6, xmm7
movdqa xmm3, xmm6
pslld xmm6, 0xc
psrld xmm3, 0x14
por xmm6, xmm3
paddd xmm2, xmm6
pshufd xmm3, xmm2, 0xff
movd eax, xmm2
movdqu xmmword [esp + 0x124], xmm2
movd edx, xmm3
pshufd xmm3, xmm2, 0xee
xor esi, eax
movd dword [esp + 0x64], xmm3
pshufd xmm3, xmm2, 0x55
xor edi, edx
movd xmm0, esi
movdqu xmm2, xmmword [esp + 4]
xor ebx, dword [esp + 0x64]
movd ecx, xmm3
movd xmm1, edi
xor ebp, ecx
punpckldq xmm1, xmm0
movd xmm3, ebp
movdqa xmm5, xmm2
movd xmm0, ebx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm1
movdqu xmm1, xmmword [esp + 0x54]
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
pshufd xmm0, xmm3, 0x93
movdqu xmmword [esp + 0xe4], xmm3
paddd xmm0, xmm1
pshufd xmm1, xmm2, 0xee
movd ebx, xmm1
pshufd xmm1, xmm2, 0x55
movd edi, xmm1
pshufd xmm1, xmm2, 0xff
movdqu xmm2, xmmword [esp + 0xa4]
mov dword [esp + 0xa4], ebx
movd ebp, xmm1
mov dword [esp + 0x64], edi
mov dword [esp + 0x84], ebp
pshufd xmm1, xmm2, 0xee
movd eax, xmm2
movd ecx, xmm1
pshufd xmm1, xmm2, 0x55
movd edx, xmm1
pshufd xmm1, xmm2, 0xff
xor ecx, ebx
movdqu xmm2, xmmword [esp + 0x28]
movd esi, xmm1
xor edx, edi
movd xmm1, ecx
movd ecx, xmm5
movd xmm3, edx
xor eax, ecx
xor esi, ebp
mov dword [esp + 0x134], ecx
punpckldq xmm3, xmm1
movd xmm5, eax
movd xmm1, esi
punpckldq xmm1, xmm5
movdqa xmm5, xmm2
punpcklqdq xmm1, xmm3
movdqa xmm3, xmm1
pslld xmm1, 7
psrld xmm3, 0x19
por xmm1, xmm3
pshufd xmm3, xmm2, 0xee
movd ebx, xmm3
pshufd xmm3, xmm2, 0x55
movd edi, xmm3
pshufd xmm3, xmm2, 0xff
movdqu xmm2, xmmword [esp + 0x94]
mov dword [esp + 0x154], ebx
movd ebp, xmm3
mov dword [esp + 0x94], edi
mov dword [esp + 0x144], ebp
pshufd xmm3, xmm2, 0xee
movd eax, xmm2
movd ecx, xmm3
pshufd xmm3, xmm2, 0x55
movd edx, xmm3
pshufd xmm3, xmm2, 0xff
xor ecx, ebx
movdqu xmm2, xmmword [esp + 0x14]
movd esi, xmm3
xor edx, edi
movd xmm3, ecx
movd ecx, xmm5
movd xmm7, edx
xor esi, ebp
xor eax, ecx
mov dword [esp + 0x44], ecx
punpckldq xmm7, xmm3
movd xmm3, eax
movd xmm5, esi
punpckldq xmm5, xmm3
movdqa xmm4, xmm2
punpcklqdq xmm5, xmm7
movdqa xmm3, xmm5
pslld xmm5, 7
psrld xmm3, 0x19
por xmm5, xmm3
pshufd xmm3, xmm2, 0xee
movd edi, xmm3
pshufd xmm3, xmm2, 0x55
movd ecx, xmm3
pshufd xmm3, xmm2, 0xff
movdqu xmm2, xmmword [esp + 0x74]
mov dword [esp + 0x50], edi
movd ebp, xmm3
mov dword [esp + 0x74], ecx
mov dword [esp + 0x4c], ebp
pshufd xmm3, xmm2, 0xee
movd eax, xmm2
movd edx, xmm3
pshufd xmm3, xmm2, 0x55
movd esi, xmm3
pshufd xmm3, xmm2, 0xff
xor edx, edi
movd ebx, xmm3
xor esi, ecx
movd ecx, xmm4
movd xmm3, edx
movd xmm7, esi
xor ebx, ebp
xor eax, ecx
mov dword [esp + 0x40], ecx
movd ebp, xmm6
punpckldq xmm7, xmm3
movd xmm3, eax
movd xmm2, ebx
punpckldq xmm2, xmm3
punpcklqdq xmm2, xmm7
movdqa xmm3, xmm2
pslld xmm2, 7
psrld xmm3, 0x19
por xmm2, xmm3
pshufd xmm3, xmm0, 0xee
movd edi, xmm3
pshufd xmm3, xmm0, 0x55
movdqu xmmword [esp + 0x54], xmm2
movdqu xmm2, xmmword [esp + 4]
movd esi, xmm3
pshufd xmm3, xmm0, 0xff
movd edx, xmm3
pshufd xmm3, xmm6, 0xee
mov dword [esp + 0x48], esi
movd ebx, xmm3
pshufd xmm3, xmm6, 0x55
movd eax, xmm3
pshufd xmm3, xmm6, 0xff
xor ebx, edi
movd ecx, xmm3
xor eax, esi
movd xmm3, ebx
movd ebx, xmm0
movd xmm6, eax
xor ecx, edx
xor ebp, ebx
mov eax, dword [esp]
punpckldq xmm6, xmm3
movd xmm3, ebp
movd xmm4, ecx
punpckldq xmm4, xmm3
punpcklqdq xmm4, xmm6
movdqa xmm3, xmm4
pslld xmm4, 7
dec eax
psrld xmm3, 0x19
por xmm4, xmm3
pshufd xmm3, xmm2, 0x4e
movdqu xmm2, xmmword [esp + 0x28]
movdqu xmmword [esp + 4], xmm3
pshufd xmm3, xmm2, 0x4e
movdqu xmm2, xmmword [esp + 0x14]
movdqu xmmword [esp + 0x28], xmm3
pshufd xmm3, xmm2, 0x4e
pshufd xmm2, xmm0, 0x4e
jne 0x401e40
mov eax, dword [esp + 0x24]
mov esi, edi
movd xmm7, dword [esp + 0x64]
movd xmm2, dword [esp + 0x94]
mov ebp, dword [eax + 0x20]
mov eax, dword [esp + 0x38]
mov ecx, ebp
mov edi, eax
add ecx, 1
adc edi, 0
mov dword [esp + 0x28], ecx
mov ecx, eax
mov dword [esp], edi
mov edi, ebp
add edi, 2
mov dword [esp + 4], edi
mov edi, eax
adc edi, 0
mov dword [esp + 0x14], edi
mov edi, ebp
add edi, 3
adc ecx, 0
add ebp, 4
adc eax, 0
movd xmm0, ebp
movd xmm3, eax
mov eax, dword [esp + 0x24]
punpcklqdq xmm3, xmm0
movd xmm0, dword [esp + 0xa4]
movups xmm6, xmmword [eax + 0x20]
shufps xmm3, xmm6, 0xe2
movups xmmword [eax + 0x20], xmm3
movd xmm3, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
punpckldq xmm0, xmm3
movd xmm3, dword [esp + 0x134]
punpckldq xmm3, xmm7
movdqu xmm7, xmmword [esp + 0x164]
punpcklqdq xmm0, xmm3
movdqu xmm3, xmmword [esp + 0xf4]
paddd xmm1, xmm7
paddd xmm5, xmm7
paddd xmm4, xmm7
paddd xmm3, xmmword [str.expand_32_byte_kp3_]
movdqu xmmword [eax], xmm3
movdqu xmm3, xmmword [esp + 0x174]
movdqu xmmword [eax + 0x10], xmm1
movd xmm1, dword [esp + 0x144]
paddd xmm0, xmm3
movdqu xmmword [eax + 0x20], xmm0
movdqu xmm0, xmmword [esp + 0xb4]
paddd xmm0, xmm6
movdqu xmmword [eax + 0x30], xmm0
movd xmm0, dword [esp + 0x154]
punpckldq xmm0, xmm1
movd xmm1, dword [esp + 0x44]
punpckldq xmm1, xmm2
movd xmm2, dword [esp + 0x74]
punpcklqdq xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x104]
paddd xmm0, xmm3
paddd xmm1, xmmword [str.expand_32_byte_kp3_]
movdqu xmmword [eax + 0x40], xmm1
movdqu xmmword [eax + 0x50], xmm5
movdqu xmmword [eax + 0x60], xmm0
movss xmm0, dword [esp + 0x28]
movss xmm1, dword [esp]
movdqa xmm5, xmmword [str.expand_32_byte_kp3_]
movlhps xmm1, xmm0
movdqu xmm0, xmmword [esp + 0xc4]
shufps xmm1, xmm6, 0xe2
paddd xmm0, xmm1
movd xmm1, dword [esp + 0x4c]
movdqu xmmword [eax + 0x70], xmm0
movd xmm0, dword [esp + 0x50]
punpckldq xmm0, xmm1
movd xmm1, dword [esp + 0x40]
punpckldq xmm1, xmm2
movd xmm2, dword [esp + 0x48]
punpcklqdq xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x114]
paddd xmm0, xmm3
paddd xmm1, xmm5
movdqu xmmword [eax + 0x80], xmm1
movdqu xmm1, xmmword [esp + 0x54]
paddd xmm1, xmm7
movdqu xmmword [eax + 0x90], xmm1
movdqu xmmword [eax + 0xa0], xmm0
movss xmm0, dword [esp + 4]
movss xmm1, dword [esp + 0x14]
movlhps xmm1, xmm0
movdqu xmm0, xmmword [esp + 0xd4]
shufps xmm1, xmm6, 0xe2
paddd xmm0, xmm1
movd xmm1, edx
movdqu xmmword [eax + 0xb0], xmm0
movd xmm0, esi
punpckldq xmm0, xmm1
movd xmm1, ebx
punpckldq xmm1, xmm2
movdqu xmm2, xmmword [esp + 0xe4]
punpcklqdq xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x124]
paddd xmm0, xmm3
movd xmm3, ecx
paddd xmm1, xmm5
movdqu xmmword [eax + 0xc0], xmm1
movd xmm1, edi
movdqu xmmword [eax + 0xd0], xmm4
movdqu xmmword [eax + 0xe0], xmm0
punpcklqdq xmm3, xmm1
shufps xmm3, xmm6, 0xe2
paddd xmm2, xmm3
movdqu xmmword [eax + 0xf0], xmm2
add esp, 0x184
pop esi
pop edi
pop ebx
pop ebp
ret