Function at 0x14003b6b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov r14, r9
mov r13, r8
mov rbp, rdx
mov r15, rcx
mov rsi, qword [rbp]
call fcn.140062da0
mov rbx, rax
mov rdi, rbx
add rdi, 0x50
movzx eax, byte [rbx + 0x50]
test rax, rax
je 0x14003b6fa
jmp 0x14003b6ed
sub rax, 1
je 0x14003b765
jmp 0x14003b6f5
jmp 0x14003b79c
mov r12, rbp
mov eax, dword [0x1400d57a8]
xor eax, dword [0x1400d57ac]
imul eax, eax, 0xee643d3b
xor eax, 0xeb4aa1c6
or eax, 0xe7c9a067
cmp eax, 0xd59f2db9
jb 0x14003bc5e
mov ebp, dword [0x1400d57b0]
sub ebp, dword [0x1400d57b4]
sub ebp, 0x25a67f12
add ebp, 0x4e5fc3e3
xor ebp, 0xadd215b8
lea rdx, [0x14003a350]
mov rcx, rbx
call fcn.140078ee0
mov byte [rdi], 1
cmp ebp, 0x6d3b4fc
jae 0x14003bc5e
mov rbp, r12
jmp 0x14003b765
mov dil, byte [rbx + 0x4c]
mov rax, rbx
add rax, 0x4d
mov bl, byte [rbx + 0x4d]
cmp dil, 0
mov cl, bl
je 0x14003b796
cmp bl, 0
jne 0x14003b791
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsi + 8]
call rax
mov al, 1
jmp 0x14003b7b7
mov cl, bl
add cl, 0xff
mov byte [rax], cl
xor eax, eax
jmp 0x14003b7b7
mov byte [rsp + 0x25], 0
mov byte [rsp + 0x24], 0
movzx eax, byte [rsp + 0x26]
shl eax, 0x10
movzx esi, word [rsp + 0x24]
or esi, eax
jmp 0x14003b7e1
movzx esi, bl
shl esi, 8
movzx ecx, dil
or esi, ecx
lea rcx, [rsp + 0x25]
mov byte [rsp + 0x25], 0
mov byte [rsp + 0x24], 0
shl esi, 8
movzx eax, al
or esi, eax
call fcn.140065ad0
jmp 0x14003b7e1
mov ebx, 2
test sil, 1
jne 0x14003bc44
jmp 0x14003b7f2
mov qword [rsp + 0x68], r13
mov eax, esi
shr eax, 0x10
shr esi, 8
mov byte [rsp + 0x22], sil
mov byte [rsp + 0x23], al
mov rax, r15
add rax, 0x18
mov qword [rsp + 0x60], rax
mov rdx, qword [r15 + 8]
mov rax, r15
add rax, 0x28
mov qword [rsp + 0x58], rax
mov rdi, qword [r15 + 0x18]
mov sil, byte [r15 + 0x28]
mov r10, qword [r15]
lea rax, [rsp + 0xa8]
add rax, 8
mov qword [rsp + 0x80], rax
lea r11, [rsp + 0xa8]
add r11, 0x10
lea rax, [rsp + 0xa8]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov rax, r15
add rax, 0x10
mov qword [rsp + 0x50], rax
mov rbx, qword [r14]
cmp rbx, 0
setne al
mov rax, r15
add rax, 0x20
mov qword [rsp + 0x70], rax
mov rax, r15
add rax, 0x29
mov qword [rsp + 0x48], rax
mov r14, qword [r15 + 0x10]
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x38], rax
mov r13b, sil
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x30], rdx
mov rax, rdi
sub rax, rdx
setb al
test r13b, r13b
sete cl
and al, cl
test al, 1
jne 0x14003b8dd
cmp r14, rdi
jb 0x14003b8cc
mov qword [rsp + 0x40], r11
jmp 0x14003ba44
cmp rdi, rdx
jbe 0x14003b8d3
ud2
mov qword [rsp + 0x40], r11
jmp 0x14003ba82
mov qword [rsp + 0xa8], r10
mov r13, qword [rsp + 0x80]
mov qword [r13], rdx
mov rax, qword [rsp + 0x78]
mov qword [rax], rdx
mov qword [r11], rdi
lea r8, [rsp + 0xa8]
mov rcx, qword [rsp + 0x68]
mov rdx, rbp
mov r15, r11
call fcn.140060cc0
mov r12, rdx
test rax, rax
sete dl
test r12, r12
sete cl
or rax, r12
sete al
test al, 1
jne 0x14003b932
jmp 0x14003b9bb
mov rcx, qword [r15]
cmp rcx, qword [r13]
mov r11, r15
ja 0x14003b9b9
mov eax, dword [0x1400d57b8]
xor edx, edx
div dword [0x1400d57bc]
mov r8d, 0xef39601d
xor edx, edx
div r8d
sub eax, 0xf7598afe
and eax, 0x9ea0bef3
cmp eax, 0x74ab0af2
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x58]
ja 0x14003bc7d
jmp 0x14003b978
mov eax, dword [0x1400d57c0]
xor eax, dword [0x1400d57c4]
add eax, 0x16e042d8
mov r8d, 0x3942bee3
xor edx, edx
div r8d
sub eax, 0x6bc587ee
cmp rdi, rcx
sete sil
and sil, 1
mov byte [r10], sil
mov qword [r9], rcx
cmp eax, 0x55b5a405
jbe 0x14003b978
mov r13b, sil
mov rdi, rcx
jmp 0x14003b9e9
ud2
test dl, 1
jne 0x14003b9c2
jmp 0x14003b9cf
xor r13d, r13d
test cl, 1
mov r11, r15
jne 0x14003b9e9
jmp 0x14003b9fd
xor r13d, r13d
cmp r14, rdi
mov rdx, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
mov r11, r15
je 0x14003ba09
jmp 0x14003b8bd
mov byte [rsp + 0x22], 0
mov rdx, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
jmp 0x14003b8bd
mov byte [rsp + 0x22], 0
mov ebx, 1
jmp 0x14003ba33
mov ebx, 2
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0
jne 0x14003ba1a
jmp 0x14003ba33
mov byte [rsp + 0x22], 0
mov byte [rax], 0
mov ebx, 2
jmp 0x14003ba33
mov ebx, 1
mov r12, r15
jmp 0x14003ba33
lea rcx, [rsp + 0x22]
call fcn.140065ad0
jmp 0x14003bc44
jmp 0x14003ba44
mov rcx, qword [rsp + 0x50]
xor edx, edx
mov r8d, 0x10
call fcn.1400aed70
xor r14d, r14d
cmp r13b, 0
mov r13d, 0
mov edi, 0
mov rdx, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x40]
je 0x14003b8a8
jmp 0x14003bbc1
mov eax, dword [0x1400d57c8]
sub eax, dword [0x1400d57cc]
sub eax, 0x3703f309
sub eax, 0xf8e4dcce
xor eax, 0xa7ac562d
cmp eax, 0x7ca36d10
je 0x14003bc98
mov r12, rbp
jmp 0x14003baad
mov eax, dword [0x1400d57d0]
xor edx, edx
div dword [0x1400d57d4]
xor eax, 0x9539b582
xor eax, 0xd448d7d3
mov ecx, 0xebe20d9f
xor edx, edx
div ecx
mov ebp, eax
mov r9, rdi
sub r9, r14
mov r8, r10
add r8, r14
mov rcx, rbx
mov rdx, r12
call fcn.140060cd0
mov r10, qword [rsp + 0x28]
mov r15, rdx
cmp rax, 2
sete cl
cmp ebp, 0xc3b9b025
je 0x14003baad
test cl, 1
jne 0x14003bb08
jmp 0x14003bbd2
cmp sil, 0
sete al
mov r8, qword [rsp + 0x30]
cmp rdi, r8
setb cl
and al, cl
test al, 1
jne 0x14003bb28
mov r12, r15
jmp 0x14003bbb7
mov qword [rsp + 0x88], r10
lea rsi, [rsp + 0x90]
mov qword [rsp + 0x90], r8
lea rbx, [rsp + 0x98]
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x98], rdi
lea r8, [rsp + 0x88]
mov rcx, qword [rsp + 0x68]
mov rdx, r12
call fcn.140060cc0
mov r12, rdx
test rax, rax
sete cl
or rax, r12
sete al
test al, 1
jne 0x14003bb82
jmp 0x14003bba9
mov rax, qword [rbx]
cmp rax, qword [rsi]
ja 0x14003bba7
cmp rdi, rax
sete cl
and cl, 1
mov rdx, qword [rsp + 0x58]
mov byte [rdx], cl
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov r12, r15
jmp 0x14003bbb7
ud2
mov ebx, 1
test cl, 1
jne 0x14003ba33
mov ebx, 2
jmp 0x14003ba33
mov byte [rsp + 0x22], 0
xor ebx, ebx
mov r12, qword [rsp + 0x38]
jmp 0x14003ba33
cmp rax, 0
jne 0x14003ba29
mov byte [rsp + 0x22], 0
cmp r15, 0
jne 0x14003bc0b
lea rdx, [0x1400b558a]
mov ecx, 0x17
mov r8d, 0x1b
call fcn.1400516d0
mov r12, rax
mov ebx, 1
jmp 0x14003ba33
add r14, r15
mov rax, qword [rsp + 0x50]
mov qword [rax], r14
mov rcx, qword [rsp + 0x38]
add rcx, r15
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rcx
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
mov byte [rax], 1
cmp r14, rdi
mov rbp, r12
jb 0x14003ba82
jmp 0x14003ba42
mov rax, rbx
mov rdx, r12
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x1ab29c767
xchg ebx, eax
mov byte [rbx], ch
push rsi
invalid
sub byte [rax], cl
invalid