Function at 0x52a1f0
Capabilities:
Encode data using xor

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