Function at 0x140053ae0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xb0
mov rax, qword [0x14015a038]
xor rax, rsp
mov qword [rbp + 7], rax
mov r10d, r9d
mov dword [rbp - 0x71], r9d
mov r13, r8
mov rdi, rdx
mov r14, qword [rbp + 0x7f]
xor ebx, ebx
mov esi, ebx
mov qword [rbp - 0x69], rbx
mov r15d, ebx
mov qword [rbp - 0x61], rbx
mov r12d, ebx
mov qword [rbp - 0x59], rbx
mov rcx, qword [rdx + 8]
mov r9, qword [rdx]
mov rdx, rcx
sub rdx, r9
add rdx, 8
je 0x140053b68
lea r8, [rbp - 0x79]
lea rcx, [rbp - 0x69]
call fcn.140019c40
mov rcx, qword [rdi + 8]
mov r9, qword [rdi]
mov r12, qword [rbp - 0x59]
mov r15, qword [rbp - 0x61]
mov rsi, qword [rbp - 0x69]
mov r10d, dword [rbp - 0x71]
mov r8, rbx
cmp rcx, r9
je 0x140053b8b
mov rax, qword [rdi]
movzx ecx, byte [r8 + rax]
mov byte [rsi + r8], cl
inc r8
mov rax, qword [rdi + 8]
sub rax, qword [rdi]
cmp r8, rax
jb 0x140053b70
mov eax, r10d
cdq
movzx edx, dl
add eax, edx
mov ecx, eax
movzx eax, al
sub eax, edx
sar ecx, 8
mov byte [rsi + r8], al
mov eax, ecx
cdq
movzx edx, dl
add eax, edx
mov ecx, eax
movzx eax, al
sub eax, edx
sar ecx, 8
mov byte [rsi + r8 + 1], al
mov eax, ecx
cdq
movzx edx, dl
add eax, edx
mov ecx, eax
movzx eax, al
sub eax, edx
sar ecx, 8
mov byte [rsi + r8 + 2], al
mov byte [rsi + r8 + 3], cl
mov eax, dword [rbp + 0x77]
cdq
movzx edx, dl
add eax, edx
mov ecx, eax
movzx eax, al
sub eax, edx
sar ecx, 8
mov byte [rsi + r8 + 4], al
mov eax, ecx
cdq
movzx edx, dl
add eax, edx
mov ecx, eax
movzx eax, al
sub eax, edx
sar ecx, 8
mov byte [rsi + r8 + 5], al
mov eax, ecx
cdq
movzx edx, dl
add eax, edx
mov ecx, eax
movzx eax, al
sub eax, edx
sar ecx, 8
mov byte [rsi + r8 + 6], al
mov byte [rsi + r8 + 7], cl
xor dil, dil
mov r8, rbx
sub r15, rsi
je 0x140053c98
nop dword [rax + rax]
movzx ecx, byte [rsi + r8]
mov eax, 0x27932b49
mul ecx
shr edx, 5
imul eax, edx, 0xcf
sub ecx, eax
add cl, dil
movzx edi, cl
mov eax, 0x27932b49
mul edi
shr edx, 5
imul eax, edx, 0xcf
sub edi, eax
inc r8
cmp r8, r15
jb 0x140053c30
mov edx, select
mov rcx, r14
call fcn.140019e80
mov rax, qword [r14]
mov byte [rax], dil
mov rdx, rbx
nop dword [rax]
mov rcx, qword [r14]
movzx eax, dil
xor al, byte [rsi + rdx]
mov byte [rcx + rdx + 1], al
inc rdx
cmp rdx, r15
jb 0x140053c80
jmp 0x140053cab
mov edx, select
mov rcx, r14
call fcn.140019e80
mov rax, qword [r14]
mov byte [rax], dil
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x51], xmm0
mov qword [rbp - 0x41], rbx
mov rdx, r13
lea rcx, [rbp - 0x19]
call fcn.1400539c0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140053cce
mov rax, qword [rax]
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x21], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x39], 0
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140053cf0
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.140011ad0
nop
mov rdi, qword [rbp - 0x29]
test rdi, rdi
je 0x140053d20
lea r8, [rbp - 0x79]
mov rdx, rdi
lea rcx, [rbp - 0x51]
call fcn.140019c40
mov rcx, rbx
mov rdx, qword [rbp - 0x21]
mov r8, qword [rbp - 0x39]
test rdi, rdi
je 0x140053d5c
mov r9, qword [rbp - 0x51]
nop dword [rax]
nop dword [rax + rax]
lea rax, [rbp - 0x39]
cmp rdx, 0x10
cmovae rax, r8
movzx eax, byte [rax + rcx]
mov byte [r9 + rcx], al
inc rcx
cmp rcx, rdi
jb 0x140053d40
cmp rdx, 0x10
jb 0x140053d93
inc rdx
mov rax, r8
cmp rdx, 0x1000
jb 0x140053d8a
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053eec
mov rcx, r8
call fcn.14009b510
nop
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x140053dce
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053dc9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053ef2
call fcn.14009b510
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rbx
mov qword [rbp - 0x29], rbx
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x51]
call fcn.140054a20
mov rdx, qword [rbp - 0x31]
mov r8, qword [rbp - 0x39]
sub rdx, r8
je 0x140053e14
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [r14]
movzx eax, byte [r8 + rbx]
xor byte [rcx + rbx + 1], al
inc rbx
cmp rbx, rdx
jb 0x140053e00
mov rcx, qword [r14]
movzx eax, byte [r8]
xor byte [rcx], al
mov rdx, qword [rbp - 0x29]
sub rdx, r8
mov rax, r8
cmp rdx, 0x1000
jb 0x140053e49
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053ef8
mov rcx, r8
call fcn.14009b510
nop
mov rcx, qword [rbp - 0x51]
test rcx, rcx
je 0x140053e89
mov rdx, qword [rbp - 0x41]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053e83
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053efe
call fcn.14009b510
nop
test rsi, rsi
je 0x140053ebd
sub r12, rsi
mov rax, rsi
cmp r12, 0x1000
jb 0x140053eb2
add r12, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053ee6
mov rdx, r12
mov rcx, rsi
call fcn.14009b510
mov al, 1
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.14009b5b0
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400ac408
nop
call fcn.1400ac408
nop
call fcn.1400ac408
int3
call fcn.1400ac408
nop
call fcn.1400ac408
int3