Function at 0x140053960
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push r12
push r14
sub rsp, 0xb8
mov rax, qword [0x14048a080]
xor rax, rsp
mov qword [rsp + 0x80], rax
sub rdx, rcx
mov r14, rcx
sar rdx, 6
mov r12, rdx
mov qword [rsp + 0x20], rdx
sar r12, 1
test r12, r12
jle 0x140053c51
mov qword [r11 + 0x18], rbx
mov rax, r12
mov qword [r11 - 0x18], rbp
mov qword [r11 - 0x20], rsi
mov qword [r11 - 0x28], rdi
shl rax, 6
mov qword [r11 - 0x30], r13
add rax, 0x38
mov qword [r11 - 0x38], r15
lea r15, [rdx - 1]
mov rbp, r15
mov qword [rsp + 0x30], r15
sar rbp, 1
mov qword [rsp + 0x28], rbp
add rax, rcx
movups xmm0, xmmword [rax - 0x78]
sub rax, 0x40
xor ecx, ecx
dec r12
mov qword [rsp + 0x38], rax
movaps xmmword [rsp + 0x40], xmm0
mov rbx, r12
mov rsi, r12
movups xmm1, xmmword [rax - 0x28]
mov qword [rax - 0x28], rcx
mov qword [rax - 0x20], 0xf
mov byte [rax - 0x38], cl
movaps xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax - 0x18]
movups xmm1, xmmword [rax - 8]
mov qword [rax - 8], rcx
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
mov qword [rax], select
mov byte [rax - 0x18], cl
cmp r12, rbp
jge 0x140053aa5
nop dword [rax]
nop word [rax + rax]
lea rdi, [rsi + rsi]
mov rax, rdi
lea rdx, [r14 + 0x60]
shl rax, 6
lea rcx, [r14 + 0xa0]
add rdx, rax
add rcx, rax
call fcn.14000dd90
lea rsi, [rdi + 1]
movzx eax, al
xor rax, 1
shl rbx, 6
add rsi, rax
add rbx, r14
mov rdi, rsi
mov rcx, rbx
shl rdi, 6
add rdi, r14
mov rdx, rdi
call fcn.140012ed0
lea rdx, [rdi + 0x20]
lea rcx, [rbx + 0x20]
call fcn.140012ed0
mov rbx, rsi
cmp rsi, rbp
jl 0x140053a40
mov rdx, qword [rsp + 0x20]
cmp rbx, rbp
jne 0x140053adf
test dl, 1
jne 0x140053adf
mov rdi, rdx
shl rbx, 6
shl rdi, 6
lea rdx, [r14 - 0x40]
add rbx, r14
add rdx, rdi
mov rcx, rbx
call fcn.140012ed0
lea rdx, [r14 - 0x20]
add rdx, rdi
lea rcx, [rbx + 0x20]
call fcn.140012ed0
mov rbx, r15
cmp r12, rbx
jge 0x140053b72
mov r15, qword [rsp + 0x70]
nop dword [rax]
lea rsi, [rbx - 1]
sar rsi, 1
lea rdx, [rsp + 0x60]
mov r13, rsi
shl r13, 6
add r13, r14
cmp qword [rsp + 0x78], 0xf
cmova rdx, qword [rsp + 0x60]
cmp qword [r13 + 0x38], 0xf
lea rcx, [r13 + 0x20]
mov rbp, qword [r13 + 0x30]
jbe 0x140053b25
mov rcx, qword [r13 + 0x20]
cmp r15, rbp
mov r8, rbp
cmovb r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140053b3c
jns 0x140053b68
jmp 0x140053b41
cmp rbp, r15
jae 0x140053b68
shl rbx, 6
mov rdx, r13
add rbx, r14
mov rcx, rbx
call fcn.140012ed0
lea rcx, [rbx + 0x20]
lea rdx, [r13 + 0x20]
call fcn.140012ed0
mov rbx, rsi
cmp r12, rsi
jl 0x140053af0
mov rbp, qword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
shl rbx, 6
lea rdx, [rsp + 0x40]
add rbx, r14
mov rcx, rbx
call fcn.140012ed0
lea rcx, [rbx + 0x20]
lea rdx, [rsp + 0x60]
call fcn.140012ed0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140053bcd
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053bc8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053c1a
call fcn.14028bc90
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140053c06
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053c01
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053c1a
call fcn.14028bc90
test r12, r12
jle 0x140053c21
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x20]
jmp 0x1400539d8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov r13, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xe0]
mov r15, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14028bc70
add rsp, 0xb8
pop r14
pop r12
ret