Function at 0x1401d06a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov ebx, edx
mov rsi, rcx
mov r15d, dword [0x14055c270]
mov eax, dword [0x14055c268]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401d06eb
nop word cs:[rax + rax]
mov eax, dword [0x14055c26c]
cmp eax, 0x15
jge 0x1401d06e0
mov rax, qword [rsi + 0x3c8]
cmp qword [rsi + 0x3d0], rax
je 0x1401d0799
mov edi, 1
nop word cs:[rax + rax]
mov r14, qword [rax + rdi*8 - 8]
cmp qword [r14 + 0x30], 0x10
jb 0x1401d0730
mov rcx, qword [r14 + 0x18]
jmp 0x1401d0734
lea rcx, [r14 + 0x18]
mov eax, dword [0x14050d5d0]
xor eax, r15d
mov edx, dword [0x14050d6f0]
mov r8d, edx
xor r8d, 0xdf36dfb7
and edx, 0x5f36dfb7
lea edx, [r8 + rdx*2]
sub eax, edx
cdqe
add rax, qword [0x14050d5e8]
mov edx, 0xd4f29bfa
mov r8d, 0x75978b65
call qword [case.0x140303ece.0]
mov qword [r14 + 0x38], rax
mov rax, qword [rsi + 0x3c8]
mov rcx, qword [rsi + 0x3d0]
sub rcx, rax
sar rcx, 3
cmp rdi, rcx
jae 0x1401d0799
inc rdi
jmp 0x1401d0710
test bl, bl
je 0x1401d0b20
cmp qword [0x14055e9f8], 0
mov rax, r15
mov qword [rbp - 8], r15
jne 0x1401d07fa
mov eax, dword [0x14050d5c4]
or eax, r15d
add eax, 0xef62
cdqe
add rax, qword [0x14050d600]
mov ecx, 0x900
mov edx, 0x3659b47e
mov r8d, 0xe45a7a6f
call qword [case.0x140303ece.0]
mov qword [rbp - 0x10], rax
mov rcx, rax
call fcn.140083660
mov rax, qword [rbp - 0x10]
mov qword [0x14055e9f8], rax
mov r15, qword [rbp - 8]
add rsi, 0x58
mov rax, qword [0x14055e9f8]
mov rdi, qword [rax + 0x6b8]
mov qword [rbp - 0x18], 0xf
mov qword [rbp - 0x20], 5
mov eax, dword [0x14050d5d4]
or eax, r15d
add eax, 0xef62
cdqe
add rax, qword [0x14050d608]
xor ecx, ecx
mov edx, 1
mov r8d, 0xc4eea19b
mov r9d, 0x9200722e
call qword [case.0x140303ece.0]
mov ecx, dword [rax]
mov dword [rbp - 0x30], ecx
movzx eax, byte [rax + 4]
mov byte [rbp - 0x2c], al
mov byte [rbp - 0x2b], 0
lea rbx, [0x140427b38]
mov qword [rbp - 0x38], rbx
lea r9, [0x1401a8f10]
lea rdx, [rbp - 0x38]
mov rcx, rsi
mov r8, rdi
call fcn.1401b2f20
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
mov r14, qword [rbp - 8]
jb 0x1401d091a
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1401d08fd
mov edx, dword [0x14055c268]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1401d08a0
mov r8, qword [rcx - 8]
mov rdx, qword [0x14050d6f8]
mov r9d, dword [0x14055c26c]
cmp r9d, 0x2b
jge 0x1401d08a0
add rcx, 0xfffffffffffffff8
sub rcx, r8
movabs r9, 0x458f3cc675e0bddf
mov r10, rdx
xor r10, r9
and rdx, r9
lea rdx, [r10 + rdx*2]
cmp rcx, rdx
jae 0x1401d098a
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov eax, dword [0x14050d5cc]
or eax, r14d
add eax, 0xef62
cdqe
add rax, qword [0x14050d5f0]
call qword [case.0x140303ece.0]
cmp qword [0x14055e9f8], 0
jne 0x1401d096c
mov eax, dword [0x14050d5c4]
add eax, r14d
add eax, 0xef62
cdqe
add rax, qword [0x14050d600]
mov ecx, 0x900
mov edx, 0x3659b47e
mov r8d, 0xe45a7a6f
call qword [case.0x140303ece.0]
mov qword [rbp - 0x10], rax
mov rcx, rax
call fcn.140083660
mov rax, qword [rbp - 0x10]
mov qword [0x14055e9f8], rax
mov r14, qword [rbp - 8]
mov eax, dword [0x14055c268]
mov ecx, dword [0x14050d6f0]
add ecx, eax
add ecx, 0xdf37cf1a
imul ecx, eax
test cl, 1
jne 0x1401d09fe
jmp 0x1401d098f
call fcn.1403c4adc
mov rax, qword [0x14055e9f8]
mov rdi, qword [rax + 0x6b8]
mov qword [rbp - 0x18], 0xf
mov qword [rbp - 0x20], 6
mov eax, dword [0x14050d5d4]
add eax, r14d
add eax, 0xef62
cdqe
add rax, qword [0x14050d608]
xor ecx, ecx
xor edx, edx
mov r8d, 0xc4eea19b
mov r9d, 0x9200722e
call qword [case.0x140303ece.0]
mov ecx, dword [rax]
mov dword [rbp - 0x30], ecx
movzx eax, word [rax + 4]
mov word [rbp - 0x2c], ax
mov byte [rbp - 0x2a], 0
mov qword [rbp - 0x38], rbx
mov eax, dword [0x14055c26c]
cmp eax, 0x2f
jl 0x1401d0a95
movabs rdi, 0x458f3cc675e0bdce
nop dword [rax + rax]
mov rax, qword [0x14050d6f8]
add rax, rdi
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x20], 6
mov eax, dword [0x14050d5d4]
or eax, r14d
sub eax, dword [0x14050d6f0]
add eax, 0x20c92049
cdqe
add rax, qword [0x14050d608]
xor ecx, ecx
xor edx, edx
mov r8d, 0xc4eea19b
mov r9d, 0x9200722e
call qword [case.0x140303ece.0]
mov ecx, dword [rax]
mov dword [rbp - 0x30], ecx
movzx eax, word [rax + 4]
mov word [rbp - 0x2c], ax
movzx eax, byte [0x14050d700]
mov ecx, eax
xor cl, 0x9e
and al, 0x1e
add al, al
add al, cl
mov byte [rbp - 0x2a], al
mov qword [rbp - 0x38], rbx
mov eax, dword [0x14055c268]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1401d0a10
jmp 0x1401d098f
lea r9, [0x1401a8f10]
lea rdx, [rbp - 0x38]
mov rcx, rsi
mov r8, rdi
call fcn.1401b2f20
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x1401d0b20
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
movabs r8, 0x458f3cc675e0cdbe
add r8, qword [0x14050d6f8]
cmp rdx, r8
jbe 0x1401d0af4
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
mov r9, qword [rbp - 8]
jae 0x1401d0b38
add rax, 0x28
mov rdx, rax
mov rcx, r8
jmp 0x1401d0af8
mov r9, qword [rbp - 8]
mov eax, dword [0x14050d5cc]
add eax, r9d
add eax, 0xef62
cdqe
add rax, qword [0x14050d5f0]
call qword [case.0x140303ece.0]
nop word cs:[rax + rax]
mov eax, dword [0x14055c26c]
cmp eax, 0x15
jg 0x1401d0b20
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
call fcn.1403c4adc
int3