Function at 0x14001f19c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x140046180]
xor rax, rsp
mov qword [rbp + 0x27], rax
lea rcx, [rbp - 0x69]
call fcn.14000259c
nop
call fcn.1400034c8
mov r14, rax
lea rdx, [rax + 0x28]
lea rcx, [rsp + 0x20]
call fcn.140004570
nop
xor edi, edi
mov r12d, edi
mov esi, edi
lea r15d, [rdi + 2]
mov r13d, r15d
mov ebx, 0x400
mov rcx, rbx
call fcn.140022d0c
mov rbx, rax
mov qword [rsp + 0x28], rax
mov rdx, qword [r14 + 0x20]
mov rcx, rax
lea rdx, [rsi + rdx + 0x2bc]
mov r8d, 0x400
call fcn.1400230b0
mov r11, rbx
mov eax, 0x400
xor byte [r11], 0x9b
inc r11
dec rax
jne 0x14001f23b
mov byte [rbx + 0x3ff], dil
cmp byte [rbx], dil
je 0x14001f2bf
mov rdx, r12
lea rcx, [rbp - 0x31]
call fcn.140003438
nop
lea r8, [rsp + 0x28]
mov rdx, rax
lea rcx, [rbp - 9]
call fcn.1400045cc
nop
mov rdx, rax
lea rcx, [rbp - 0x69]
call fcn.140004aa8
mov r8, rax
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x69]
call fcn.140004648
nop
cmp qword [rbp + 0xf], 0x10
jb 0x14001f29f
mov rcx, qword [rbp - 9]
call fcn.1400233e4
mov qword [rbp + 0xf], 0xf
mov qword [rbp + 7], rdi
mov byte [rbp - 9], dil
cmp qword [rbp - 0x19], 0x10
jb 0x14001f2bf
mov rcx, qword [rbp - 0x31]
call fcn.1400233e4
xor edx, edx
mov r8d, 0x400
mov rcx, rbx
call fcn.140026400
mov rcx, rbx
call fcn.14002382c
inc r12
mov ebx, 0x400
add rsi, rbx
dec r13
jne 0x14001f209
lea rcx, [rsp + 0x20]
call fcn.1400045a8
lea rcx, [rbp - 0x69]
call fcn.140005920
mov r11d, dword [rbp - 0x59]
mov dword [0x140049f84], r11d
lea rcx, [rsp + 0x30]
call fcn.14000259c
nop
call fcn.1400034c8
mov r13, rax
lea rdx, [rax + 0x28]
lea rcx, [rsp + 0x28]
call fcn.140004570
nop
mov r12, rdi
mov rsi, rdi
mov r14d, 1
mov rcx, rbx
call fcn.140022d0c
mov rbx, rax
mov qword [rsp + 0x20], rax
mov rdx, qword [r13 + 0x20]
mov rcx, rax
lea rdx, [rsi + rdx + 0xabc]
mov r8d, 0x400
call fcn.1400230b0
mov r11, rbx
mov eax, 0x400
xor byte [r11], 0x9b
add r11, r14
sub rax, r14
jne 0x14001f369
mov byte [rbx + 0x3ff], dil
cmp byte [rbx], dil
je 0x14001f3ef
mov rdx, r12
lea rcx, [rbp - 0x31]
call fcn.140003438
nop
lea r8, [rsp + 0x20]
mov rdx, rax
lea rcx, [rbp - 9]
call fcn.1400045cc
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140004aa8
mov r8, rax
lea rdx, [rbp - 0x49]
lea rcx, [rsp + 0x30]
call fcn.140004648
nop
cmp qword [rbp + 0xf], 0x10
jb 0x14001f3cf
mov rcx, qword [rbp - 9]
call fcn.1400233e4
mov qword [rbp + 0xf], 0xf
mov qword [rbp + 7], rdi
mov byte [rbp - 9], dil
cmp qword [rbp - 0x19], 0x10
jb 0x14001f3ef
mov rcx, qword [rbp - 0x31]
call fcn.1400233e4
xor edx, edx
mov r8d, 0x400
mov rcx, rbx
call fcn.140026400
mov rcx, rbx
call fcn.14002382c
add r12, r14
mov ebx, 0x400
add rsi, rbx
sub r15, r14
jne 0x14001f337
lea rcx, [rsp + 0x28]
call fcn.1400045a8
call fcn.140014e34
mov rsi, rax
lea rdx, [0x14004a0b0]
lea rcx, [rsp + 0x20]
call fcn.140004570
nop
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.1400158bc
mov ebx, eax
lea rcx, [rsp + 0x20]
call fcn.1400045a8
mov r8, qword [rsp + 0x38]
test ebx, ebx
jne 0x14001f531
mov rbx, qword [r8]
jmp 0x14001f4da
mov qword [rbp - 0x19], 0xf
mov qword [rbp - 0x21], rdi
mov byte [rbp - 0x31], dil
lea rdx, [rbx + 0x18]
lea r8, [rbp - 0x31]
mov rcx, rsi
call fcn.140014fa8
nop
cmp qword [rbp - 0x19], 0x10
jb 0x14001f49b
mov rcx, qword [rbp - 0x31]
call fcn.1400233e4
cmp byte [rbx + 0x69], dil
jne 0x14001f4d5
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x69], dil
jne 0x14001f4b9
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], dil
je 0x14001f4ab
jmp 0x14001f4d5
mov rax, qword [rbx + 8]
jmp 0x14001f4cc
cmp rbx, qword [rax + 0x10]
jne 0x14001f4d2
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x69], dil
je 0x14001f4bf
mov rbx, rax
mov r8, qword [rsp + 0x38]
cmp rbx, r8
jne 0x14001f46a
mov rax, qword [rbp - 0x79]
test rax, rax
je 0x14001f537
mov dword [0x140049f88], eax
call fcn.1400034c8
mov rbx, rax
lea rdx, [rax + 0x28]
lea rcx, [rsp + 0x20]
call fcn.140004570
mov r11, qword [rbx + 0x20]
mov ebx, dword [r11 + 0x30]
lea rcx, [rsp + 0x20]
call fcn.1400045a8
mov r11d, dword [0x140049f64]
test ebx, ebx
cmovne r11d, r14d
mov dword [0x140049f64], r11d
mov r8, qword [rsp + 0x38]
jmp 0x14001f537
mov dword [0x140049f64], edi
cmp dword [0x140049f88], edi
jne 0x14001f583
cmp dword [0x140049f84], edi
jne 0x14001f583
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x38]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x61]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x69]
call fcn.1400024e4
nop
jmp 0x14001f5c0
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x38]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x61]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x69]
call fcn.1400024e4
nop
mov edi, r14d
mov rcx, qword [rbp - 0x61]
call fcn.1400233e4
mov eax, edi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140022ee0
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret