Function at 0x1401f6ce0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x18], rcx
mov eax, 0x10
mov qword [rbp - 0x38], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.1401f7485
add rsp, 0x20
mov qword [rbp - 8], rax
add rax, 0x50
mov qword [rbp - 0x28], rax
movabs rcx, 0x7321bf21f01c0bc1
movabs rax, 0x7321bf21f01c0bd9
xor rcx, rax
movabs rdx, 0xccdc3ebc22f7a49
movabs rax, 0xccdc3ebc22f7a41
xor rdx, rax
sub rsp, 0x20
call fcn.140012610
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x10], rax
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140023670
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx + 8], r8
mov rax, qword [rax + 8]
mov qword [rdx + 0x10], rax
mov rcx, qword [rcx]
add rcx, 0x20
sub rsp, 0x20
call fcn.1401f0aa0
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax + 0x50], 0
jne 0x1401f704f
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.1401f1750
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x71
xor cl, 0x71
cmp al, cl
jne 0x1401f704f
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.1401f2f30
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x44
xor cl, 0x44
cmp al, cl
jne 0x1401f704f
mov ecx, 0xf7b
sub rsp, 0x20
call fcn.1400644d0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x28]
mov dword [rbp - 0x3c], ecx
cmp byte [rax], 0
jne 0x1401f704f
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
lea rcx, [rbp + 0x20]
sub rsp, 0x20
call fcn.1400798a0
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov rcx, qword [rbp + 0x20]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbp + 0x28]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1401f704f
mov rax, qword [rbp - 0x18]
mov rdx, qword [rax]
add rdx, 0x18
lea rcx, [rbp + 0x10]
sub rsp, 0x20
call fcn.14013de60
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov qword [rbp - 0x60], rcx
mov rcx, qword [rbp + 0x18]
mov qword [rbp - 0x58], rcx
mov al, byte [rax]
mov cl, 1
xor cl, 1
cmp al, cl
jne 0x1401f704f
mov r8, qword [rbp - 0x30]
mov ecx, dword [rbp - 0x3c]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
mov r9, qword [rbp - 0x48]
mov r10, qword [rbp - 0x50]
mov qword [rbp], r10
mov qword [rbp + 8], r9
mov qword [r8], rdx
mov qword [r8 + 8], rax
mov rdx, rbp
sub rsp, 0x20
call fcn.14009b430
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401f704f
mov ecx, dword [0x1402589c0]
mov edx, dword [0x1402589c4]
xor edx, 0xc2fcd972
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov r8d, 0xf740080c
xor r8d, 0x8bff7f3
mov ecx, edx
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x65ff9174
xor edx, 0x9a006e8b
xor ecx, edx
or eax, ecx
imul eax, eax, 0x231db6c
mov r8d, 0xffffffff
xor r8d, 0x3dec2a52
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x84199583
xor r8d, 0xb9f5bfd1
mov edx, eax
and edx, r8d
or eax, 0x3dec2a52
imul eax, edx
add eax, ecx
add eax, 0xb3b1fa63
cmp eax, 0xcb176a6d
ja 0x1401f72a7
mov eax, dword [0x1402589c8]
mov ecx, dword [0x1402589cc]
xor ecx, 0xf5c111a
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xce3ead0b
mov r8d, 0xffffffff
xor r8d, 0xce3ead0b
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xce3ead0b
or eax, 0xce3ead0b
imul eax, edx
add eax, ecx
mov ecx, 0xb58e975d
xor ecx, 0x4a7168a2
mov edx, eax
xor edx, ecx
and edx, 0x5eaa65e9
mov r8d, 0xffffffff
xor r8d, 0x5eaa65e9
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5eaa65e9
or eax, 0x5eaa65e9
imul eax, edx
add eax, ecx
mov ecx, 0x717b8f07
xor edx, edx
div ecx
mov dword [rbp - 0x68], eax
mov cl, 0xda
xor cl, 0xf2
sub rsp, 0x20
call fcn.140064710
mov rcx, qword [rbp - 0x28]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0x7660d117
ja 0x1401f6f84
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1401f72a1
jmp 0x1401f704f
mov eax, dword [0x1402589d0]
and eax, dword [0x1402589d4]
mov ecx, 0x523aadc2
xor ecx, 0xa4540dd1
imul eax, ecx
mov ecx, 0x82033934
xor ecx, 0xf61c6feb
imul eax, ecx
mov r8d, 0x2b964096
xor r8d, 0x55444509
mov ecx, 0xbb2c468
xor ecx, 0xf44d3b97
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x3e6064df
xor r8d, 0x40b26140
mov edx, eax
and edx, r8d
or eax, 0x7ed2059f
imul eax, edx
add eax, ecx
mov ecx, 0x651962b2
xor ecx, 0xbf263c67
cmp eax, ecx
je 0x1401f72b0
mov eax, dword [0x1402589d8]
xor edx, edx
div dword [0x1402589dc]
imul eax, eax, 0x238154aa
mov ecx, 0xcf999dc5
xor ecx, 0xf8260f10
imul eax, ecx
add eax, 0xabf981f5
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.1401f2d90
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x7c]
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
mov cx, word [rcx + 0x12]
mov dx, 0x9fdc
xor dx, 0x9fdd
cmp cx, dx
setg cl
mov byte [rbp - 0x69], cl
cmp eax, 0xfe8f7a27
jae 0x1401f70d1
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1401f7146
jmp 0x1401f72a1
mov eax, dword [0x1402589e0]
add eax, dword [0x1402589e4]
mov ecx, 0xff5e052f
xor edx, edx
div ecx
xor eax, 0xd65817ae
and eax, 0x21970d70
cmp eax, 0x1a3be278
je 0x1401f72b9
mov rdx, qword [rbp - 0x78]
mov ecx, dword [0x1402589e8]
or ecx, dword [0x1402589ec]
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xa244d1d0
or ecx, 0xa244d1d0
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x7e2a745e
xor ecx, 0x81d58ba1
xor eax, ecx
mov r9d, eax
and r9d, 0xd2669534
mov ecx, 0xd5f7811b
xor ecx, 0x791142f
or eax, ecx
add r9d, eax
mov ecx, r9d
xor ecx, 0xffffffff
mov eax, 0x40e50506
xor eax, 0x994ab5ed
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xd9afb0eb
and r9d, r8d
mov ecx, 0x9e80f86b
xor ecx, 0x748537be
mov r10d, 0x487106d4
xor r10d, 0xb78ef92b
xor ecx, r10d
mov r10d, 0xcf75da94
xor r10d, 0x16da6a7f
and ecx, r10d
and r8d, 0xea05cfd5
or eax, r9d
or ecx, r8d
xor eax, ecx
mov ecx, 0x1207ad34
xor ecx, 0xb4c5c0c1
mov rdx, qword [rdx + 0x18]
mov edx, dword [rdx + 8]
mov r8d, 0xe26c7bd
xor r8d, 0xcb54e5dc
cmp edx, r8d
sete dl
mov byte [rbp - 0x7d], dl
cmp eax, ecx
je 0x1401f7170
mov al, byte [rbp - 0x7d]
test al, 1
jne 0x1401f725d
jmp 0x1401f72a1
mov rax, qword [rbp - 0x28]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401f2ed8
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140099ce0
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xd3
xor cl, 0xd3
cmp al, cl
jne 0x1401f72a1
sub rsp, 0x20
call fcn.1401f2f05
add rsp, 0x20
lea rsp, [rbp + 0x30]
pop rbp
ret
scasb al, byte [rdi]
mov cl, 0xf
or ch, cl
invalid
hlt
invalid