Function at 0x14005abe0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
mov eax, 0xf0
call fcn.1400a59c0
sub rsp, rax
mov rax, qword [0x14011e770]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rbx, qword [rsp + 0x140]
mov rsi, rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x40], r8
mov r13, r9
mov qword [rsp + 0x48], rdx
mov rdi, r8
xor r12d, r12d
call fcn.140040b00
test r13, r13
mov rcx, rdi
cmove r13, rdi
call fcn.140039360
mov dword [rsp + 0x30], eax
mov edi, eax
test eax, eax
js 0x14005b02c
mov qword [rsp + 0xe8], rbp
mov ebp, dword [rsp + 0x148]
cmp ebp, 0xffffffff
jne 0x14005acbc
mov ebp, eax
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0xd8], r15
call fcn.1400438b0
mov rcx, rsi
lea r15d, [rax - 1]
and r15d, 7
call fcn.140052730
mov ecx, r15d
mov edx, 0xff
shl edx, cl
mov r8d, eax
test byte [rbx], dl
je 0x14005acec
mov r8d, 0x85
mov dword [rsp + 0x20], 0x76
lea r9, [0x14010bee8]
mov ecx, 4
lea edx, [r8 + 0x10]
call fcn.140038ac0
jmp 0x14005b01c
cmp ebp, 0xfffffffe
jne 0x14005acc3
jmp 0x14005ac62
jge 0x14005ac62
mov edx, 0x95
mov dword [rsp + 0x20], 0x6f
lea r9, [0x14010bed0]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.140038ac0
jmp 0x14005b024
test r15d, r15d
jne 0x14005acf7
inc rbx
dec r8d
lea eax, [rdi + 2]
cmp r8d, eax
jge 0x14005ad10
mov dword [rsp + 0x20], 0x7e
lea r9, [0x14010bf00]
jmp 0x14005ad2b
mov esi, r8d
sub esi, edi
lea eax, [rsi - 2]
cmp ebp, eax
jle 0x14005ad43
mov dword [rsp + 0x20], 0x82
lea r9, [0x14010bf18]
mov r8d, 0x6d
lea ecx, [r8 - 0x69]
lea edx, [r8 + 0x28]
call fcn.140038ac0
jmp 0x14005b01c
lea eax, [r8 - 1]
movsxd rcx, eax
cmp byte [rcx + rbx], 0xbc
je 0x14005ad77
mov edx, 0x95
mov dword [rsp + 0x20], 0x86
lea r9, [0x14010bf30]
mov ecx, 4
lea r8d, [rdx - 0xf]
call fcn.140038ac0
jmp 0x14005b01c
dec esi
mov qword [rsp + 0xe0], r14
movsxd r14, esi
lea rdx, [0x14010bf48]
mov r8d, 0x8b
mov ecx, esi
lea rax, [r14 + rbx]
mov qword [rsp + 0x38], rax
call fcn.140037280
mov rdi, rax
test rax, rax
jne 0x14005adce
lea r9, [0x14010bf60]
mov dword [rsp + 0x20], 0x8d
mov edx, 0x95
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.140038ac0
jmp 0x14005b014
mov r8, qword [rsp + 0x38]
mov edx, esi
mov qword [rsp + 0x20], r13
mov rcx, rdi
movsxd r13, dword [rsp + 0x30]
mov r9d, r13d
call fcn.140059a80
test eax, eax
js 0x14005b00c
mov edx, r12d
test esi, esi
jle 0x14005ae88
cmp esi, 0x20
jb 0x14005ae88
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rcx + rbx]
lea r8, [rcx + rdi]
cmp rdi, rax
ja 0x14005ae1e
cmp r8, rbx
jae 0x14005ae88
mov ecx, esi
and ecx, 0x8000001f
jge 0x14005ae2f
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, esi
mov r8, rbx
sub eax, ecx
sub r8, rdi
mov r9, rdi
movsxd r10, eax
neg r9
mov rcx, rdi
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
add edx, 0x20
movdqu xmm1, xmmword [r8 + rcx]
lea rcx, [rcx + 0x20]
lea rax, [r9 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm1, xmmword [r8 + rcx - 0x10]
movdqu xmm0, xmmword [rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r10
jl 0x14005ae50
movsxd rax, edx
cmp rax, r14
jge 0x14005aeb0
sub rbx, rdi
lea rcx, [rax + rdi]
sub r14, rax
nop word [rax + rax]
movzx eax, byte [rcx + rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r14, 1
jne 0x14005aea0
test r15d, r15d
je 0x14005aec6
mov ecx, 8
mov eax, 0xff
sub ecx, r15d
sar eax, cl
and byte [rdi], al
mov ebx, r12d
cmp byte [rdi], bl
jne 0x14005aee1
lea ecx, [rsi - 1]
mov rax, rdi
cmp ebx, ecx
jge 0x14005aee1
inc rax
inc ebx
cmp byte [rax], r12b
je 0x14005aed3
movsxd rax, ebx
inc ebx
cmp byte [rax + rdi], 1
je 0x14005af13
mov edx, 0x95
mov dword [rsp + 0x20], 0x98
lea r9, [0x14010bf78]
mov ecx, 4
lea r8d, [rdx - 0xe]
call fcn.140038ac0
jmp 0x14005b00c
test ebp, ebp
js 0x14005af46
mov eax, esi
sub eax, ebx
cmp eax, ebp
je 0x14005af46
mov edx, 0x95
mov dword [rsp + 0x20], 0x9c
lea r9, [0x14010bf90]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.140038ac0
jmp 0x14005b00c
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x50]
xor r8d, r8d
call fcn.140040540
test eax, eax
je 0x14005b00c
mov r8d, 8
lea rdx, [0x1400b8820]
lea rcx, [rsp + 0x50]
call fcn.1400407a0
test eax, eax
je 0x14005b00c
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
mov r8, r13
call fcn.1400407a0
test eax, eax
je 0x14005b00c
sub esi, ebx
je 0x14005afb0
movsxd rdx, ebx
lea rcx, [rsp + 0x50]
add rdx, rdi
movsxd r8, esi
call fcn.1400407a0
test eax, eax
je 0x14005b00c
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call fcn.1400404a0
test eax, eax
je 0x14005b00c
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x80]
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14005b006
mov edx, 0x95
mov dword [rsp + 0x20], 0xaa
lea r9, [0x14010bfa8]
mov ecx, 4
lea r8d, [rdx - 0x2d]
call fcn.140038ac0
jmp 0x14005b00c
mov r12d, 1
mov rcx, rdi
call fcn.1400371e0
mov r14, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xe8]
lea rcx, [rsp + 0x50]
call fcn.1400407c0
mov eax, r12d
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400a4f20
add rsp, 0xf0
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret