Function at 0x140013b70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2df0
call fcn.140038c00
sub rsp, rax
mov rax, qword [0x14007f080]
xor rax, rsp
mov qword [rsp + 0x2de0], rax
xor r15d, r15d
mov ebx, edx
mov qword [rsp + 0x50], r15
mov r12, r9
mov qword [rsp + 0x40], r15
mov r14, r8
mov rsi, rcx
mov r13d, r15d
test r9, r9
je 0x140013bc8
test r8, r8
je 0x140013f29
lea r8, [rsp + 0x70]
mov edx, ebx
call fcn.1400137b0
test eax, eax
je 0x140013f29
mov rbp, qword [rsp + 0x90]
test rbp, rbp
je 0x140013f22
test rsi, rsi
je 0x140013c30
mov r8, qword [rsi + 0x58]
test r8, r8
je 0x140013c30
cmp ebx, dword [rsi + 0x10]
jae 0x140013c30
cmp dword [rsi + 0x14], 1
jne 0x140013c30
mov rax, qword [r8 + 0x20]
mov edx, dword [rax + rbx*4]
add rdx, qword [r8]
je 0x140013c30
movzx eax, word [rdx + 0x1c]
test ax, ax
je 0x140013c26
cmp byte [rax + rdx + 0x2d], 0x2f
je 0x140013f22
test byte [rdx + 0x26], 0x10
jne 0x140013f22
test byte [rsp + 0x7c], 0x21
jne 0x140013f29
movzx ebx, word [rsp + 0x7e]
mov eax, 0xfff7
test ax, bx
jne 0x140013f29
mov rdi, qword [rsp + 0x98]
cmp r12, rdi
jb 0x140013f29
mov r12, qword [rsp + 0xa8]
lea r8, [rsp + 0x2dc0]
mov rax, qword [rsi + 0x40]
mov rdx, r12
mov rcx, qword [rsi + 0x50]
mov r9d, 0x1e
call rax
cmp rax, 0x1e
jne 0x140013f29
cmp dword [rsp + 0x2dc0], 0x4034b50
jne 0x140013f29
movzx eax, word [rsp + 0x2dda]
movzx ecx, word [rsp + 0x2ddc]
add r12, rax
add rcx, 0x1e
add r12, rcx
lea rax, [r12 + rbp]
cmp rax, qword [rsi]
ja 0x140013f29
test bx, bx
je 0x140013e96
mov rax, qword [rsi + 0x58]
mov dword [rsp + 0x2c0], r15d
mov rcx, qword [rax + 0x68]
test rcx, rcx
je 0x140013cfb
mov rbx, rbp
lea r8, [rcx + r12]
mov qword [rsp + 0x48], r8
mov rdx, rbx
mov qword [rsp + 0x58], rbx
mov rbp, r15
jmp 0x140013d40
mov rax, qword [rsi + 0x20]
mov r8d, 0x10000
mov rcx, qword [rsi + 0x38]
cmp rbp, r8
mov edx, 1
cmovb r8, rbp
mov qword [rsp + 0x58], r8
call rax
mov qword [rsp + 0x48], rax
mov r8, rax
test rax, rax
je 0x140013f29
mov rbx, r15
mov rdx, qword [rsp + 0x58]
nop word [rax + rax]
mov rcx, rdi
sub rcx, r13
mov qword [rsp + 0x68], rcx
test rbx, rbx
jne 0x140013d88
mov rax, qword [rsi + 0x58]
cmp qword [rax + 0x68], r15
jne 0x140013d88
mov rax, qword [rsi + 0x40]
cmp rdx, rbp
mov rcx, qword [rsi + 0x50]
mov rbx, rbp
cmovb rbx, rdx
mov rdx, r12
mov r9, rbx
call rax
cmp rax, rbx
jne 0x140013e6b
add r12, rbx
mov qword [rsp + 0x40], r15
sub rbp, rbx
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0x60]
mov ecx, 4
mov qword [rsp + 0x60], rbx
mov eax, 6
test rbp, rbp
mov r9, r14
cmovne ecx, eax
add rdx, qword [rsp + 0x48]
mov dword [rsp + 0x30], ecx
lea rax, [r14 + r13]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x2c0]
mov qword [rsp + 0x20], rax
call fcn.140011490
mov rcx, qword [rsp + 0x60]
mov r13d, eax
mov rax, qword [rsp + 0x50]
sub rbx, rcx
add rax, qword [rsp + 0x68]
add qword [rsp + 0x40], rcx
mov qword [rsp + 0x50], rax
cmp r13d, 1
jne 0x140013e05
mov r8, qword [rsp + 0x48]
mov r13, rax
jmp 0x140013d30
test r13d, r13d
jne 0x140013e71
cmp rax, rdi
jne 0x140013e6b
test r14, r14
jne 0x140013e19
mov eax, r15d
jmp 0x140013e62
mov eax, 0xffffffff
test rdi, rdi
je 0x140013e60
lea r8, [0x140071440]
nop word [rax + rax]
movzx edx, byte [r14]
lea r14, [r14 + 1]
mov ecx, eax
shr eax, 4
xor rcx, rdx
shr rdx, 4
and ecx, 0xf
xor eax, dword [r8 + rcx*4]
mov ecx, eax
shr eax, 4
and ecx, 0xf
xor rcx, rdx
xor eax, dword [r8 + rcx*4]
sub rdi, 1
jne 0x140013e30
not eax
cmp eax, dword [rsp + 0x88]
je 0x140013e71
mov r13d, 0xffffffff
mov rcx, qword [rsi + 0x58]
cmp qword [rcx + 0x68], r15
jne 0x140013e87
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsi + 0x38]
call qword [rsi + 0x28]
test r13d, r13d
sete r15b
mov eax, r15d
jmp 0x140013f2b
mov rax, qword [rsi + 0x40]
mov r9, rdi
mov rcx, qword [rsi + 0x50]
mov r8, r14
mov rdx, r12
call rax
cmp rax, rdi
jne 0x140013f29
test r14, r14
jne 0x140013ec6
mov eax, r15d
cmp eax, dword [rsp + 0x88]
sete r15b
mov eax, r15d
jmp 0x140013f2b
mov eax, 0xffffffff
test rdi, rdi
je 0x140013f10
lea r8, [0x140071440]
nop word [rax + rax]
movzx edx, byte [r14]
lea r14, [r14 + 1]
mov ecx, eax
shr eax, 4
xor rcx, rdx
shr rdx, 4
and ecx, 0xf
xor eax, dword [r8 + rcx*4]
mov ecx, eax
shr eax, 4
and ecx, 0xf
xor rcx, rdx
xor eax, dword [r8 + rcx*4]
sub rdi, 1
jne 0x140013ee0
not eax
cmp eax, dword [rsp + 0x88]
sete r15b
mov eax, r15d
jmp 0x140013f2b
mov eax, 1
jmp 0x140013f2b
xor eax, eax
mov rcx, qword [rsp + 0x2de0]
xor rcx, rsp
call fcn.140038080
mov rbx, qword [rsp + 0x2e48]
add rsp, 0x2df0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret