Function at 0x14018f110
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov dword [rsp + 0x5c], edx
mov qword [rsp + 0x60], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0x60]
add rax, 0x60
mov qword [rsp + 0x68], rax
mov rdx, qword [rcx]
xor eax, eax
mov ecx, eax
sub rcx, rdx
movabs rax, 0x60e163e95d22b71d
movabs r8, 0x60e163e95d22b71d
xor rax, r8
movabs r8, 0xe7d092ae40759e1
movabs r9, 0xe7d092ae40759e5
xor r8, r9
sub rax, r8
add rcx, rax
movabs rax, 0xdbdd97455ecf6e63
movabs r8, 0xdbdd97455ecf6e63
xor rax, r8
sub rax, rcx
mov qword [rsp + 0x70], rax
xor rdx, 0xffffffffffffffff
movabs r8, 0xb11b442a652f1d2b
movabs rcx, 0xb11b442a652f1d2a
xor r8, rcx
mov rcx, rax
add rcx, r8
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x14018f1d5
call fcn.14000f24b
jmp 0x14018f469
mov rax, qword [rsp + 0x70]
cmp rax, 0
jge 0x14018f221
mov rcx, qword [rsp + 0x70]
movabs rdx, 0xbc5ef415105c03d
movabs rax, 0xbc5ef415105c03d
xor rdx, rax
movabs r8, 0x8a562017d31da80
movabs rax, 0x775a9dfe82ce257f
xor r8, rax
call fcn.14001a720
jmp 0x14018f469
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
call fcn.14002bfc0
mov rax, qword [rsp + 0x60]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x14018f27a
mov rcx, qword [rsp + 0x50]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
je 0x14018f27a
mov rcx, qword [rsp + 0x60]
call fcn.14002bae0
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
mov qword [rsp + 0x38], rdx
mov rcx, rdx
add rcx, 0xfffffffffffffffc
mov qword [rsp + 0x40], rcx
xor rdx, rcx
test rcx, rcx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x14018f2b3
jmp 0x14018f2bd
call fcn.14000f24b
jmp 0x14018f3ab
mov rax, qword [rsp + 0x38]
cmp rax, 3
jg 0x14018f392
mov eax, dword [0x14027ce98]
mov edx, dword [0x14027ce9c]
mov ecx, eax
add ecx, 1
mov r8d, 0x867f62ab
xor r8d, 0x79809d54
xor eax, r8d
or eax, edx
add eax, ecx
sub eax, 0xd8b9604a
add eax, 0xef8deb71
mov ecx, 0xffffffff
xor ecx, 0xe5c74482
add eax, ecx
mov ecx, 0xb488e66a
xor ecx, 0xb488e66b
add eax, ecx
cmp eax, 0x97b3999c
jae 0x14018f46e
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x14027cea0]
xor edx, edx
div dword [0x14027cea4]
mov r8d, 0x70086323
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x38]
and eax, 0xf940625f
xor eax, 0x86bf80f2
mov dword [rsp + 0x34], eax
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
movabs rdx, 0x958686b2cc58165a
movabs r8, 0x958686b2cc58165a
xor rdx, r8
sub rdx, rax
call fcn.1400292ad
mov eax, dword [rsp + 0x34]
cmp eax, 0x46133ba
jb 0x14018f320
jmp 0x14018f3ab
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
add rax, 8
add rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x20], rcx
cmp byte [rax], 0
jne 0x14018f469
mov eax, dword [0x14027cea8]
mov edx, dword [0x14027ceac]
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x6f96d61
xor ecx, 0x74c278f3
add eax, ecx
mov ecx, 0x3676cee8
xor ecx, 0x377d1fde
xor edx, edx
div ecx
mov ecx, 0xdd12393f
xor edx, edx
div ecx
mov ecx, 0xaf38afad
xor ecx, 0x991cb232
cmp eax, ecx
ja 0x14018f477
mov r8d, dword [rsp + 0x5c]
mov eax, dword [0x14027ceb0]
xor edx, edx
div dword [0x14027ceb4]
mov ecx, 0x12719e82
xor ecx, 0xe687ef63
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x20]
xor eax, 0xef18183c
xor eax, 0x3f2aa2a
mov ecx, 0xe900d4c2
xor ecx, 0xff62c13b
mov dword [rdx], r8d
cmp eax, ecx
jbe 0x14018f41d
jmp 0x14018f469
add rsp, 0x78
ret
scasb al, byte [rdi]
clc
cmp byte [rcx + rbp*8 - 0x57], al
invalid
fdiv dword [rax - 0x62162523]
invalid