Function at 0x14002b320
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf0
mov r15, r8
mov rbx, rdx
mov rsi, rcx
mov r12, rbx
add r12, 0x68
movzx eax, byte [rbx + 0x68]
test eax, eax
je 0x14002b359
jmp 0x14002b34c
sub eax, 1
je 0x14002b5f3
jmp 0x14002b357
jmp 0x14002b3d1
mov rax, qword [rbx]
mov qword [rsp + 0x90], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x98], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0xa0], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x90]
call fcn.140063140
mov rdx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
cmp rdx, 0xffffffffffffffff
je 0x14002b3c6
mov rdi, rbx
add rdi, 0x20
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], r14
mov r13, rbx
add r13, 0x60
mov byte [rbx + 0x60], 0
jmp 0x14002b404
mov r15d, 2
jmp 0x14002b5cd
mov r13, rbx
add r13, 0x60
mov al, byte [rbx + 0x60]
mov rdi, rbx
add rdi, 0x20
test al, al
je 0x14002b3fb
jmp 0x14002b3e8
sub al, 1
je 0x14002b4a3
jmp 0x14002b3f2
mov rdx, qword [rbx + 0x58]
jmp 0x14002b486
mov rdx, qword [rdi]
mov r14, qword [rbx + 0x28]
jmp 0x14002b404
lea rcx, [rsp + 0xb0]
mov r8, r14
call fcn.140051420
mov rax, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
cmp rax, 2
je 0x14002b481
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x68], rcx
mov rdx, rbx
add rdx, 0x30
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], r14
mov rax, qword [rsp + 0x58]
mov qword [rbx + 0x40], rax
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0x48], rax
mov rax, qword [rsp + 0x68]
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x58], rdx
jmp 0x14002b486
jmp 0x14002b553
lea rcx, [rsp + 0x80]
mov r8, r15
call fcn.14004ec40
mov al, byte [rsp + 0x89]
cmp al, 3
je 0x14002b4b7
jmp 0x14002b4a5
ud2
mov r14, qword [rsp + 0x80]
cmp al, 2
je 0x14002b547
jmp 0x14002b4c1
mov byte [r13], 3
jmp 0x14002b61d
mov r15, rbx
add r15, 0x30
mov rcx, rbx
add rcx, 0x48
cmp qword [rbx + 0x48], 0xffffffffffffffff
jne 0x14002b4d8
ud2
call fcn.140063240
mov r14, rdx
cmp rax, 0
je 0x14002b4e8
jmp 0x14002b547
mov eax, dword [0x1400c5608]
xor edx, edx
div dword [0x1400c560c]
or eax, 0x88ee8114
mov ecx, 0x8fbdf376
xor edx, edx
div ecx
sub eax, 0xebd3faea
cmp eax, 0x9f50d3a4
jae 0x14002b628
jmp 0x14002b516
mov eax, dword [0x1400c5610]
sub eax, dword [str.aF]
xor eax, 0x2bbbf1c6
and eax, 0x96ffaedc
imul ecx, eax, 0x9cffc99f
cmp r14, 0
sete al
cmp ecx, 0xdbcefaf0
je 0x14002b516
test al, 1
jne 0x14002b587
jmp 0x14002b547
add rbx, 0x30
mov rcx, rbx
call fcn.14002b0d0
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x38], rax
mov byte [r13], 1
mov r15d, 2
jmp 0x14002b5f5
mov r15, qword [r15]
mov r14, qword [rbx + 0x38]
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x38], rax
mov byte [r13], 1
cmp r15, 3
je 0x14002b61d
jmp 0x14002b5f5
mov byte [r12], al
add rsp, 0xf0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsi], r15
mov qword [rsi + 8], r14
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x18], rax
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x20], rax
mov al, 1
jmp 0x14002b5b6
ud2
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
cmp byte [rax - 0x77], cl
and al, 0x50
mov rcx, rdi
call fcn.14002b290
jmp 0x14002b5cd
mov qword [rsi], 3
mov dword [rsi], 3
mov al, 3
jmp 0x14002b5b6
jrcxz 0x14002b62e
test eax, 0xd094e8d3
xor al, 0x8d
jrcxz 0x14002b60d
sal byte [rcx*4 - 0x168d251d], 1
jb 0x14002b61e
invalid