Function at 0x14006da60
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x58], rcx
call fcn.14006a8ef
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
call fcn.14003a1f2
mov rcx, qword [rsp + 0x60]
mov byte [rsp + 0x6f], al
mov rax, 0xffffffffffffffff
cmp byte [rcx], 0
mov qword [rsp + 0x70], rax
jne 0x14006dda8
mov ecx, dword [0x1401de318]
mov eax, dword [0x1401de31c]
xor eax, 0x3bd943fa
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x91ac69de
and eax, edx
or ecx, 0x91ac69de
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xfff65572
xor ecx, 0x9aa8d
xor eax, ecx
xor eax, 0xffffffff
mov edx, 0xe0b9cd29
xor edx, 0x61bb687f
mov ecx, 0x3c949695
xor ecx, 0xc36b696a
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x335c24b2
or eax, edx
or ecx, 0x335c24b2
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x2662836e
xor edx, edx
div ecx
cmp eax, 0x75150d91
jae 0x14006ddb2
mov cl, byte [rsp + 0x6f]
mov eax, dword [0x1401de320]
imul eax, dword [0x1401de324]
mov edx, 0x629401d2
xor edx, 0xdf6bce51
add eax, edx
mov r8d, 0xb41b5a6e
xor edx, edx
div r8d
sub eax, 0xe28e4043
mov dl, cl
xor dl, 0xe0
xor dl, 0xff
mov r8b, cl
or r8b, 0xe0
and r8b, dl
mov r9b, 0x9c
xor r9b, 0x3c
cmp r8b, r9b
sete dl
mov byte [rsp + 0x47], dl
mov dl, 0xa3
xor dl, 0xbc
and cl, dl
movzx ecx, cl
mov edx, ecx
mov qword [rsp + 0x48], rdx
movabs rcx, 0x37016a9b875499f9
movabs r10, 0xc8fe956478ab6606
xor rcx, r10
cmp r8b, r9b
cmove rcx, rdx
mov qword [rsp + 0x50], rcx
cmp eax, 0xc6621626
je 0x14006db1f
mov rax, qword [rsp + 0x48]
mov cl, byte [rsp + 0x47]
test cl, 1
mov qword [rsp + 0x70], rax
jne 0x14006dda8
jmp 0x14006dbcb
mov al, byte [rsp + 0x6f]
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0x38], rcx
sub al, 0xd9
je 0x14006dc15
jmp 0x14006dbe8
mov al, byte [rsp + 0x6f]
sub al, 0xda
je 0x14006dc41
jmp 0x14006dbf9
mov rax, qword [rsp + 0x38]
mov cl, byte [rsp + 0x6f]
sub cl, 0xdb
mov qword [rsp + 0x70], rax
je 0x14006dd82
jmp 0x14006dda8
mov rcx, qword [rsp + 0x58]
call fcn.14003a1f2
mov rdx, qword [rsp + 0x60]
mov cl, al
mov rax, qword [rsp + 0x50]
mov dl, byte [rdx]
movzx ecx, cl
cmp dl, 0
cmove rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x14006dda8
mov ecx, dword [0x1401de328]
mov edx, dword [0x1401de32c]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
mov r8d, 0x74986b11
xor r8d, 0x8b6794ee
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x90beee13
mov r8d, 0xef21ad47
xor r8d, 0x7f9f4354
mov ecx, 0x862b4320
xor ecx, 0x79d4bcdf
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x90beee13
mov r8d, 0xaf0c23c4
xor r8d, 0x3fb2cdd7
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x4a5f920c
xor ecx, 0x4a5f920c
mov edx, 0xc3c76ec
xor edx, 0x17492df2
sub ecx, edx
add eax, ecx
imul eax, eax, 0x99a4cf81
mov ecx, 0xa831f770
xor ecx, 0xfe2e376f
cmp eax, ecx
jbe 0x14006ddbb
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1401de330]
and eax, dword [0x1401de334]
xor eax, 0x19909cd5
mov edx, 0x2a148ee8
xor edx, 0xec112c2c
imul eax, edx
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0x1a49e00
add edx, eax
xor eax, eax
sub eax, edx
mov dword [rsp + 0x2c], eax
mov eax, 0x9fccfc7d
xor eax, 0xabc54e47
mov dword [rsp + 0x28], eax
call fcn.14006cec0
mov r9, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x28]
mov r8w, ax
mov eax, dword [rsp + 0x2c]
mov r9b, byte [r9]
mov r10b, 0xc2
xor r10b, 0xc2
movzx r8d, r8w
cmp r9b, r10b
cmove rdx, r8
mov qword [rsp + 0x30], rdx
cmp eax, ecx
je 0x14006ddbb
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
jmp 0x14006dda8
mov rcx, qword [rsp + 0x58]
call fcn.14006d140
mov rdx, qword [rsp + 0x60]
mov ecx, eax
mov rax, qword [rsp + 0x50]
mov dl, byte [rdx]
mov ecx, ecx
cmp dl, 0
cmove rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
add rsp, 0x78
ret
invalid
jbe 0x14006ddd2
jmp 0x14006dcef
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x30], rcx
call fcn.14006a8ef
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov qword [rsp + 0x40], rax
call fcn.140039b60
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov al, byte [rax]
test al, al
setne al
mov rcx, qword [rcx]
sub rcx, r8
sete cl
or al, cl
test al, 1
jne 0x14006de8b
mov ecx, 0x40
mov edx, 8
call fcn.140013610
mov rcx, rax
mov rax, qword [0x1401f0ac0]
mov qword [rcx], rax
lea rax, [0x1401ee810]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401ee8e8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401ee8f0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401ee810]
lea r8, [0x1401ee818]
lea r9, [0x1401ee825]
mov qword [rsp + 0x20], 0x3f317c2c
call fcn.14001355a
mov rax, qword [rsp + 0x30]
add rsp, 0x58
ret