Function at 0x140138c10
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.14013f930
sub rsp, rax
mov rax, qword [0x14016e028]
xor rax, rsp
mov qword [rsp + 0x2de0], rax
xor r15d, r15d
mov ebx, edx
mov qword [rsp + 0x48], r15
mov r12, r9
mov qword [rsp + 0x40], r15
mov r14, r8
mov rdi, rcx
test r9, r9
je 0x140138c65
test r8, r8
je 0x140138fc9
lea r8, [rsp + 0x70]
mov edx, ebx
call fcn.140138850
test eax, eax
je 0x140138fc9
mov rbp, qword [rsp + 0x90]
test rbp, rbp
je 0x140138fc2
test rdi, rdi
je 0x140138ccd
mov r8, qword [rdi + 0x68]
test r8, r8
je 0x140138ccd
cmp ebx, dword [rdi + 0x10]
jae 0x140138ccd
cmp dword [rdi + 0x14], 1
jne 0x140138ccd
mov rax, qword [r8 + 0x20]
mov edx, dword [rax + rbx*4]
add rdx, qword [r8]
je 0x140138ccd
movzx eax, word [rdx + 0x1c]
test ax, ax
je 0x140138cc3
cmp byte [rax + rdx + 0x2d], 0x2f
je 0x140138fc2
test byte [rdx + 0x26], 0x10
jne 0x140138fc2
test byte [rsp + 0x7c], 0x21
jne 0x140138fc9
movzx ebx, word [rsp + 0x7e]
mov eax, 0xfff7
test ax, bx
jne 0x140138fc9
mov rsi, qword [rsp + 0x98]
cmp r12, rsi
jb 0x140138fc9
mov r12, qword [rsp + 0xa8]
lea r8, [rsp + 0x2dc0]
mov rcx, qword [rdi + 0x60]
mov rdx, r12
mov r9d, 0x1e
call qword [rdi + 0x48]
cmp rax, 0x1e
jne 0x140138fc9
cmp dword [rsp + 0x2dc0], 0x4034b50
jne 0x140138fc9
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 [rdi]
ja 0x140138fc9
test bx, bx
je 0x140138f39
mov rax, qword [rdi + 0x68]
mov dword [rsp + 0x2c0], r15d
mov rcx, qword [rax + 0x80]
test rcx, rcx
je 0x140138d98
mov rbx, rbp
lea r8, [rcx + r12]
mov qword [rsp + 0x50], r8
mov r13, rbx
mov qword [rsp + 0x68], rbx
mov rbp, r15
jmp 0x140138dd0
mov rcx, qword [rdi + 0x40]
mov r13d, 0x10000
cmp rbp, r13
mov edx, 1
cmovb r13, rbp
mov r8, r13
mov qword [rsp + 0x68], r13
call qword [rdi + 0x28]
mov qword [rsp + 0x50], rax
mov r8, rax
test rax, rax
je 0x140138fc9
mov rbx, r15
nop dword [rax]
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
sub rcx, rdx
mov qword [rsp + 0x60], rcx
test rbx, rbx
jne 0x140138e22
mov rax, qword [rdi + 0x68]
cmp qword [rax + 0x80], r15
jne 0x140138e22
mov rcx, qword [rdi + 0x60]
cmp r13, rbp
mov rbx, rbp
mov rdx, r12
cmovb rbx, r13
mov r9, rbx
call qword [rdi + 0x48]
cmp rax, rbx
jne 0x140138f0b
mov rdx, qword [rsp + 0x48]
add r12, rbx
sub rbp, rbx
mov qword [rsp + 0x40], r15
mov ecx, 4
mov qword [rsp + 0x58], rbx
mov eax, 6
lea r8, [rsp + 0x58]
test rbp, rbp
mov r9, r14
cmovne ecx, eax
lea rax, [r14 + rdx]
mov rdx, qword [rsp + 0x40]
add rdx, qword [rsp + 0x50]
mov dword [rsp + 0x30], ecx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x2c0]
mov qword [rsp + 0x20], rax
call fcn.140133650
mov rcx, qword [rsp + 0x58]
mov r13d, eax
add qword [rsp + 0x40], rcx
sub rbx, rcx
mov rcx, qword [rsp + 0x48]
add rcx, qword [rsp + 0x60]
mov qword [rsp + 0x48], rcx
cmp eax, 1
jne 0x140138ea0
mov r13, qword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
jmp 0x140138dd0
test eax, eax
jne 0x140138f11
cmp rcx, rsi
jne 0x140138f0b
test r14, r14
jne 0x140138eb3
mov eax, r15d
jmp 0x140138f02
mov eax, 0xffffffff
test rsi, rsi
je 0x140138f00
lea r8, [0x140148f20]
nop dword [rax]
nop dword [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 0x140138ed0
not eax
cmp eax, dword [rsp + 0x88]
je 0x140138f11
mov r13d, 0xffffffff
mov rcx, qword [rdi + 0x68]
cmp qword [rcx + 0x80], r15
jne 0x140138f2a
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdi + 0x40]
call qword [rdi + 0x30]
test r13d, r13d
sete r15b
mov eax, r15d
jmp 0x140138fcb
mov rcx, qword [rdi + 0x60]
mov r9, rsi
mov r8, r14
mov rdx, r12
call qword [rdi + 0x48]
cmp rax, rsi
jne 0x140138fc9
test r14, r14
jne 0x140138f66
mov eax, r15d
cmp eax, dword [rsp + 0x88]
sete r15b
mov eax, r15d
jmp 0x140138fcb
mov eax, 0xffffffff
test rsi, rsi
je 0x140138fb0
lea r8, [0x140148f20]
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 0x140138f80
not eax
cmp eax, dword [rsp + 0x88]
sete r15b
mov eax, r15d
jmp 0x140138fcb
mov eax, 1
jmp 0x140138fcb
xor eax, eax
mov rcx, qword [rsp + 0x2de0]
xor rcx, rsp
call fcn.14013e7c0
mov rbx, qword [rsp + 0x2e48]
add rsp, 0x2df0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret