Function at 0x14019ec90
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rcx
mov ecx, dword [0x1401fcda8]
mov edx, dword [0x1401fcdac]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov ecx, 0xc6d829ee
xor ecx, 0xb7d928cf
and eax, ecx
mov r8d, 0x43b2abe5
xor r8d, 0x49f18081
mov ecx, 0x99dd77db
xor ecx, 0x66228824
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xa5027ccf
xor r8d, 0xaf4157ab
mov edx, eax
and edx, r8d
or eax, 0xa432b64
imul eax, edx
add eax, ecx
mov ecx, 0x61ee4684
xor ecx, 0x4029e3fc
imul eax, ecx
cmp eax, 0x4df21740
jbe 0x14019f060
mov eax, dword [0x1401fcdb0]
mov ecx, dword [0x1401fcdb4]
or eax, ecx
imul eax, eax, 0xfc267b56
xor eax, 0xb29beab7
imul rax, rax, 0x43ea72af
shr rax, 0x3d
mov dword [rbp], eax
mov eax, 0x90298abb
mov dword [rbp - 4], eax
mov eax, 0x10
mov qword [rbp - 0x40], rax
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x50], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.14019f069
add rsp, 0x20
mov qword [rbp - 0x10], rax
add rax, 0x60
mov qword [rbp - 0x28], rax
movabs rcx, 0x9d3adf9845e1d92e
movabs rax, 0x9d3adf9845e1d936
xor rcx, rax
movabs rdx, 0x107687d7f3aa9e53
movabs rax, 0x107687d7f3aa9e5b
xor rdx, rax
sub rsp, 0x20
call fcn.140016330
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x18], rax
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14002821c
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 8]
mov rdx, qword [rbp - 0x18]
add rsp, 0x20
mov r8, qword [rcx]
mov qword [rdx + 8], r8
mov rcx, qword [rcx + 8]
mov qword [rdx + 0x10], rcx
mov rcx, qword [rax]
add rcx, 0x20
sub rsp, 0x20
call fcn.14018bf70
mov rdx, qword [rbp - 0x10]
mov ecx, dword [rbp - 4]
mov eax, dword [rbp]
add rsp, 0x20
mov dl, byte [rdx + 0x60]
mov r8b, 0xd9
xor r8b, 0xd9
cmp dl, r8b
sete dl
mov byte [rbp + 7], dl
cmp eax, ecx
je 0x14019ed25
mov al, byte [rbp + 7]
test al, 1
jne 0x14019ee89
jmp 0x14019efdf
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.14019c800
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14019efdf
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.14019ea10
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x5b
xor cl, 0x5b
cmp al, cl
jne 0x14019efdf
mov cx, 0xfc52
xor cx, 0xf57a
sub rsp, 0x20
call fcn.14006dfa0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x28]
mov dword [rbp - 0x54], ecx
mov al, byte [rax]
mov cl, 0x77
xor cl, 0x77
cmp al, cl
jne 0x14019efdf
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp + 8]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
sub rsp, 0x20
call fcn.1400834d0
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x68], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x60], rcx
mov al, byte [rax]
mov cl, 0x23
xor cl, 0x23
cmp al, cl
jne 0x14019efdf
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 8]
mov rdx, qword [rax]
add rdx, 0x18
sub rsp, 0x20
call fcn.140130a10
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x78], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x70], rcx
cmp byte [rax], 0
jne 0x14019efdf
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
mov ecx, dword [rbp - 0x54]
mov rax, qword [rbp - 0x70]
mov r9, qword [rbp - 0x78]
mov r10, qword [rbp - 0x60]
mov r11, qword [rbp - 0x68]
mov qword [rdx], r11
mov qword [rdx + 8], r10
mov qword [r8], r9
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.1400a1340
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe1
xor cl, 0xe1
cmp al, cl
jne 0x14019efdf
mov ecx, 0xd3
sub rsp, 0x20
call fcn.14006e1e0
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
je 0x14019f05a
sub rsp, 0x20
call fcn.140199de5
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp word [rax + 0x12], 1
jle 0x14019f05a
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0xed11160
xor ecx, 0xdad458e6
cmp eax, ecx
jne 0x14019f05a
mov rax, qword [rbp - 0x28]
mov byte [rax], 0
sub rsp, 0x20
call fcn.140199df7
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14009f0c0
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14019f05a
sub rsp, 0x20
call fcn.140199cb0
add rsp, 0x20
lea rsp, [rbp + 0x10]
pop rbp
ret
cmp byte [rsi], cl
shl byte [rdi - 0x17], cl
mov esp, 0x48fffffc
mov rax, qword [0x140208950]