Function at 0x14000e650
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, 0x2e00
call fcn.1400159f0
sub rsp, rax
mov rax, qword [0x14001d110]
xor rax, rsp
mov qword [rsp + 0x2df0], rax
mov rax, qword [rsp + 0x2e68]
xor r15d, r15d
mov ebx, edx
mov r13, r9
mov qword [rsp + 0x70], rax
mov r14, r8
mov qword [rsp + 0x50], r15
mov rdi, rcx
mov qword [rsp + 0x48], r15
test r9, r9
je 0x14000e6b2
test r8, r8
je 0x14000ea6d
lea r8, [rsp + 0x80]
mov edx, ebx
call fcn.14000eaa0
test eax, eax
je 0x14000ea6d
mov rbp, qword [rsp + 0xa0]
test rbp, rbp
je 0x14000ea66
test rdi, rdi
je 0x14000e71d
mov r8, qword [rdi + 0x58]
test r8, r8
je 0x14000e71d
cmp ebx, dword [rdi + 0x10]
jae 0x14000e71d
cmp dword [rdi + 0x14], 1
jne 0x14000e71d
mov rax, qword [r8 + 0x20]
mov edx, dword [rax + rbx*4]
add rdx, qword [r8]
je 0x14000e71d
movzx eax, word [rdx + 0x1c]
test ax, ax
je 0x14000e713
cmp byte [rax + rdx + 0x2d], 0x2f
je 0x14000ea66
test byte [rdx + 0x26], 0x10
jne 0x14000ea66
test byte [rsp + 0x8c], 0x21
jne 0x14000ea6d
mov ebx, dword [rsp + 0x2e60]
and ebx, 0x400
jne 0x14000e74d
mov eax, 0xfff7
test word [rsp + 0x8e], ax
jne 0x14000ea6d
mov rsi, qword [rsp + 0xa8]
test ebx, ebx
mov r12, rsi
cmovne r12, rbp
cmp r13, r12
jb 0x14000ea6d
mov r13, qword [rsp + 0xb8]
lea r8, [rsp + 0x2dd0]
mov rcx, qword [rdi + 0x50]
mov rdx, r13
mov r9d, 0x1e
call qword [rdi + 0x40]
cmp rax, 0x1e
jne 0x14000ea6d
cmp dword [rsp + 0x2dd0], 0x4034b50
jne 0x14000ea6d
movzx eax, word [rsp + 0x2dea]
movzx ecx, word [rsp + 0x2dec]
add r13, rax
add rcx, 0x1e
mov rax, rbp
add r13, rcx
add rax, r13
cmp rax, qword [rdi]
ja 0x14000ea6d
test ebx, ebx
jne 0x14000e9dd
cmp word [rsp + 0x8e], r15w
je 0x14000e9dd
mov rax, qword [rdi + 0x58]
mov dword [rsp + 0x2d0], r15d
mov rcx, qword [rax + 0x68]
test rcx, rcx
je 0x14000e810
mov rbx, rbp
lea r8, [rcx + r13]
mov qword [rsp + 0x40], r8
mov r12, rbx
mov qword [rsp + 0x58], rbx
mov rbp, r15
jmp 0x14000e870
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14000e83a
mov r12, qword [rsp + 0x2e70]
mov qword [rsp + 0x58], r12
test r12, r12
je 0x14000ea6d
mov r8, rax
mov qword [rsp + 0x40], rax
jmp 0x14000e86c
mov rcx, qword [rdi + 0x38]
mov r12d, 0x10000
cmp rbp, r12
mov edx, 1
cmovb r12, rbp
mov r8, r12
mov qword [rsp + 0x58], r12
call qword [rdi + 0x20]
mov qword [rsp + 0x40], rax
mov r8, rax
test rax, rax
je 0x14000ea6d
mov rbx, r15
nop
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
sub rcx, rdx
mov qword [rsp + 0x68], rcx
test rbx, rbx
jne 0x14000e8bf
mov rax, qword [rdi + 0x58]
cmp qword [rax + 0x68], r15
jne 0x14000e8bf
mov rcx, qword [rdi + 0x50]
cmp r12, rbp
mov rbx, rbp
mov rdx, r13
cmovb rbx, r12
mov r9, rbx
call qword [rdi + 0x40]
cmp rax, rbx
jne 0x14000e9ab
mov rdx, qword [rsp + 0x50]
add r13, rbx
sub rbp, rbx
mov qword [rsp + 0x48], r15
mov ecx, 4
mov qword [rsp + 0x60], rbx
mov eax, 6
lea r8, [rsp + 0x60]
test rbp, rbp
mov r9, r14
cmovne ecx, eax
lea rax, [r14 + rdx]
mov rdx, qword [rsp + 0x40]
add rdx, qword [rsp + 0x48]
mov dword [rsp + 0x30], ecx
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x2d0]
mov qword [rsp + 0x20], rax
call fcn.140012f60
mov rcx, qword [rsp + 0x60]
mov r12d, eax
add qword [rsp + 0x48], rcx
sub rbx, rcx
mov rcx, qword [rsp + 0x50]
add rcx, qword [rsp + 0x68]
mov qword [rsp + 0x50], rcx
cmp eax, 1
jne 0x14000e93d
mov r12, qword [rsp + 0x58]
mov r8, qword [rsp + 0x40]
jmp 0x14000e870
test eax, eax
jne 0x14000e9b1
cmp rcx, rsi
jne 0x14000e9ab
test r14, r14
jne 0x14000e950
mov eax, r15d
jmp 0x14000e9a2
mov eax, 0xffffffff
test rsi, rsi
je 0x14000e9a0
lea r8, [0x140017a60]
nop dword [rax]
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 rsi, 1
jne 0x14000e970
not eax
cmp eax, dword [rsp + 0x98]
je 0x14000e9b1
mov r12d, 0xffffffff
mov rcx, qword [rdi + 0x58]
cmp qword [rcx + 0x68], r15
jne 0x14000e9ce
cmp qword [rsp + 0x70], r15
jne 0x14000e9ce
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rdi + 0x38]
call qword [rdi + 0x28]
test r12d, r12d
sete r15b
mov eax, r15d
jmp 0x14000ea6f
mov rcx, qword [rdi + 0x50]
mov r9, r12
mov r8, r14
mov rdx, r13
call qword [rdi + 0x40]
cmp rax, r12
jne 0x14000ea6d
test ebx, ebx
jne 0x14000ea5b
test r14, r14
jne 0x14000ea00
mov eax, r15d
jmp 0x14000ea52
mov eax, 0xffffffff
test rsi, rsi
je 0x14000ea50
lea r8, [0x140017a60]
nop dword [rax]
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 rsi, 1
jne 0x14000ea20
not eax
cmp eax, dword [rsp + 0x98]
jne 0x14000ea61
mov r15d, 1
mov eax, r15d
jmp 0x14000ea6f
mov eax, 1
jmp 0x14000ea6f
xor eax, eax
mov rcx, qword [rsp + 0x2df0]
xor rcx, rsp
call fcn.140015390
mov rbx, qword [rsp + 0x2e58]
add rsp, 0x2e00
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret