Function at 0x5221e0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x478
mov eax, dword [0x6b5a34]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebx + 8]
push edi
lea edi, [ebp - 0x410]
sub edx, ecx
sub esi, ecx
sub edi, ecx
mov eax, ecx
mov dword [ebp - 0x454], edi
mov dword [ebp - 0x458], 0x40
lea esp, [esp]
movdqu xmm1, xmmword [edx + eax]
movdqa xmm0, xmmword [eax]
mov edi, dword [ebp - 0x454]
pxor xmm0, xmm1
movdqa xmmword [eax], xmm0
movdqu xmm1, xmmword [esi + eax]
pxor xmm0, xmm1
movdqa xmmword [edi + eax], xmm0
add eax, 0x10
dec dword [ebp - 0x458]
jne 0x522230
movdqa xmm2, xmmword [0x6751b0]
movdqa xmm3, xmmword [0x6751c0]
lea eax, [ecx + 0x20]
mov edx, 8
jmp 0x522280
movdqa xmm1, xmmword [eax]
movdqa xmm6, xmmword [eax - 0x20]
movdqa xmm4, xmmword [eax - 0x10]
movdqa xmm5, xmmword [eax + 0x50]
movdqa xmm7, xmmword [eax + 0x20]
movdqa xmm0, xmm6
pmuludq xmm0, xmm1
paddq xmm6, xmm1
movdqa xmm1, xmmword [eax + 0x10]
paddq xmm0, xmm0
paddq xmm6, xmm0
movdqa xmm0, xmm4
pmuludq xmm0, xmm1
paddq xmm4, xmm1
paddq xmm0, xmm0
paddq xmm0, xmm4
movdqa xmm4, xmmword [eax + 0x40]
pxor xmm5, xmm0
movdqa xmmword [ebp - 0x420], xmm0
movdqa xmm0, xmm7
pxor xmm4, xmm6
pshufd xmm5, xmm5, 0xb1
pshufd xmm4, xmm4, 0xb1
pmuludq xmm0, xmm4
paddq xmm7, xmm4
paddq xmm0, xmm0
paddq xmm7, xmm0
movdqa xmmword [ebp - 0x430], xmm7
movdqa xmm7, xmmword [eax + 0x30]
movdqa xmm0, xmm7
pmuludq xmm0, xmm5
paddq xmm7, xmm5
paddq xmm0, xmm0
paddq xmm7, xmm0
movdqa xmm0, xmmword [eax]
pxor xmm0, xmmword [ebp - 0x430]
movdqa xmmword [ebp - 0x470], xmm7
pxor xmm1, xmmword [ebp - 0x470]
pshufb xmm1, xmm2
movdqa xmm7, xmm1
pshufb xmm0, xmm2
movdqa xmm1, xmm6
pmuludq xmm1, xmm0
paddq xmm1, xmm1
paddq xmm6, xmm0
paddq xmm6, xmm1
movdqa xmm1, xmmword [ebp - 0x420]
pmuludq xmm1, xmm7
movdqa xmmword [ebp - 0x450], xmm1
movdqa xmm1, xmmword [ebp - 0x420]
paddq xmm1, xmm7
movdqa xmmword [ebp - 0x440], xmm7
movdqa xmm7, xmmword [ebp - 0x450]
paddq xmm7, xmm7
paddq xmm7, xmm1
pxor xmm5, xmm7
pshufb xmm5, xmm3
movdqa xmmword [ebp - 0x420], xmm5
movdqa xmm5, xmmword [ebp - 0x430]
movdqa xmm1, xmm5
pxor xmm4, xmm6
pshufb xmm4, xmm3
pmuludq xmm1, xmm4
paddq xmm1, xmm1
paddq xmm5, xmm4
paddq xmm5, xmm1
movdqa xmm1, xmmword [ebp - 0x470]
movdqa xmmword [ebp - 0x430], xmm5
movdqa xmm5, xmmword [ebp - 0x420]
pxor xmm0, xmmword [ebp - 0x430]
pmuludq xmm1, xmm5
movdqa xmmword [ebp - 0x450], xmm1
movdqa xmm1, xmmword [ebp - 0x470]
paddq xmm1, xmm5
movdqa xmm5, xmmword [ebp - 0x450]
paddq xmm5, xmm5
paddq xmm1, xmm5
movdqa xmm5, xmmword [ebp - 0x440]
movdqa xmmword [ebp - 0x450], xmm1
pxor xmm5, xmm1
movdqa xmm1, xmm0
psrlq xmm1, 0x3f
paddq xmm0, xmm0
pxor xmm1, xmm0
movdqa xmmword [ebp - 0x440], xmm1
movdqa xmm1, xmm5
psrlq xmm1, 0x3f
paddq xmm5, xmm5
pxor xmm1, xmm5
movdqa xmm5, xmmword [ebp - 0x440]
movdqa xmm0, xmm5
palignr xmm0, xmm1, 8
palignr xmm1, xmm5, 8
movdqa xmmword [ebp - 0x440], xmm1
movdqa xmmword [eax], xmm1
movdqa xmm1, xmmword [ebp - 0x420]
movdqa xmm5, xmm1
palignr xmm5, xmm4, 8
palignr xmm4, xmm1, 8
movdqa xmm1, xmmword [ebp - 0x440]
movdqa xmmword [eax + 0x40], xmm4
movdqa xmm4, xmm6
paddq xmm6, xmm1
pmuludq xmm4, xmm1
movdqa xmm1, xmm7
pmuludq xmm1, xmm0
paddq xmm7, xmm0
paddq xmm1, xmm1
paddq xmm7, xmm1
movdqa xmm1, xmmword [eax + 0x40]
pxor xmm5, xmm7
movdqa xmmword [ebp - 0x440], xmm7
movdqa xmm7, xmmword [ebp - 0x450]
paddq xmm4, xmm4
paddq xmm6, xmm4
pxor xmm1, xmm6
pshufd xmm4, xmm1, 0xb1
movdqa xmm1, xmm7
pmuludq xmm1, xmm4
paddq xmm7, xmm4
paddq xmm1, xmm1
paddq xmm7, xmm1
movdqa xmmword [ebp - 0x420], xmm7
movdqa xmm7, xmmword [ebp - 0x430]
pshufd xmm5, xmm5, 0xb1
movdqa xmm1, xmm7
pmuludq xmm1, xmm5
paddq xmm7, xmm5
paddq xmm1, xmm1
paddq xmm7, xmm1
movdqa xmm1, xmmword [eax]
pxor xmm1, xmmword [ebp - 0x420]
movdqa xmmword [ebp - 0x430], xmm7
pxor xmm0, xmmword [ebp - 0x430]
pshufb xmm0, xmm2
movdqa xmm7, xmm0
movdqa xmm0, xmm6
pshufb xmm1, xmm2
pmuludq xmm0, xmm1
paddq xmm6, xmm1
paddq xmm0, xmm0
paddq xmm6, xmm0
movdqa xmmword [ebp - 0x450], xmm6
pxor xmm4, xmmword [ebp - 0x450]
movdqa xmmword [eax - 0x20], xmm6
movdqa xmm6, xmmword [ebp - 0x440]
movdqa xmm0, xmm6
pmuludq xmm0, xmm7
paddq xmm6, xmm7
paddq xmm0, xmm0
paddq xmm6, xmm0
pxor xmm5, xmm6
movdqa xmmword [eax - 0x10], xmm6
movdqa xmm6, xmmword [ebp - 0x420]
movdqa xmm0, xmm6
pshufb xmm4, xmm3
pmuludq xmm0, xmm4
paddq xmm6, xmm4
paddq xmm0, xmm0
paddq xmm6, xmm0
pshufb xmm5, xmm3
movdqa xmmword [ebp - 0x420], xmm6
movdqa xmm6, xmmword [ebp - 0x430]
pxor xmm1, xmmword [ebp - 0x420]
movdqa xmm0, xmm6
pmuludq xmm0, xmm5
paddq xmm0, xmm0
paddq xmm6, xmm5
paddq xmm6, xmm0
movdqa xmm0, xmm1
psrlq xmm0, 0x3f
paddq xmm1, xmm1
pxor xmm0, xmm1
pxor xmm7, xmm6
movdqa xmm1, xmm7
paddq xmm7, xmm7
psrlq xmm1, 0x3f
pxor xmm1, xmm7
movdqa xmm7, xmm1
palignr xmm7, xmm0, 8
palignr xmm0, xmm1, 8
movdqa xmmword [eax], xmm0
movdqa xmm0, xmmword [ebp - 0x420]
movdqa xmmword [eax + 0x30], xmm0
movdqa xmm0, xmm4
palignr xmm0, xmm5, 8
palignr xmm5, xmm4, 8
movdqa xmmword [eax + 0x10], xmm7
movdqa xmmword [eax + 0x20], xmm6
movdqa xmmword [eax + 0x40], xmm5
movdqa xmmword [eax + 0x50], xmm0
sub eax, 0xffffff80
dec edx
jne 0x522280
lea eax, [ecx + 0x100]
mov edx, 8
jmp 0x522670
movdqa xmm1, xmmword [eax]
movdqa xmm6, xmmword [eax - 0x100]
movdqa xmm4, xmmword [eax - 0x80]
movdqa xmm5, xmmword [eax + 0x280]
movdqa xmm7, xmmword [eax + 0x100]
movdqa xmm0, xmm6
pmuludq xmm0, xmm1
paddq xmm6, xmm1
movdqa xmm1, xmmword [eax + 0x80]
paddq xmm0, xmm0
paddq xmm6, xmm0
movdqa xmm0, xmm4
pmuludq xmm0, xmm1
paddq xmm4, xmm1
paddq xmm0, xmm0
paddq xmm0, xmm4
movdqa xmm4, xmmword [eax + 0x200]
pxor xmm5, xmm0
movdqa xmmword [ebp - 0x430], xmm0
movdqa xmm0, xmm7
pxor xmm4, xmm6
pshufd xmm5, xmm5, 0xb1
pshufd xmm4, xmm4, 0xb1
pmuludq xmm0, xmm4
paddq xmm7, xmm4
paddq xmm0, xmm0
paddq xmm7, xmm0
movdqa xmmword [ebp - 0x420], xmm7
movdqa xmm7, xmmword [eax + 0x180]
movdqa xmm0, xmm7
pmuludq xmm0, xmm5
paddq xmm7, xmm5
paddq xmm0, xmm0
paddq xmm7, xmm0
movdqa xmm0, xmmword [eax]
pxor xmm0, xmmword [ebp - 0x420]
movdqa xmmword [ebp - 0x470], xmm7
pxor xmm1, xmmword [ebp - 0x470]
pshufb xmm1, xmm2
movdqa xmm7, xmm1
pshufb xmm0, xmm2
movdqa xmm1, xmm6
pmuludq xmm1, xmm0
paddq xmm1, xmm1
paddq xmm6, xmm0
paddq xmm6, xmm1
movdqa xmm1, xmmword [ebp - 0x430]
pmuludq xmm1, xmm7
movdqa xmmword [ebp - 0x440], xmm1
movdqa xmm1, xmmword [ebp - 0x430]
paddq xmm1, xmm7
movdqa xmmword [ebp - 0x450], xmm7
movdqa xmm7, xmmword [ebp - 0x440]
paddq xmm7, xmm7
paddq xmm7, xmm1
pxor xmm5, xmm7
pshufb xmm5, xmm3
movdqa xmmword [ebp - 0x430], xmm5
movdqa xmm5, xmmword [ebp - 0x420]
movdqa xmm1, xmm5
pxor xmm4, xmm6
pshufb xmm4, xmm3
pmuludq xmm1, xmm4
paddq xmm1, xmm1
paddq xmm5, xmm4
paddq xmm5, xmm1
movdqa xmm1, xmmword [ebp - 0x470]
movdqa xmmword [ebp - 0x420], xmm5
movdqa xmm5, xmmword [ebp - 0x430]
pxor xmm0, xmmword [ebp - 0x420]
pmuludq xmm1, xmm5
movdqa xmmword [ebp - 0x440], xmm1
movdqa xmm1, xmmword [ebp - 0x470]
paddq xmm1, xmm5
movdqa xmm5, xmmword [ebp - 0x440]
paddq xmm5, xmm5
paddq xmm1, xmm5
movdqa xmm5, xmmword [ebp - 0x450]
movdqa xmmword [ebp - 0x470], xmm1
pxor xmm5, xmm1
movdqa xmm1, xmm0
psrlq xmm1, 0x3f
paddq xmm0, xmm0
pxor xmm1, xmm0
movdqa xmmword [ebp - 0x440], xmm1
movdqa xmm1, xmm5
psrlq xmm1, 0x3f
paddq xmm5, xmm5
pxor xmm1, xmm5
movdqa xmm5, xmmword [ebp - 0x440]
movdqa xmm0, xmm5
palignr xmm0, xmm1, 8
palignr xmm1, xmm5, 8
movdqa xmmword [ebp - 0x440], xmm1
movdqa xmmword [eax], xmm1
movdqa xmm1, xmmword [ebp - 0x430]
movdqa xmm5, xmm1
palignr xmm5, xmm4, 8
palignr xmm4, xmm1, 8
movdqa xmm1, xmmword [ebp - 0x440]
movdqa xmmword [eax + 0x200], xmm4
movdqa xmm4, xmm6
paddq xmm6, xmm1
pmuludq xmm4, xmm1
movdqa xmm1, xmm7
pmuludq xmm1, xmm0
paddq xmm7, xmm0
paddq xmm1, xmm1
paddq xmm7, xmm1
movdqa xmm1, xmmword [eax + 0x200]
pxor xmm5, xmm7
movdqa xmmword [ebp - 0x440], xmm7
movdqa xmm7, xmmword [ebp - 0x470]
paddq xmm4, xmm4
paddq xmm6, xmm4
pxor xmm1, xmm6
pshufd xmm4, xmm1, 0xb1
movdqa xmm1, xmm7
pmuludq xmm1, xmm4
paddq xmm7, xmm4
paddq xmm1, xmm1
paddq xmm7, xmm1
movdqa xmmword [ebp - 0x430], xmm7
movdqa xmm7, xmmword [ebp - 0x420]
pshufd xmm5, xmm5, 0xb1
movdqa xmm1, xmm7
pmuludq xmm1, xmm5
paddq xmm7, xmm5
paddq xmm1, xmm1
paddq xmm7, xmm1
movdqa xmm1, xmmword [eax]
pxor xmm1, xmmword [ebp - 0x430]
movdqa xmmword [ebp - 0x420], xmm7
pxor xmm0, xmmword [ebp - 0x420]
pshufb xmm0, xmm2
movdqa xmm7, xmm0
movdqa xmm0, xmm6
pshufb xmm1, xmm2
pmuludq xmm0, xmm1
paddq xmm6, xmm1
paddq xmm0, xmm0
paddq xmm6, xmm0
movdqa xmmword [ebp - 0x450], xmm6
pxor xmm4, xmmword [ebp - 0x450]
movdqa xmmword [eax - 0x100], xmm6
movdqa xmm6, xmmword [ebp - 0x440]
movdqa xmm0, xmm6
pmuludq xmm0, xmm7
paddq xmm6, xmm7
paddq xmm0, xmm0
paddq xmm6, xmm0
pxor xmm5, xmm6
movdqa xmmword [eax - 0x80], xmm6
movdqa xmm6, xmmword [ebp - 0x430]
movdqa xmm0, xmm6
pshufb xmm4, xmm3
pmuludq xmm0, xmm4
paddq xmm6, xmm4
paddq xmm0, xmm0
paddq xmm6, xmm0
pshufb xmm5, xmm3
movdqa xmmword [ebp - 0x430], xmm6
movdqa xmm6, xmmword [ebp - 0x420]
pxor xmm1, xmmword [ebp - 0x430]
movdqa xmm0, xmm6
pmuludq xmm0, xmm5
paddq xmm0, xmm0
paddq xmm6, xmm5
paddq xmm6, xmm0
movdqa xmm0, xmm1
psrlq xmm0, 0x3f
paddq xmm1, xmm1
pxor xmm0, xmm1
pxor xmm7, xmm6
movdqa xmm1, xmm7
paddq xmm7, xmm7
psrlq xmm1, 0x3f
pxor xmm1, xmm7
movdqa xmm7, xmm1
palignr xmm7, xmm0, 8
palignr xmm0, xmm1, 8
movdqa xmmword [eax], xmm0
movdqa xmm0, xmmword [ebp - 0x430]
movdqa xmmword [eax + 0x180], xmm0
movdqa xmm0, xmm4
palignr xmm0, xmm5, 8
palignr xmm5, xmm4, 8
movdqa xmmword [eax + 0x80], xmm7
movdqa xmmword [eax + 0x100], xmm6
movdqa xmmword [eax + 0x200], xmm5
movdqa xmmword [eax + 0x280], xmm0
add eax, 0x10
dec edx
jne 0x522670
mov eax, ecx
lea ecx, [edx + 0x40]
mov edx, edi
jmp 0x522a80
movdqa xmm0, xmmword [eax]
movdqa xmm1, xmmword [eax + edx]
pxor xmm0, xmm1
movdqa xmmword [eax], xmm0
movdqu xmmword [eax + esi], xmm0
add eax, 0x10
dec ecx
jne 0x522a80
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00531415
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret