Function at 0x51eab0
Capabilities:
Encode data using xor

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