Function at 0x4180b0
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x198
cmp dword [esp + 0x1ac], 0
mov dword [esp + 0xc], edx
mov dword [esp], ecx
je 0x419569
mov eax, dword [esp]
xor edi, edi
mov esi, dword [eax + 0x100]
movdqu xmm0, xmmword [eax + 0x108]
movdqu xmm1, xmmword [eax + 0x118]
movdqu xmmword [esp + 0x158], xmm0
movdqu xmmword [esp + 0x148], xmm1
nop dword [eax]
cmp esi, 0x40
jb 0x419507
mov ecx, dword [esp]
mov dword [esp + 8], edi
mov eax, dword [ecx + 0x128]
mov edi, dword [ecx + 0x12c]
movups xmm3, xmmword [ecx + 0x128]
mov ecx, eax
mov edx, edi
mov esi, edi
movups xmmword [esp + 0xd8], xmm3
mov dword [esp + 4], edi
add ecx, 1
movd xmm0, ecx
mov ecx, eax
adc edx, 0
add ecx, 2
movd xmm4, edx
adc esi, 0
punpcklqdq xmm4, xmm0
movd xmm1, ecx
add eax, 3
mov ecx, edi
movd xmm0, esi
shufps xmm4, xmm3, 0xe2
adc ecx, 0
movd xmm2, eax
mov eax, 0xa
punpcklqdq xmm0, xmm1
movaps xmm1, xmmword [str.expand_32_byte_k]
movups xmmword [esp + 0xc8], xmm4
movd xmm4, ecx
punpcklqdq xmm4, xmm2
shufps xmm0, xmm3, 0xe2
shufps xmm4, xmm3, 0xe2
movdqu xmm3, xmmword [esp + 0x158]
movups xmmword [esp + 0xe8], xmm0
movups xmmword [esp + 0xf8], xmm4
movups xmmword [esp + 0x108], xmm1
movups xmmword [esp + 0x118], xmm1
movups xmmword [esp + 0x128], xmm1
movups xmmword [esp + 0x138], xmm1
movdqu xmm1, xmmword [esp + 0x148]
movdqa xmm2, xmm3
movdqu xmmword [esp + 0x68], xmm3
movdqu xmmword [esp + 0x78], xmm3
movdqu xmmword [esp + 0x88], xmm3
movdqa xmm5, xmm1
movdqu xmmword [esp + 0x58], xmm1
movdqu xmmword [esp + 0x48], xmm1
nop word [eax + eax]
movdqu xmmword [esp + 0x98], xmm5
movdqu xmm5, xmmword [esp + 0x108]
movdqu xmm3, xmmword [esp + 0xd8]
mov dword [esp + 0xb8], eax
paddd xmm5, xmm2
movd ebx, xmm3
pshufd xmm0, xmm5, 0x55
movd eax, xmm0
pshufd xmm0, xmm5, 0xee
movd edx, xmm0
pshufd xmm0, xmm5, 0xff
movd esi, xmm0
pshufd xmm0, xmm3, 0x55
movd ecx, xmm0
pshufd xmm0, xmm3, 0xee
movd edi, xmm0
pshufd xmm0, xmm3, 0xff
xor ecx, eax
movd ebp, xmm0
xor edi, edx
movd edx, xmm5
movd xmm4, ecx
xor ebp, esi
movd xmm0, edi
xor ebx, edx
movd xmm3, ebp
punpckldq xmm0, xmm3
movd xmm3, ebx
movd ebx, xmm2
punpckldq xmm3, xmm4
movdqa xmm4, xmm3
pshuflw xmm3, xmm3, 0xeb
punpcklqdq xmm4, xmm0
movdqa xmm7, xmm4
pslld xmm4, 0x10
psrld xmm7, 0x10
por xmm4, xmm7
paddd xmm1, xmm4
pshufd xmm7, xmm1, 0x55
movd eax, xmm7
pshufd xmm7, xmm1, 0xee
movd edx, xmm7
pshufd xmm7, xmm1, 0xff
movd esi, xmm7
pshufd xmm7, xmm2, 0x55
movd ecx, xmm7
pshufd xmm7, xmm2, 0xee
pshufd xmm2, xmm2, 0xff
movd edi, xmm7
movd ebp, xmm2
xor ecx, eax
xor edi, edx
xor ebp, esi
movd edx, xmm1
movd xmm6, ecx
movd ecx, xmm4
xor ebx, edx
movd xmm2, ebp
movd xmm7, edi
movd edx, xmm3
pshuflw xmm3, xmm0, 0xe1
pshuflw xmm0, xmm0, 0xeb
punpckldq xmm7, xmm2
movd xmm2, ebx
movd ebx, xmm3
movd ebp, xmm0
punpckldq xmm2, xmm6
punpcklqdq xmm2, xmm7
movdqa xmm6, xmm2
pslld xmm2, 0xc
psrld xmm6, 0x14
por xmm2, xmm6
paddd xmm5, xmm2
pshufd xmm6, xmm5, 0x55
movd eax, xmm6
pshufd xmm6, xmm5, 0xee
movd esi, xmm6
pshufd xmm6, xmm5, 0xff
xor edx, eax
movd edi, xmm6
xor ebx, esi
movd esi, xmm5
xor ebp, edi
xor ecx, esi
movd xmm3, ebx
movd edi, xmm2
movd xmm0, ebp
movd xmm7, ecx
punpckldq xmm3, xmm0
movd xmm0, edx
punpckldq xmm7, xmm0
punpcklqdq xmm7, xmm3
movdqa xmm0, xmm7
pslld xmm7, 8
psrld xmm0, 0x18
por xmm7, xmm0
paddd xmm1, xmm7
pshufd xmm0, xmm1, 0x55
movd ecx, xmm0
movdqa xmm0, xmm1
punpckhqdq xmm0, xmm2
pshufd xmm3, xmm0, 0x55
movd ebp, xmm0
punpcklqdq xmm0, xmm1
movd eax, xmm3
pshufd xmm3, xmm2, 0xee
movd edx, xmm3
pshufd xmm3, xmm2, 0x55
pshufd xmm2, xmm2, 0xff
movd esi, xmm3
movd ebx, xmm2
xor edx, ebp
xor esi, ecx
movd ecx, xmm1
xor ebx, eax
movd xmm2, edx
movd xmm3, esi
xor edi, ecx
movd xmm4, ebx
movd ebx, xmm7
punpckldq xmm3, xmm2
movd xmm2, edi
punpckldq xmm4, xmm2
punpcklqdq xmm3, xmm4
movdqa xmm2, xmm3
pslld xmm3, 7
psrld xmm2, 0x19
por xmm3, xmm2
paddd xmm5, xmm3
pshufd xmm2, xmm5, 0x55
movd eax, xmm2
pshufd xmm2, xmm5, 0xee
movd edx, xmm2
pshufd xmm2, xmm5, 0xff
xor ebx, eax
movd esi, xmm2
pshufd xmm2, xmm7, 0x93
movd xmm6, ebx
movd ebx, xmm3
movd ecx, xmm2
pshufd xmm2, xmm7, 0x55
movd edi, xmm2
pshufd xmm2, xmm7, 0xee
movd ebp, xmm2
xor edi, edx
movd edx, xmm5
xor ebp, esi
movd xmm2, edi
xor ecx, edx
movd xmm4, ebp
punpckldq xmm2, xmm4
movd xmm4, ecx
punpckldq xmm4, xmm6
movdqa xmm7, xmm4
punpcklqdq xmm7, xmm2
movdqa xmm6, xmm7
pslld xmm7, 0x10
psrld xmm6, 0x10
por xmm7, xmm6
paddd xmm0, xmm7
pshufd xmm1, xmm0, 0x55
movd eax, xmm1
pshufd xmm1, xmm0, 0xee
movd edx, xmm1
pshufd xmm1, xmm0, 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, xmm0
xor ebp, esi
xor ebx, edx
movd xmm3, edi
movd xmm1, ebp
movd xmm6, ebx
punpckldq xmm3, xmm1
movd xmm1, ecx
movd ecx, xmm7
movdqu xmm7, xmmword [esp + 0x48]
punpckldq xmm6, xmm1
punpcklqdq xmm6, xmm3
movdqa xmm1, xmm6
pslld xmm6, 0xc
psrld xmm1, 0x14
por xmm6, xmm1
paddd xmm5, xmm6
movdqu xmmword [esp + 0xa8], xmm6
movdqu xmm6, xmmword [esp + 0x118]
pshufd xmm1, xmm5, 0x55
movdqu xmmword [esp + 0x108], xmm5
movd eax, xmm1
pshufd xmm1, xmm5, 0xee
movd esi, xmm1
pshufd xmm1, xmm5, 0xff
movd edi, xmm1
pshuflw xmm1, xmm4, 0xeb
movdqu xmm4, xmmword [esp + 0x68]
movd edx, xmm1
pshuflw xmm1, xmm2, 0xe1
movd ebx, xmm1
pshuflw xmm1, xmm2, 0xeb
xor edx, eax
movd ebp, xmm1
xor ebx, esi
movd esi, xmm5
xor ebp, edi
xor ecx, esi
movd xmm2, ebx
paddd xmm6, xmm4
movd xmm1, ebp
movd xmm3, ecx
punpckldq xmm2, xmm1
movd xmm1, edx
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm2
movdqa xmm1, xmm3
pslld xmm3, 8
psrld xmm1, 0x18
por xmm3, xmm1
pshufd xmm1, xmm3, 0x39
paddd xmm3, xmm0
pshufd xmm0, xmm6, 0x55
movdqu xmmword [esp + 0xd8], xmm1
movdqu xmm1, xmmword [esp + 0xc8]
movd eax, xmm0
pshufd xmm0, xmm6, 0xee
movdqu xmmword [esp + 0x188], xmm3
movd edx, xmm0
pshufd xmm0, xmm6, 0xff
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, xmm6
xor ebp, esi
xor ebx, edx
movd xmm0, edi
movd xmm1, ebp
movd xmm2, ebx
movd ebx, xmm4
punpckldq xmm0, xmm1
movd xmm1, ecx
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 xmm7, xmm3
pshufd xmm1, xmm7, 0x55
movd eax, xmm1
pshufd xmm1, xmm7, 0xee
movd edx, xmm1
pshufd xmm1, xmm7, 0xff
movd esi, xmm1
pshufd xmm1, xmm4, 0x55
movd ecx, xmm1
pshufd xmm1, xmm4, 0xee
movd edi, xmm1
pshufd xmm1, xmm4, 0xff
xor ecx, eax
movd ebp, xmm1
xor edi, edx
movd edx, xmm7
movd xmm5, ecx
movd ecx, xmm3
xor ebp, esi
xor ebx, edx
movd xmm4, edi
movd edx, xmm2
pshuflw xmm2, xmm0, 0xe1
pshuflw xmm0, xmm0, 0xeb
movd xmm1, ebp
movd ebp, xmm0
punpckldq xmm4, xmm1
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 xmm6, xmm1
pshufd xmm4, xmm6, 0x55
movd eax, xmm4
pshufd xmm4, xmm6, 0xee
movd esi, xmm4
pshufd xmm4, xmm6, 0xff
xor edx, eax
movd edi, xmm4
xor ebx, esi
movd esi, xmm6
xor ebp, edi
xor ecx, esi
movd xmm2, ebx
movd edi, xmm1
movd xmm0, ebp
movd xmm3, ecx
punpckldq xmm2, xmm0
movd xmm0, edx
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movdqa xmm0, xmm3
pslld xmm3, 8
psrld xmm0, 0x18
por xmm3, xmm0
paddd xmm7, xmm3
pshufd xmm0, xmm7, 0x55
movd ecx, xmm0
movdqa xmm0, xmm7
punpckhqdq xmm0, xmm1
pshufd xmm2, xmm0, 0x55
movd ebp, xmm0
punpcklqdq xmm0, xmm7
movd eax, xmm2
pshufd xmm2, xmm1, 0xee
movd edx, xmm2
pshufd xmm2, xmm1, 0x55
pshufd xmm1, xmm1, 0xff
movd esi, xmm2
movd ebx, xmm1
xor edx, ebp
xor esi, ecx
movd ecx, xmm7
xor ebx, eax
movd xmm1, edx
movd xmm2, esi
xor edi, ecx
movd xmm4, ebx
movd ebx, xmm3
punpckldq xmm2, xmm1
movd xmm1, edi
punpckldq xmm4, xmm1
punpcklqdq xmm2, xmm4
movdqa xmm1, xmm2
pslld xmm2, 7
psrld xmm1, 0x19
por xmm2, xmm1
paddd xmm6, xmm2
pshufd xmm1, xmm6, 0x55
movd eax, xmm1
pshufd xmm1, xmm6, 0xee
movd edx, xmm1
pshufd xmm1, xmm6, 0xff
xor ebx, eax
movd esi, xmm1
pshufd xmm1, xmm3, 0x93
movd xmm4, ebx
movd ebx, xmm2
movd ecx, xmm1
pshufd xmm1, xmm3, 0x55
movd edi, xmm1
pshufd xmm1, xmm3, 0xee
movd ebp, xmm1
xor edi, edx
movd edx, xmm6
xor ebp, esi
movd xmm1, edi
xor ecx, edx
movd xmm3, ebp
punpckldq xmm1, xmm3
movd xmm3, ecx
punpckldq xmm3, xmm4
movdqa xmm4, xmm3
punpcklqdq xmm4, xmm1
movdqa xmm5, xmm4
pslld xmm4, 0x10
psrld xmm5, 0x10
por xmm4, xmm5
paddd xmm0, xmm4
pshufd xmm5, xmm0, 0x55
movd eax, 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 edi, xmm5
movd ebp, xmm2
xor ecx, eax
xor edi, edx
xor ebp, esi
movd edx, xmm0
xor ebx, edx
movd xmm2, ebp
movd xmm5, edi
punpckldq xmm5, xmm2
movd xmm2, ecx
movd xmm7, ebx
movd ecx, xmm4
movdqu xmm4, xmmword [esp + 0x128]
punpckldq xmm7, xmm2
punpcklqdq xmm7, xmm5
movdqu xmm5, xmmword [esp + 0x78]
movdqa xmm2, xmm7
pslld xmm7, 0xc
psrld xmm2, 0x14
por xmm7, xmm2
paddd xmm6, xmm7
paddd xmm4, xmm5
movdqu xmmword [esp + 0x48], xmm7
movdqu xmm7, xmmword [esp + 0x58]
pshufd xmm2, xmm6, 0x55
movdqu xmmword [esp + 0x118], xmm6
movd eax, xmm2
pshufd xmm2, xmm6, 0xee
movd esi, xmm2
pshufd xmm2, xmm6, 0xff
movd edi, xmm2
pshuflw xmm2, xmm3, 0xeb
movd edx, xmm2
pshuflw xmm2, xmm1, 0xe1
pshuflw xmm1, xmm1, 0xeb
movd ebx, xmm2
movd ebp, xmm1
xor edx, eax
xor ebx, esi
xor ebp, edi
movd esi, xmm6
xor ecx, esi
movd xmm1, ebp
movd xmm2, ebx
punpckldq xmm2, xmm1
movd xmm3, ecx
movd xmm1, edx
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm2
movdqa xmm1, xmm3
pslld xmm3, 8
psrld xmm1, 0x18
por xmm3, xmm1
pshufd xmm1, xmm3, 0x39
paddd xmm3, xmm0
pshufd xmm0, xmm4, 0x55
movdqu xmmword [esp + 0xc8], xmm1
movdqu xmm1, xmmword [esp + 0xe8]
movd eax, xmm0
pshufd xmm0, xmm4, 0xee
movdqu xmmword [esp + 0x178], xmm3
movd edx, xmm0
pshufd xmm0, xmm4, 0xff
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, xmm4
movd xmm2, ecx
xor ebp, esi
movd xmm0, edi
xor ebx, edx
movd xmm1, ebp
punpckldq xmm0, xmm1
movd xmm1, ebx
movd ebx, xmm5
punpckldq xmm1, xmm2
movdqa xmm3, xmm1
pshuflw xmm1, xmm1, 0xeb
punpcklqdq xmm3, xmm0
movdqa xmm2, xmm3
pslld xmm3, 0x10
psrld xmm2, 0x10
por xmm3, xmm2
paddd xmm7, xmm3
pshufd xmm2, xmm7, 0x55
movd eax, xmm2
pshufd xmm2, xmm7, 0xee
movd edx, xmm2
pshufd xmm2, xmm7, 0xff
movd esi, xmm2
pshufd xmm2, xmm5, 0x55
movd ecx, xmm2
pshufd xmm2, xmm5, 0xee
movd edi, xmm2
pshufd xmm2, xmm5, 0xff
xor ecx, eax
movd ebp, xmm2
xor edi, edx
movd edx, xmm7
movd xmm6, ecx
movd ecx, xmm3
xor ebp, esi
xor ebx, edx
movd xmm5, edi
movd edx, xmm1
pshuflw xmm1, xmm0, 0xe1
pshuflw xmm0, xmm0, 0xeb
movd xmm2, ebp
movd ebp, xmm0
punpckldq xmm5, xmm2
movd xmm2, ebx
movd ebx, xmm1
punpckldq xmm2, xmm6
punpcklqdq xmm2, xmm5
movdqa xmm5, xmm2
pslld xmm2, 0xc
psrld xmm5, 0x14
por xmm2, xmm5
paddd xmm4, xmm2
pshufd xmm5, xmm4, 0x55
movd eax, xmm5
pshufd xmm5, xmm4, 0xee
movd esi, xmm5
pshufd xmm5, xmm4, 0xff
xor edx, eax
movd edi, xmm5
xor ebx, esi
movd esi, xmm4
movd xmm3, edx
xor ebp, edi
movd xmm1, ebx
xor ecx, esi
movd edi, xmm2
movd xmm0, ebp
punpckldq xmm1, xmm0
movd xmm0, ecx
punpckldq xmm0, xmm3
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm0, 8
psrld xmm1, 0x18
por xmm0, xmm1
paddd xmm7, xmm0
pshufd xmm1, xmm7, 0x55
movd ecx, xmm1
movdqa xmm1, xmm7
punpckhqdq xmm1, xmm2
pshufd xmm3, xmm1, 0x55
movd ebp, xmm1
punpcklqdq xmm1, xmm7
movd eax, xmm3
pshufd xmm3, xmm2, 0xee
movd edx, xmm3
pshufd xmm3, xmm2, 0x55
pshufd xmm2, xmm2, 0xff
movd esi, xmm3
movd ebx, xmm2
xor edx, ebp
xor esi, ecx
movd ecx, xmm7
xor ebx, eax
movd xmm3, edx
movd xmm2, esi
xor edi, ecx
movd xmm5, ebx
movd ebx, xmm0
punpckldq xmm2, xmm3
movd xmm3, edi
punpckldq xmm5, xmm3
punpcklqdq xmm2, xmm5
movdqa xmm3, xmm2
pslld xmm2, 7
psrld xmm3, 0x19
por xmm2, xmm3
paddd xmm4, xmm2
pshufd xmm3, xmm4, 0x55
movd eax, xmm3
pshufd xmm3, xmm4, 0xee
movd edx, xmm3
pshufd xmm3, xmm4, 0xff
xor ebx, eax
movd esi, xmm3
pshufd xmm3, xmm0, 0x93
movd xmm5, ebx
movd ebx, xmm2
movd ecx, xmm3
pshufd xmm3, xmm0, 0x55
pshufd xmm0, xmm0, 0xee
movd edi, xmm3
movd ebp, xmm0
xor edi, edx
xor ebp, esi
movd edx, xmm4
movd xmm3, ebp
movd xmm0, edi
xor ecx, edx
punpckldq xmm0, xmm3
movd xmm3, ecx
punpckldq xmm3, xmm5
movdqa xmm6, xmm3
punpcklqdq xmm6, xmm0
movdqa xmm5, xmm6
pslld xmm6, 0x10
psrld xmm5, 0x10
por xmm6, xmm5
paddd xmm1, xmm6
pshufd xmm5, xmm1, 0x55
movd eax, xmm5
pshufd xmm5, xmm1, 0xee
movd edx, xmm5
pshufd xmm5, xmm1, 0xff
movd esi, xmm5
pshufd xmm5, xmm2, 0x55
movd ecx, xmm5
pshufd xmm5, xmm2, 0xee
pshufd xmm2, xmm2, 0xff
movd edi, xmm5
movd ebp, xmm2
xor ecx, eax
xor edi, edx
xor ebp, esi
movd edx, xmm1
xor ebx, edx
movd xmm2, ebp
movd xmm7, edi
punpckldq xmm7, xmm2
movd xmm2, ecx
movd xmm5, ebx
movd ecx, xmm6
punpckldq xmm5, xmm2
punpcklqdq xmm5, xmm7
movdqa xmm2, xmm5
pslld xmm5, 0xc
psrld xmm2, 0x14
por xmm5, xmm2
paddd xmm4, xmm5
movdqu xmmword [esp + 0x58], xmm5
movdqu xmm5, xmmword [esp + 0x98]
pshufd xmm2, xmm4, 0x55
movdqu xmmword [esp + 0x128], xmm4
movd eax, xmm2
pshufd xmm2, xmm4, 0xee
movd esi, xmm2
pshufd xmm2, xmm4, 0xff
movd edi, xmm2
pshuflw xmm2, xmm3, 0xeb
movd edx, xmm2
pshuflw xmm2, xmm0, 0xe1
pshuflw xmm0, xmm0, 0xeb
movd ebx, xmm2
movd ebp, xmm0
xor edx, eax
xor ebx, esi
movd esi, xmm4
xor ebp, edi
movd xmm3, edx
xor ecx, esi
movd xmm0, ebp
movd xmm2, ebx
movd xmm4, ecx
punpckldq xmm2, xmm0
punpckldq xmm4, xmm3
punpcklqdq xmm4, xmm2
movdqa xmm2, xmm4
pslld xmm4, 8
psrld xmm2, 0x18
por xmm4, xmm2
movdqu xmm2, xmmword [esp + 0xf8]
pshufd xmm0, xmm4, 0x39
paddd xmm4, xmm1
movdqu xmmword [esp + 0xe8], xmm0
movdqu xmmword [esp + 0x168], xmm4
movdqu xmm0, xmmword [esp + 0x138]
movdqu xmm4, xmmword [esp + 0x88]
movd ebx, xmm2
paddd xmm0, xmm4
pshufd xmm1, xmm0, 0x55
movd eax, 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, eax
movd ebp, xmm1
xor edi, edx
movd edx, xmm0
xor ebp, esi
xor ebx, edx
movd xmm1, edi
movd xmm2, ebp
movd xmm3, ebx
movd ebx, xmm4
punpckldq xmm1, xmm2
movd xmm2, ecx
punpckldq xmm3, xmm2
movdqa xmm6, xmm3
pshuflw xmm3, xmm3, 0xeb
punpcklqdq xmm6, xmm1
movdqa xmm2, xmm6
pslld xmm6, 0x10
psrld xmm2, 0x10
por xmm6, xmm2
paddd xmm5, xmm6
pshufd xmm2, xmm5, 0x55
movd eax, xmm2
pshufd xmm2, xmm5, 0xee
movd edx, xmm2
pshufd xmm2, xmm5, 0xff
movd esi, xmm2
pshufd xmm2, xmm4, 0x55
movd ecx, xmm2
pshufd xmm2, xmm4, 0xee
movd edi, xmm2
pshufd xmm2, xmm4, 0xff
xor ecx, eax
movd ebp, xmm2
xor edi, edx
movd edx, xmm5
movd xmm4, ecx
movd ecx, xmm6
xor ebp, esi
xor ebx, edx
movd xmm7, edi
movd edx, xmm3
pshuflw xmm3, xmm1, 0xe1
pshuflw xmm1, xmm1, 0xeb
movd xmm2, ebp
movd ebp, xmm1
punpckldq xmm7, xmm2
movd xmm2, ebx
movd ebx, xmm3
punpckldq xmm2, xmm4
punpcklqdq xmm2, xmm7
movdqa xmm4, xmm2
pslld xmm2, 0xc
psrld xmm4, 0x14
por xmm2, xmm4
paddd xmm0, xmm2
pshufd xmm4, xmm0, 0x55
movd eax, xmm4
pshufd xmm4, xmm0, 0xee
movd esi, xmm4
pshufd xmm4, xmm0, 0xff
xor edx, eax
movd edi, xmm4
xor ebx, esi
movd esi, xmm0
xor ebp, edi
xor ecx, esi
movd xmm4, ebx
movd edi, xmm2
movd xmm1, ebp
movd xmm3, ecx
punpckldq xmm4, xmm1
movd xmm1, edx
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm4
movdqa xmm1, xmm3
pslld xmm3, 8
psrld xmm1, 0x18
por xmm3, xmm1
paddd xmm5, xmm3
pshufd xmm1, xmm5, 0x55
movd ecx, xmm1
movdqa xmm1, xmm5
punpckhqdq xmm1, xmm2
pshufd xmm4, xmm1, 0x55
movd ebp, xmm1
punpcklqdq xmm1, xmm5
movd eax, xmm4
pshufd xmm4, xmm2, 0xee
movd edx, xmm4
pshufd xmm4, xmm2, 0x55
pshufd xmm2, xmm2, 0xff
movd esi, xmm4
movd ebx, xmm2
xor edx, ebp
xor esi, ecx
movd ecx, xmm5
xor ebx, eax
movd xmm4, edx
movd xmm2, esi
xor edi, ecx
movd xmm6, ebx
movd ebx, xmm3
punpckldq xmm2, xmm4
movd xmm4, edi
punpckldq xmm6, xmm4
punpcklqdq xmm2, xmm6
movdqa xmm4, xmm2
pslld xmm2, 7
psrld xmm4, 0x19
por xmm2, xmm4
paddd xmm0, xmm2
pshufd xmm4, xmm0, 0x55
movd eax, xmm4
pshufd xmm4, xmm0, 0xee
movd edx, xmm4
pshufd xmm4, xmm0, 0xff
xor ebx, eax
movd esi, xmm4
pshufd xmm4, xmm3, 0x93
movd ecx, xmm4
pshufd xmm4, xmm3, 0x55
pshufd xmm3, xmm3, 0xee
movd edi, xmm4
movd ebp, xmm3
xor edi, edx
xor ebp, esi
movd edx, xmm0
xor ecx, edx
movd xmm4, ebp
movd xmm3, edi
punpckldq xmm3, xmm4
movd xmm4, ebx
movd xmm6, ecx
movd ebx, xmm2
punpckldq xmm6, xmm4
movdqa xmm7, xmm6
punpcklqdq xmm7, xmm3
movdqa xmm4, xmm7
pslld xmm7, 0x10
psrld xmm4, 0x10
por xmm7, xmm4
paddd xmm1, xmm7
pshufd xmm4, xmm1, 0x55
movd eax, xmm4
pshufd xmm4, xmm1, 0xee
movd edx, xmm4
pshufd xmm4, xmm1, 0xff
movd esi, xmm4
pshufd xmm4, xmm2, 0x55
movd ecx, xmm4
pshufd xmm4, xmm2, 0xee
pshufd xmm2, xmm2, 0xff
movd edi, xmm4
movd ebp, xmm2
xor ecx, eax
xor edi, edx
xor ebp, esi
movd edx, xmm1
movd xmm5, ecx
movd ecx, xmm7
movdqu xmm7, xmmword [esp + 0x168]
movd xmm2, ebp
movd xmm4, edi
xor ebx, edx
punpckldq xmm4, xmm2
movd xmm2, ebx
punpckldq xmm2, xmm5
punpcklqdq xmm2, xmm4
movdqa xmm4, xmm2
pslld xmm2, 0xc
psrld xmm4, 0x14
por xmm2, xmm4
paddd xmm0, xmm2
pshufd xmm4, xmm0, 0x55
movdqu xmmword [esp + 0x138], xmm0
movd eax, xmm4
pshufd xmm4, xmm0, 0xee
movd esi, xmm4
pshufd xmm4, xmm0, 0xff
movd edi, xmm4
pshuflw xmm4, xmm6, 0xeb
movdqu xmm6, xmmword [esp + 0x178]
movd edx, xmm4
pshuflw xmm4, xmm3, 0xe1
pshuflw xmm3, xmm3, 0xeb
movd ebx, xmm4
movd ebp, xmm3
xor edx, eax
xor ebx, esi
xor ebp, edi
movd esi, xmm0
movd xmm5, edx
xor ecx, esi
movd xmm3, ebp
movd xmm4, ebx
movd esi, xmm2
punpckldq xmm4, xmm3
movd xmm3, ecx
punpckldq xmm3, xmm5
movdqu xmm5, xmmword [esp + 0x188]
punpcklqdq xmm3, xmm4
movdqa xmm4, xmm3
pslld xmm3, 8
psrld xmm4, 0x18
por xmm3, xmm4
pshufd xmm0, xmm3, 0x39
paddd xmm3, xmm1
pshufd xmm1, xmm5, 0xee
movdqu xmmword [esp + 0xf8], xmm0
movdqu xmm0, xmmword [esp + 0xa8]
movd dword [esp + 0x98], xmm1
pshufd xmm1, xmm5, 0x55
movd dword [esp + 0x78], xmm1
pshufd xmm1, xmm5, 0xff
movd dword [esp + 0x88], xmm1
pshufd xmm1, xmm0, 0xee
movd dword [esp + 0x40], xmm0
movd ebp, xmm1
pshufd xmm1, xmm0, 0x55
movd eax, xmm1
pshufd xmm1, xmm0, 0xff
movdqu xmm0, xmmword [esp + 0x48]
xor ebp, dword [esp + 0x98]
movd dword [esp + 0x34], xmm1
pshufd xmm1, xmm6, 0xee
xor eax, dword [esp + 0x78]
movd dword [esp + 0xa8], xmm1
pshufd xmm1, xmm6, 0x55
movd dword [esp + 0x44], xmm1
pshufd xmm1, xmm6, 0xff
movd dword [esp + 0x68], xmm1
pshufd xmm1, xmm0, 0xee
movd dword [esp + 0x2c], xmm0
movd dword [esp + 0x38], xmm1
pshufd xmm1, xmm0, 0x55
movd xmm4, eax
mov eax, dword [esp + 0x40]
movd dword [esp + 0x28], xmm1
pshufd xmm1, xmm0, 0xff
movdqu xmm0, xmmword [esp + 0x58]
movd dword [esp + 0x1c], xmm1
pshufd xmm1, xmm7, 0xee
movd dword [esp + 0x3c], xmm1
pshufd xmm1, xmm7, 0x55
movd dword [esp + 0x30], xmm1
pshufd xmm1, xmm7, 0xff
movd dword [esp + 0x48], xmm1
pshufd xmm1, xmm0, 0xee
movd dword [esp + 0x14], xmm0
movd dword [esp + 0x20], xmm1
pshufd xmm1, xmm0, 0x55
movd ebx, xmm1
pshufd xmm1, xmm0, 0xff
movd dword [esp + 0x10], xmm1
pshufd xmm1, xmm3, 0xee
xor ebx, dword [esp + 0x30]
movd dword [esp + 0x24], xmm1
pshufd xmm1, xmm3, 0x55
movd dword [esp + 0x18], xmm1
pshufd xmm1, xmm3, 0xff
movd dword [esp + 0x58], xmm1
pshufd xmm1, xmm2, 0xee
movd edi, xmm1
pshufd xmm1, xmm2, 0x55
movd ecx, xmm1
pshufd xmm1, xmm2, 0xff
xor edi, dword [esp + 0x24]
movd edx, xmm1
movd xmm1, ebp
movd ebp, xmm5
xor ecx, dword [esp + 0x18]
xor eax, ebp
mov ebp, dword [esp + 0x34]
punpckldq xmm4, xmm1
xor edx, dword [esp + 0x58]
movd xmm1, eax
mov eax, dword [esp + 0x38]
xor ebp, dword [esp + 0x88]
xor eax, dword [esp + 0xa8]
movd xmm2, ebp
mov ebp, dword [esp + 0x28]
punpckldq xmm2, xmm1
punpcklqdq xmm2, xmm4
movdqa xmm1, xmm2
pslld xmm2, 7
psrld xmm1, 0x19
xor ebp, dword [esp + 0x44]
por xmm2, xmm1
movd xmm1, eax
mov eax, dword [esp + 0x2c]
movd xmm4, ebp
movd ebp, xmm6
xor eax, ebp
mov ebp, dword [esp + 0x1c]
punpckldq xmm4, xmm1
movd xmm1, eax
mov eax, dword [esp + 0x20]
xor ebp, dword [esp + 0x68]
xor eax, dword [esp + 0x3c]
movd xmm0, ebp
mov ebp, dword [esp + 0x10]
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm4
movd xmm4, ebx
movd ebx, xmm7
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
xor ebp, dword [esp + 0x48]
por xmm0, xmm1
movd xmm1, eax
mov eax, dword [esp + 0x14]
movdqu xmmword [esp + 0x68], xmm0
punpckldq xmm4, xmm1
movd xmm0, ebp
xor eax, ebx
movd xmm1, eax
mov eax, dword [esp + 0xb8]
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm4
movd xmm4, ecx
movd ecx, xmm3
movdqa xmm1, xmm0
pslld xmm0, 7
xor esi, ecx
psrld xmm1, 0x19
dec eax
por xmm0, xmm1
movd xmm1, edi
movdqu xmmword [esp + 0x78], xmm0
punpckldq xmm4, xmm1
movd xmm1, esi
movd xmm0, edx
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm4
pshufd xmm4, xmm7, 0x4e
movdqa xmm1, xmm0
pslld xmm0, 7
movdqu xmmword [esp + 0x58], xmm4
psrld xmm1, 0x19
por xmm0, xmm1
pshufd xmm1, xmm5, 0x4e
pshufd xmm5, xmm6, 0x4e
movdqu xmmword [esp + 0x48], xmm5
pshufd xmm5, xmm3, 0x4e
movdqu xmmword [esp + 0x88], xmm0
jne 0x418200
mov esi, dword [esp]
mov edi, dword [esp + 4]
movdqa xmm6, xmmword [str.expand_32_byte_k]
mov eax, dword [esi + 0x128]
mov edx, edi
movups xmm4, xmmword [esi + 0x128]
mov ecx, eax
mov ebx, eax
add ecx, 4
adc edx, 0
movd xmm0, ecx
mov ecx, eax
movd xmm3, edx
add ecx, 3
mov edx, edi
punpcklqdq xmm3, xmm0
adc edx, 0
add ebx, 2
shufps xmm3, xmm4, 0xe2
movd xmm0, edx
mov edx, edi
movd xmm7, ebx
adc edx, 0
add eax, 1
movups xmmword [esi + 0x128], xmm3
movd xmm3, ecx
punpcklqdq xmm0, xmm3
movd xmm3, edx
adc edi, 0
punpcklqdq xmm3, xmm7
movdqu xmmword [esp + 0xb8], xmm0
movd xmm7, edi
movd xmm0, eax
mov edi, dword [esp + 8]
punpcklqdq xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x108]
shufps xmm3, xmm4, 0xe2
shufps xmm7, xmm4, 0xe2
paddd xmm0, xmm6
movups xmm6, xmmword [esp + 0xb8]
movdqu xmmword [esi], xmm0
movdqu xmm0, xmmword [esp + 0x158]
shufps xmm6, xmm4, 0xe2
paddd xmm2, xmm0
movdqu xmmword [esi + 0x10], xmm2
movdqu xmm2, xmmword [esp + 0x148]
paddd xmm1, xmm2
paddd xmm5, xmm2
movdqu xmmword [esi + 0x20], xmm1
movdqu xmm1, xmmword [esp + 0xd8]
paddd xmm1, xmm4
movdqa xmm4, xmmword [str.expand_32_byte_k]
movdqu xmmword [esi + 0x30], xmm1
movdqu xmm1, xmmword [esp + 0x118]
paddd xmm1, xmm4
movdqu xmmword [esi + 0x40], xmm1
movdqu xmm1, xmmword [esp + 0x68]
paddd xmm1, xmm0
movdqu xmmword [esi + 0x50], xmm1
movdqu xmm1, xmmword [esp + 0x48]
paddd xmm1, xmm2
movdqu xmmword [esi + 0x60], xmm1
movdqu xmm1, xmmword [esp + 0xc8]
paddd xmm1, xmm7
movdqu xmmword [esi + 0x70], xmm1
movdqu xmm1, xmmword [esp + 0x128]
paddd xmm1, xmm4
movdqu xmmword [esi + 0x80], xmm1
movdqu xmm1, xmmword [esp + 0x78]
paddd xmm1, xmm0
movdqu xmmword [esi + 0x90], xmm1
movdqu xmm1, xmmword [esp + 0x58]
paddd xmm1, xmm2
movdqu xmmword [esi + 0xa0], xmm1
movdqu xmm1, xmmword [esp + 0xe8]
paddd xmm1, xmm3
movdqu xmmword [esi + 0xb0], xmm1
movdqu xmm1, xmmword [esp + 0x138]
paddd xmm1, xmm4
movdqu xmmword [esi + 0xc0], xmm1
movdqu xmm1, xmmword [esp + 0x88]
paddd xmm1, xmm0
movdqu xmmword [esi + 0xd0], xmm1
movdqu xmm1, xmmword [esp + 0xf8]
movdqu xmmword [esi + 0xe0], xmm5
paddd xmm1, xmm6
movdqu xmmword [esi + 0xf0], xmm1
mov dword [esi + 0x100], 0
xor esi, esi
mov ebx, dword [esp + 0x1ac]
mov edx, 0x40
sub edx, esi
lea eax, [edx*4]
sub ebx, edi
cmp eax, ebx
cmovb ebx, eax
lea eax, [ebx + 3]
mov ebp, eax
shr ebp, 2
cmp ebp, edx
ja 0x419574
and eax, 0x7ffffffc
cmp ebx, eax
ja 0x419580
mov eax, dword [esp]
mov ecx, dword [esp + 0xc]
lea eax, [eax + esi*4]
add ecx, edi
push ebx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
add esi, ebp
mov eax, dword [esp]
cmp edi, dword [esp + 0x1ac]
mov dword [eax + 0x100], esi
jb 0x418100
add esp, 0x198
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, ebp
push 0x54b390
call fcn.00532d00
mov ecx, ebx
mov edx, eax
push 0x54b3a0
call fcn.00532d00
int3