Function at 0x528ee0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x1c0
vmovups xmmword [rsp + 0x120], xmm6
vmovups xmmword [rsp + 0x130], xmm7
vmovups xmmword [rsp + 0x140], xmm8
vmovups xmmword [rsp + 0x150], xmm9
vmovups xmmword [rsp + 0x160], xmm10
vmovups xmmword [rsp + 0x170], xmm11
vmovups xmmword [rsp + 0x180], xmm12
vmovups xmmword [rsp + 0x190], xmm13
vmovups xmmword [rsp + 0x1a0], xmm14
vmovups xmmword [rsp + 0x1b0], xmm15
vmovdqu xmm2, xmmword [rcx + 0x1080]
vmovdqu xmm7, xmmword [rcx + 0x10a0]
vmovdqu xmm15, xmmword [rcx + 0x1110]
vmovdqu xmm0, xmmword [rcx + 0x1180]
mov r11d, dword [rcx + 0x1194]
mov r9, rcx
lea rbx, [r8 - 1]
vmovdqu xmmword [rsp], xmm2
vmovdqu xmm2, xmmword [rcx + 0x1090]
vmovdqu xmmword [rsp + 0x100], xmm7
vmovdqu xmm7, xmmword [rcx + 0x10c0]
vmovdqu xmmword [rsp + 0xf0], xmm2
vmovdqu xmm2, xmmword [rcx + 0x10b0]
vmovdqu xmmword [rsp + 0x20], xmm7
vmovdqu xmm7, xmmword [rcx + 0x10e0]
vmovdqu xmmword [rsp + 0x10], xmm2
vmovdqu xmm2, xmmword [rcx + 0x10d0]
vmovdqu xmmword [rsp + 0x40], xmm7
vmovdqu xmm7, xmmword [rcx + 0x1100]
vmovdqu xmmword [rsp + 0x30], xmm2
vmovdqu xmm2, xmmword [rcx + 0x10f0]
vmovdqu xmmword [rsp + 0x60], xmm7
vmovdqu xmm7, xmmword [rcx + 0x1130]
vmovdqu xmmword [rsp + 0x50], xmm2
vmovdqu xmm2, xmmword [rcx + 0x1120]
vmovdqu xmmword [rsp + 0x80], xmm7
vmovdqu xmm7, xmmword [rcx + 0x1150]
vmovdqu xmmword [rsp + 0x70], xmm2
vmovdqu xmm2, xmmword [rcx + 0x1140]
vmovdqu xmmword [rsp + 0xa0], xmm7
vmovdqu xmmword [rsp + 0x90], xmm2
vmovdqu xmm2, xmmword [rcx + 0x1160]
vmovdqu xmmword [rsp + 0xb0], xmm2
vmovdqu xmm2, xmmword [rcx + 0x1170]
test r8, r8
je 0x5295e6
mov eax, 1
vmovd xmm1, eax
vpshufd xmm7, xmm1, 0
vmovdqu xmmword [rsp + 0x110], xmm7
vpcmpeqq xmm14, xmm14, xmm14
nop word cs:[rax + rax]
nop dword [rax]
lea r10d, [r11 - 8]
mov r8d, r11d
lea r11d, [r11 - 1]
sub rdx, 0xffffffffffffff80
and r11d, 0x1f
and r10d, 0x1f
mov eax, r11d
shl r10, 7
shl rax, 7
lea rcx, [r9 + r10]
add rax, r9
vmovdqu xmm1, xmmword [rax + 0xa0]
vpxor xmm3, xmm1, xmmword [r9 + r10 + 0x80]
vmovdqu xmmword [rcx + 0x80], xmm3
vpxor xmm1, xmm1, xmmword [rdx - 0x60]
vmovdqu xmmword [rax + 0xa0], xmm1
vmovdqu xmm1, xmmword [rax + 0xb0]
vpxor xmm3, xmm1, xmmword [rcx + 0x90]
vmovdqu xmmword [rcx + 0x90], xmm3
vpxor xmm1, xmm1, xmmword [rdx - 0x50]
vmovdqu xmmword [rax + 0xb0], xmm1
vmovdqu xmm1, xmmword [rax + 0xc0]
vpxor xmm3, xmm1, xmmword [rcx + 0xa0]
vmovdqu xmmword [rcx + 0xa0], xmm3
vpxor xmm1, xmm1, xmmword [rdx - 0x40]
vmovdqu xmmword [rax + 0xc0], xmm1
vmovdqu xmm1, xmmword [rax + 0xd0]
vpxor xmm3, xmm1, xmmword [rcx + 0xb0]
vmovdqu xmmword [rcx + 0xb0], xmm3
vpxor xmm1, xmm1, xmmword [rdx - 0x30]
vmovdqu xmmword [rax + 0xd0], xmm1
vmovdqu xmm1, xmmword [rax + 0xe0]
vpxor xmm3, xmm1, xmmword [rcx + 0xc0]
vmovdqu xmmword [rcx + 0xc0], xmm3
vpxor xmm1, xmm1, xmmword [rdx - 0x20]
vmovdqu xmmword [rax + 0xe0], xmm1
vmovdqu xmm1, xmmword [rax + 0xf0]
vpxor xmm3, xmm1, xmmword [rcx + 0xd0]
vmovdqu xmmword [rcx + 0xd0], xmm3
vpxor xmm1, xmm1, xmmword [rdx - 0x10]
vmovdqu xmmword [rax + 0xf0], xmm1
vmovdqu xmm1, xmmword [rax + 0x80]
vpxor xmm3, xmm1, xmmword [rcx + 0xe0]
vmovdqu xmmword [rcx + 0xe0], xmm3
vpxor xmm1, xmm1, xmmword [rdx - 0x80]
vmovdqu xmm4, xmmword [rsp + 0x100]
vmovdqu xmm5, xmmword [rsp + 0xf0]
vmovdqu xmm6, xmmword [rsp]
vmovdqu xmm8, xmmword [rsp + 0x60]
vpxor xmm10, xmm14, xmmword [rsp + 0x70]
vpxor xmm11, xmm14, xmmword [rsp + 0x10]
vpxor xmm13, xmm14, xmmword [rsp + 0x40]
vpxor xmm12, xmm14, xmmword [rsp + 0xa0]
vpor xmm13, xmm13, xmmword [rsp + 0x30]
vpor xmm12, xmm12, xmmword [rsp + 0x90]
vpxor xmm13, xmm13, xmmword [rsp + 0x20]
vpxor xmm12, xmm12, xmmword [rsp + 0x80]
vmovdqu xmmword [rax + 0x80], xmm1
vmovdqu xmm1, xmmword [rax + 0x90]
vpxor xmm3, xmm1, xmmword [rcx + 0xf0]
vpor xmm10, xmm10, xmm15
vpor xmm11, xmm11, xmm4
vpxor xmm10, xmm10, xmm8
vpxor xmm11, xmm11, xmm5
vmovdqu xmmword [rcx + 0xf0], xmm3
vpxor xmm1, xmm1, xmmword [rdx - 0x70]
vmovdqu xmmword [rax + 0x90], xmm1
vpxor xmm1, xmm14, xmm4
mov eax, r8d
vpor xmm1, xmm1, xmm5
xor eax, 0x10
vpxor xmm7, xmm1, xmm6
vpxor xmm1, xmm14, xmm15
mov rcx, rax
vmovdqu xmmword [rsp + 0xe0], xmm7
vmovdqu xmm7, xmmword [rsp + 0x50]
vpor xmm1, xmm1, xmm8
shl rcx, 7
vpxor xmm1, xmm1, xmm7
vpxor xmm8, xmm14, xmm7
vpxor xmm7, xmm14, xmmword [rsp + 0xb0]
vpor xmm8, xmm8, xmmword [rsp + 0x40]
vpsrld xmm3, xmm1, 0x1f
vpslld xmm1, xmm1, 1
vpor xmm3, xmm1, xmm3
vpxor xmm1, xmm14, xmm0
vpor xmm1, xmm1, xmm2
vpxor xmm1, xmm1, xmmword [rsp + 0xb0]
vmovdqu xmmword [rsp + 0xd0], xmm3
vpor xmm7, xmm7, xmmword [rsp + 0xa0]
vpxor xmm8, xmm8, xmmword [rsp + 0x30]
vpxor xmm7, xmm7, xmmword [rsp + 0x90]
vpsrld xmm3, xmm1, 0x1d
vpslld xmm1, xmm1, 3
vpor xmm9, xmm1, xmm3
vmovdqu xmm3, xmm5
vmovdqu xmmword [rsp + 0xc0], xmm9
vpxor xmm5, xmm14, xmmword [rsp + 0x80]
vpxor xmm9, xmm14, xmm6
vpxor xmm6, xmm14, xmmword [rsp + 0x20]
vpor xmm6, xmm6, xmmword [rsp + 0x10]
vpor xmm9, xmm9, xmm0
vpsrld xmm1, xmm13, 0x1a
vpslld xmm13, xmm13, 6
vpor xmm5, xmm5, xmmword [rsp + 0x70]
vpxor xmm9, xmm9, xmm2
vpor xmm13, xmm13, xmm1
vpsrld xmm1, xmm12, 0x16
vpslld xmm12, xmm12, 0xa
vpor xmm12, xmm12, xmm1
vpsrld xmm1, xmm11, 0x11
vpslld xmm11, xmm11, 0xf
vpor xmm11, xmm11, xmm1
vpsrld xmm1, xmm10, 0xb
vpslld xmm10, xmm10, 0x15
vpor xmm10, xmm10, xmm1
vpsrld xmm1, xmm9, 4
vpslld xmm9, xmm9, 0x1c
vpor xmm9, xmm9, xmm1
vpsrld xmm1, xmm8, 0x1c
vpslld xmm8, xmm8, 4
vpor xmm8, xmm8, xmm1
vpsrld xmm1, xmm7, 0x13
vpslld xmm7, xmm7, 0xd
vpor xmm7, xmm7, xmm1
vpxor xmm2, xmm14, xmm2
vpor xmm2, xmm2, xmmword [rsp + 0xb0]
vpxor xmm6, xmm6, xmm4
vpxor xmm15, xmm5, xmm15
vpsrld xmm1, xmm6, 9
vpslld xmm6, xmm6, 0x17
vpor xmm6, xmm6, xmm1
vpsrld xmm1, xmm15, 0x1e
vpslld xmm15, xmm15, 2
vpor xmm5, xmm15, xmm1
vpxor xmm15, xmm14, xmm3
vpor xmm15, xmm15, xmmword [rsp]
vpxor xmm0, xmm15, xmm0
vpxor xmm15, xmm14, xmmword [rsp + 0x30]
vpsrld xmm3, xmm0, 0x12
vpslld xmm0, xmm0, 0xe
vpor xmm4, xmm0, xmm3
vpxor xmm3, xmm14, xmmword [rsp + 0x60]
vpor xmm3, xmm3, xmmword [rsp + 0x50]
vpor xmm15, xmm15, xmmword [rsp + 0x20]
vpxor xmm3, xmm3, xmmword [rsp + 0x40]
vpxor xmm15, xmm15, xmmword [rsp + 0x10]
vpsrld xmm0, xmm3, 5
vpslld xmm3, xmm3, 0x1b
vpor xmm3, xmm3, xmm0
vpxor xmm0, xmm2, xmmword [rsp + 0xa0]
vpsrld xmm1, xmm15, 8
vpslld xmm15, xmm15, 0x18
vpsrld xmm2, xmm0, 0x17
vpslld xmm0, xmm0, 9
vpor xmm2, xmm0, xmm2
vpor xmm0, xmm15, xmm1
vpxor xmm1, xmm14, xmmword [rsp + 0x90]
vpor xmm1, xmm1, xmmword [rsp + 0x80]
vpxor xmm1, xmm1, xmmword [rsp + 0x70]
vpsrld xmm15, xmm1, 0x18
vpslld xmm1, xmm1, 8
vpor xmm1, xmm1, xmm15
vpxor xmm15, xmm12, xmmword [rsp + 0xd0]
vpxor xmm15, xmm15, xmmword [rsp + 0x110]
vpxor xmm15, xmm15, xmmword [rsp + 0xe0]
vmovdqu xmmword [rsp], xmm15
vmovdqu xmm15, xmmword [rsp + 0xd0]
vpxor xmm15, xmm15, xmmword [rsp + 0xc0]
vpxor xmm15, xmm15, xmm11
vpxor xmm15, xmm15, xmmword [rdx - 0x80]
vmovdqu xmmword [rsp + 0xf0], xmm15
vpxor xmm15, xmm13, xmmword [rsp + 0xc0]
vpxor xmm15, xmm15, xmm10
vpxor xmm15, xmm15, xmmword [rdx - 0x70]
vmovdqu xmmword [rsp + 0x100], xmm15
vpxor xmm15, xmm12, xmm13
vpxor xmm12, xmm11, xmm12
vpxor xmm11, xmm10, xmm11
vpxor xmm15, xmm15, xmm9
vpxor xmm10, xmm9, xmm10
vpxor xmm15, xmm15, xmmword [rdx - 0x60]
vpxor xmm12, xmm12, xmm8
vpxor xmm11, xmm11, xmm7
vpxor xmm12, xmm12, xmmword [rdx - 0x50]
vpxor xmm11, xmm11, xmmword [rdx - 0x40]
vpxor xmm10, xmm10, xmm6
vpxor xmm10, xmm10, xmmword [rdx - 0x30]
vpxor xmm9, xmm8, xmm9
vpxor xmm8, xmm7, xmm8
vpxor xmm9, xmm9, xmm5
vpxor xmm8, xmm8, xmm4
vmovdqu xmmword [rsp + 0x10], xmm15
vpxor xmm15, xmm6, xmm7
vpxor xmm6, xmm5, xmm6
vpxor xmm5, xmm4, xmm5
vpxor xmm15, xmm15, xmm3
vpxor xmm6, xmm6, xmm2
vpxor xmm4, xmm3, xmm4
vmovdqu xmmword [rsp + 0x20], xmm12
vmovdqu xmmword [rsp + 0x40], xmm10
vpxor xmm3, xmm2, xmm3
vmovdqu xmmword [rsp + 0x30], xmm11
vpxor xmm12, xmm9, xmmword [rdx - 0x20]
vpxor xmm4, xmm4, xmm1
vpxor xmm5, xmm5, xmm0
vpxor xmm2, xmm2, xmmword [rsp + 0xd0]
vpxor xmm6, xmm6, xmmword [r9 + rcx + 0x90]
vpxor xmm4, xmm4, xmmword [r9 + rcx + 0xb0]
vmovdqu xmm7, xmmword [rsp + 0xe0]
vpxor xmm3, xmm3, xmmword [r9 + rcx + 0xc0]
vpxor xmm10, xmm8, xmmword [rdx - 0x10]
sub rbx, 1
vpxor xmm15, xmm15, xmmword [rcx + r9 + 0x80]
vmovdqu xmmword [rsp + 0x50], xmm12
vpxor xmm2, xmm2, xmm0
vpxor xmm2, xmm2, xmmword [r9 + rcx + 0xd0]
vmovdqu xmmword [rsp + 0x70], xmm6
vpxor xmm6, xmm5, xmmword [r9 + rcx + 0xa0]
vmovdqu xmmword [rsp + 0x90], xmm4
vpxor xmm4, xmm3, xmm7
vmovdqu xmmword [rsp + 0x60], xmm10
vmovdqu xmmword [rsp + 0xa0], xmm4
vmovdqu xmmword [rsp + 0xb0], xmm2
vpxor xmm2, xmm0, xmmword [rsp + 0xc0]
vpxor xmm0, xmm1, xmm13
vpxor xmm0, xmm0, xmmword [r9 + rcx + 0xf0]
vmovdqu xmmword [rsp + 0x80], xmm6
vpxor xmm2, xmm2, xmm1
vpxor xmm0, xmm0, xmm7
vpxor xmm2, xmm2, xmmword [r9 + rcx + 0xe0]
jae 0x529070
vmovdqu xmm7, xmmword [rsp]
vmovdqu xmm5, xmmword [rsp + 0x90]
vmovdqu xmmword [r9 + 0x1110], xmm15
vmovdqu xmmword [r9 + 0x1170], xmm2
vmovdqu xmmword [r9 + 0x1180], xmm0
mov dword [r9 + 0x1194], r11d
vmovdqu xmmword [r9 + 0x1080], xmm7
vmovdqu xmm7, xmmword [rsp + 0xf0]
vmovdqu xmmword [r9 + 0x1140], xmm5
vmovdqu xmm5, xmmword [rsp + 0xb0]
vmovdqu xmmword [r9 + 0x1090], xmm7
vmovdqu xmm7, xmmword [rsp + 0x100]
vmovdqu xmmword [r9 + 0x1160], xmm5
vmovdqu xmmword [r9 + 0x10a0], xmm7
vmovdqu xmm7, xmmword [rsp + 0x10]
vmovdqu xmmword [r9 + 0x10b0], xmm7
vmovdqu xmm7, xmmword [rsp + 0x20]
vmovdqu xmmword [r9 + 0x10c0], xmm7
vmovdqu xmm7, xmmword [rsp + 0x30]
vmovdqu xmmword [r9 + 0x10d0], xmm7
vmovdqu xmm7, xmmword [rsp + 0x40]
vmovdqu xmmword [r9 + 0x10e0], xmm7
vmovdqu xmm7, xmmword [rsp + 0x50]
vmovdqu xmmword [r9 + 0x10f0], xmm7
vmovdqu xmm7, xmmword [rsp + 0x60]
vmovdqu xmmword [r9 + 0x1100], xmm7
vmovdqu xmm7, xmmword [rsp + 0x70]
vmovdqu xmmword [r9 + 0x1120], xmm7
vmovdqu xmm7, xmmword [rsp + 0x80]
vmovdqu xmmword [r9 + 0x1130], xmm7
vmovdqu xmm7, xmmword [rsp + 0xa0]
vmovdqu xmmword [r9 + 0x1150], xmm7
vmovups xmm6, xmmword [rsp + 0x120]
vmovups xmm7, xmmword [rsp + 0x130]
vmovups xmm8, xmmword [rsp + 0x140]
vmovups xmm9, xmmword [rsp + 0x150]
vmovups xmm10, xmmword [rsp + 0x160]
vmovups xmm11, xmmword [rsp + 0x170]
vmovups xmm12, xmmword [rsp + 0x180]
vmovups xmm13, xmmword [rsp + 0x190]
vmovups xmm14, xmmword [rsp + 0x1a0]
vmovups xmm15, xmmword [rsp + 0x1b0]
add rsp, 0x1c0
pop rbx
ret