Function at 0x14001c720
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov rax, r8
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x20], r9
lea rcx, [rsp + 0x90]
mov rdx, rdi
mov r8, rsi
mov r9, rax
call fcn.14008ff20
mov rdx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0x98]
cmp r8, rdx
sete r9b
cmp qword [rsp + 0x90], 0
mov rcx, qword [rsp + 0xd8]
je 0x14001ca55
mov rbp, qword [rsp + 0xb8]
mov r11, rsi
cmp rbp, rdx
je 0x14001cafa
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0xf0]
lea r9, [rax - 1]
mov qword [rsp + 0x48], r9
mov r9, qword [rsp + 0xb0]
mov qword [rsp + 0x68], r9
mov r12, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xa8]
mov r11, rax
mov r9, r10
mov qword [rsp + 0x88], r10
sub r11, r10
mov qword [rsp + 0x78], r11
lea r9, [r8 - 1]
mov qword [rsp + 0x70], r9
cmp r9, rax
setb byte [rsp + 0x37]
mov r9, rbp
sub r9, r8
mov qword [rsp + 0x60], r9
lea r13, [rcx + rbp]
lea rdi, [rcx + r8]
lea rsi, [r12 + r8]
lea r9, [r12 + r8]
dec r9
mov qword [rsp + 0x80], r9
lea r9, [r8 + rbp]
dec r9
mov qword [rsp + 0x50], r9
mov r11, rbp
mov r9, qword [rsp + 0x48]
add r9, rbp
cmp r9, rdx
jae 0x14001caf0
mov r10, qword [rsp + 0x88]
add r10, r11
mov qword [rsp + 0x58], r10
lea rbp, [r11 + rax]
cmp rbx, 0xffffffffffffffff
je 0x14001c940
mov r15, r11
jmp 0x14001c886
xor ebx, ebx
mov r15, rbp
mov r9, qword [rsp + 0x48]
add r9, r15
cmp r9, rdx
jae 0x14001caf0
cmp r11, r15
jne 0x14001caf0
movzx r9d, byte [rcx + r9]
mov r10, qword [rsp + 0x68]
bt r10, r9
jae 0x14001c870
cmp r8, rbx
mov r9, rbx
cmova r9, r8
mov r10, r9
nop dword [rax]
cmp r10, rax
jae 0x14001c8e0
lea r14, [r11 + r10]
cmp r14, rdx
jae 0x14001cb6b
lea r15, [r10 + 1]
movzx r14d, byte [r12 + r10]
cmp r14b, byte [r13 + r10]
mov r10, r15
je 0x14001c8b0
add r15, qword [rsp + 0x60]
xor ebx, ebx
jmp 0x14001c875
mov r10, r8
nop word cs:[rax + rax]
cmp rbx, r10
jae 0x14001c930
dec r10
cmp r10, rax
jae 0x14001ca43
lea r9, [r10 + r11]
cmp r9, rdx
jae 0x14001cb59
movzx r14d, byte [r12 + r10]
cmp r14b, byte [rcx + r9]
je 0x14001c8f0
mov rbx, qword [rsp + 0x78]
mov r15, qword [rsp + 0x58]
jmp 0x14001c875
xor ebx, ebx
jmp 0x14001ca17
mov r10, r11
jmp 0x14001c961
mov r10, qword [rsp + 0x58]
nop word [rax + rax]
mov r9, qword [rsp + 0x48]
add r9, r10
cmp r9, rdx
jae 0x14001caf0
cmp r11, r10
jne 0x14001caf0
movzx r9d, byte [rcx + r9]
mov r10, qword [rsp + 0x68]
bt r10, r9
mov r10, rbp
jae 0x14001c950
xor r9d, r9d
mov rbx, r11
nop word cs:[rax + rax]
lea r10, [r8 + r9]
cmp r10, rax
jae 0x14001c9c0
lea r10, [r8 + rbx]
cmp r10, rdx
jae 0x14001cb68
movzx r14d, byte [rsi + r9]
lea r10, [rbx + 1]
inc r9
cmp r14b, byte [rdi + rbx]
mov rbx, r10
je 0x14001c990
jmp 0x14001c950
test byte [rsp + 0x37], 1
je 0x14001ca32
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x80]
mov rbx, r8
nop word [rax + rax]
sub rbx, 1
jb 0x14001ca10
cmp r9, rdx
jae 0x14001cb59
movzx r15d, byte [r10]
dec r10
lea r14, [r9 - 1]
cmp r15b, byte [rcx + r9]
mov r9, r14
je 0x14001c9e0
jmp 0x14001c945
mov rbx, 0xffffffffffffffff
add qword [rsp + 0x60], rax
add r13, rax
add qword [rsp + 0x50], rax
cmp rbp, rdx
jne 0x14001c832
jmp 0x14001cb36
mov rbx, 0xffffffffffffffff
test r8, r8
je 0x14001ca17
mov r10, qword [rsp + 0x70]
lea r8, [0x1400fbcc0]
mov rcx, r10
mov rdx, rax
call fcn.1400f90a0
cmp byte [rsp + 0xaa], 0
mov r11, rsi
jne 0x14001cafa
movzx eax, byte [rsp + 0xa8]
test r9b, 1
je 0x14001cac8
test r8, r8
je 0x14001cb1f
cmp r8, rdx
jae 0x14001cb40
cmp byte [rcx + r8], 0xc0
jl 0x14001cb84
mov r11, rsi
test al, al
je 0x14001cafa
nop dword [rax + rax]
xor al, 1
jne 0x14001caa0
jmp 0x14001cb54
movzx r9d, byte [rcx + r8]
test r9b, r9b
js 0x14001caea
mov r9d, eax
xor r9b, 1
test al, al
mov eax, r9d
je 0x14001cb1a
test r8, r8
je 0x14001cab0
cmp r8, rdx
jae 0x14001cb84
movzx r9d, byte [rcx + r8]
cmp r9b, 0xbf
jle 0x14001cb84
test r9b, r9b
jns 0x14001caba
cmp r9b, 0xe0
jmp 0x14001caba
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
sub rsi, r11
add rdi, r11
mov rax, rdi
mov rdx, rsi
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r11, r8
jmp 0x14001cafa
mov r11, rsi
test al, al
je 0x14001cafa
nop word cs:[rax + rax]
xor al, 1
jne 0x14001cb30
jmp 0x14001cb54
mov rsi, qword [rsp + 0x40]
mov r11, rsi
jmp 0x14001caf5
mov r11, rsi
test al, al
je 0x14001cafa
nop word [rax + rax]
xor al, 1
jne 0x14001cb50
mov r11, rsi
jmp 0x14001cafa
lea r8, [0x1400fbcd8]
mov rcx, r9
call fcn.1400f90a0
mov r9, r8
add r9, r11
cmp rdx, r9
cmova r9, rdx
lea r8, [0x1400fbcf0]
mov rcx, r9
call fcn.1400f90a0
lea rax, [0x1400fbd08]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.1400f95d0
int3