Function at 0x14018c1d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x38], rcx
mov eax, 0x40
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.14018f95d
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov qword [rbp - 0x28], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
mov qword [rbp + 0x68], 0
lea rax, [rbp + 0x68]
add rax, 8
mov qword [rbp - 0x20], rax
mov qword [rbp + 0x70], 0
lea rcx, [rbp + 0x50]
mov edx, 0x10
sub rsp, 0x20
call fcn.14018c15d
add rsp, 0x20
lea rcx, [rbp + 0x50]
lea rdx, [0x1401eb010]
sub rsp, 0x20
call fcn.14018c780
mov rcx, qword [rbp]
add rsp, 0x20
mov edx, 0x40
sub rsp, 0x20
call fcn.14018c15d
add rsp, 0x20
lea rax, [rbp + 0x50]
add rax, 4
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x50]
add rax, 8
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x50]
add rax, 0xc
mov qword [rbp - 8], rax
mov eax, 0x80000000
cpuid
mov r8d, eax
mov rax, qword [rbp]
mov dword [rbp + 0xc], r8d
mov r8d, ecx
mov ecx, dword [rbp + 0xc]
mov dword [rbp + 0x10], r8d
mov r8d, edx
mov edx, dword [rbp + 0x10]
mov dword [rbp + 0x14], ecx
xor ecx, ecx
mov edx, ecx
sub rdx, rax
xor ecx, ecx
sub rcx, 0x20
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov qword [rbp + 0x18], rcx
mov rcx, rax
and rcx, 0x10
shl rcx, 1
movabs rdx, 0xee6abc3e269f9257
movabs r8, 0xee6abc3e269f9247
xor rdx, r8
xor rax, rdx
add rax, rcx
mov qword [rbp + 0x20], rax
mov eax, 0x80000000
mov dword [rbp + 0x2c], eax
mov ecx, dword [rbp + 0x14]
mov eax, dword [rbp + 0x2c]
mov dword [rbp - 0x3c], eax
cmp eax, ecx
ja 0x14018c54a
mov eax, dword [rbp - 0x3c]
mov r8, qword [rbp - 0x10]
mov r10, qword [rbp - 0x18]
cpuid
mov r11d, eax
mov eax, dword [rbp - 0x3c]
mov r9d, ecx
mov rcx, qword [rbp - 8]
mov dword [rbp + 0x50], r11d
mov dword [r10], ebx
mov dword [r8], r9d
mov dword [rcx], edx
sub eax, 0x80000002
je 0x14018c384
jmp 0x14018c35e
mov eax, dword [rbp - 0x3c]
sub eax, 0x80000003
je 0x14018c39e
jmp 0x14018c371
mov eax, dword [rbp - 0x3c]
sub eax, 0x80000004
je 0x14018c3b8
jmp 0x14018c3cd
mov rcx, qword [rbp]
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.14018c780
add rsp, 0x20
jmp 0x14018c3cd
mov rcx, qword [rbp + 0x20]
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.14018c780
add rsp, 0x20
jmp 0x14018c3cd
mov rcx, qword [rbp + 0x18]
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.14018c780
add rsp, 0x20
mov eax, dword [0x1401df9b8]
xor edx, edx
div dword [0x1401df9bc]
mov r11d, eax
mov ecx, 0x95b4a4a
xor ecx, 0xf6a4b5b5
mov eax, r11d
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0x3566fbdd
mov ecx, 0xf126b35c
xor ecx, 0xdd1abda1
mov r8d, 0xcb556473
xor r8d, 0x34aa9b8c
xor ecx, r8d
mov r9d, 0x3d261eed
xor r9d, 0x111a1010
mov r8d, eax
and r8d, r9d
and r11d, ecx
mov r10d, 0xb6715fd8
xor r10d, 0x9a4d5125
mov r9d, edx
and r9d, r10d
mov r10d, ecx
and r10d, 0x3566fbdd
or r8d, r11d
or r9d, r10d
xor r8d, r9d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x2c3c0efd
and eax, ecx
or r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0xfc881306
mov edx, 0xffffffff
xor edx, 0xfc881306
and r8d, edx
mov eax, 0xffffffff
xor eax, 0xbbb49203
mov r9d, 0xcf9e0fe3
xor r9d, 0x33161ce5
and eax, r9d
and edx, 0xbbb49203
or ecx, r8d
or eax, edx
xor ecx, eax
mov edx, 0x73431cf8
xor edx, 0x8cbce307
mov eax, ecx
xor eax, edx
and eax, 0x1d0c3142
mov edx, 0x74acd542
xor edx, 0x69a0e400
mov r8d, 0xd96fe1d2
xor r8d, 0x26901e2d
xor edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0xf4b2e29c
jae 0x14018c768
mov ecx, dword [rbp - 0x3c]
mov edx, dword [0x1401df9c0]
xor edx, 0x8a783db0
mov r8d, dword [0x1401df9c4]
mov eax, 0x43fbb8ce
xor eax, 0xa972b1c9
xor r8d, eax
mov eax, edx
and eax, r8d
or edx, r8d
add eax, edx
mov r8d, 0xcedfce4e
xor edx, edx
div r8d
mov edx, eax
and edx, 0x1212d5a1
shl edx, 1
add eax, 0x1212d5a1
sub eax, edx
add eax, 0x185ac012
add ecx, 1
mov dword [rbp - 0x40], ecx
cmp eax, 0x49e6455c
jae 0x14018c4df
mov eax, dword [rbp - 0x40]
mov dword [rbp + 0x2c], eax
jmp 0x14018c317
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp]
add rax, 0x60
mov qword [rbp - 0x48], rax
mov rax, qword [0x1401eb038]
mov qword [rbp + 0x40], rax
mov rax, qword [0x1401eb040]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x68]
mov r8d, 0x40
lea r9, [rbp + 0x40]
sub rsp, 0x20
call fcn.140046b90
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax + 0x60], 0
jne 0x14018c718
sub rsp, 0x20
call fcn.14018f95d
add rsp, 0x20
mov rcx, rax
add rcx, 0x60
mov qword [rbp - 0x50], rcx
cmp byte [rax + 0x60], 0
jne 0x14018c65e
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x68]
mov qword [rbp - 0x60], rdx
mov rcx, qword [rax]
add rcx, 8
lea rax, [0x1401eb061]
cmp rdx, 0
cmove rcx, rax
sub rsp, 0x20
call fcn.140099400
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x50]
mov dword [rbp - 0x54], ecx
mov al, byte [rax]
mov cl, 0xdd
xor cl, 0xdd
cmp al, cl
jne 0x14018c65e
mov rax, qword [rbp - 0x60]
mov ecx, dword [rbp - 0x54]
movsxd rcx, ecx
mov qword [rbp - 0x68], rcx
cmp rax, rcx
jle 0x14018c65e
mov eax, dword [rbp - 0x54]
cmp eax, 0
jge 0x14018c649
mov rcx, qword [rbp - 0x68]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d167
add rsp, 0x20
jmp 0x14018c65e
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp + 0x68]
sub rsp, 0x20
call fcn.140015140
add rsp, 0x20
mov rax, qword [rbp - 0x48]
mov al, byte [rax]
mov cl, 0xfb
xor cl, 0xfb
cmp al, cl
jne 0x14018c718
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x30]
mov r9d, 1
lea rax, [0x1401eb080]
sub rsp, 0x30
mov r8d, r9d
mov qword [rsp + 0x20], rax
call fcn.14003d920
mov rax, qword [rbp - 0x48]
add rsp, 0x30
cmp byte [rax], 0
jne 0x14018c718
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x14018c75d
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
movabs rdx, 0x6f0d46223dd216b2
movabs r8, 0x6f0d46223dd216b2
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x78], rax
je 0x14018c74c
jmp 0x14018c75d
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x14018c75d
mov rax, qword [rbp - 0x80]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
cmp rcx, 0
mov qword [rbp - 0x78], rax
jne 0x14018c75d
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov rax, qword [rbp - 0x38]
lea rsp, [rbp + 0x78]
pop rbx
pop rbp
ret
dec byte [rsi + 0x3d]
fucompi st(1)
outsb dx, byte [rsi]
std
invalid