Function at 0x14019ff20
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], rcx
mov eax, dword [0x1401e0128]
mov r8d, dword [0x1401e012c]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x3fdb152d
xor ecx, 0x9df91d63
add eax, ecx
mov ecx, 0x31a059c0
xor ecx, 0x3a8396f5
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x9efffddc
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9efffddc
or eax, 0x9efffddc
imul eax, edx
add eax, ecx
mov ecx, 0x5a083499
xor ecx, 0x52b25bae
cmp eax, ecx
je 0x1401a036b
mov ecx, dword [0x1401e0130]
mov edx, dword [0x1401e0134]
mov r8d, edx
xor r8d, 0xc6ed359c
mov eax, ecx
not eax
and eax, r8d
xor edx, 0x3912ca63
and ecx, edx
sub ecx, eax
mov edx, ecx
and edx, 0x7beb13d1
add edx, edx
mov eax, ecx
neg edx
mov ecx, edx
lea eax, [rax + rcx + 0x516ebd91]
mov dword [rbp + 0x10], eax
mov eax, 0x10
mov qword [rbp - 0x28], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.1401a0380
add rsp, 0x20
mov qword [rbp + 8], rax
add rax, 0x60
mov qword [rbp - 0x10], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.1400133d1
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp], rax
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14002438a
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp]
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.140199e1e
mov rcx, qword [rbp + 8]
mov eax, dword [rbp + 0x10]
add rsp, 0x20
cmp byte [rcx + 0x60], 0
sete cl
mov byte [rbp + 0x17], cl
cmp eax, 0x9b3806be
je 0x14019ffb0
mov al, byte [rbp + 0x17]
test al, 1
jne 0x1401a00f9
jmp 0x1401a024f
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.14019a780
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x21
xor cl, 0x21
cmp al, cl
jne 0x1401a024f
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.14019bdd0
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x12
xor cl, 0x12
cmp al, cl
jne 0x1401a024f
mov cx, 0x653c
xor cx, 0x6531
sub rsp, 0x20
call fcn.140062c50
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x10]
mov dword [rbp - 0x3c], ecx
cmp byte [rax], 0
jne 0x1401a024f
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
sub rsp, 0x20
call fcn.140074d79
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x50], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1401a024f
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
add rdx, 0x18
sub rsp, 0x20
call fcn.140117300
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x60], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x58], rcx
mov al, byte [rax]
mov cl, 0xe1
xor cl, 0xe1
cmp al, cl
jne 0x1401a024f
mov r8, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x20]
mov ecx, dword [rbp - 0x3c]
mov rax, qword [rbp - 0x58]
mov r9, qword [rbp - 0x60]
mov r10, qword [rbp - 0x48]
mov r11, qword [rbp - 0x50]
mov qword [rdx], r11
mov qword [rdx + 8], r10
mov qword [r8], r9
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.140090fe0
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xf6
xor cl, 0xf6
cmp al, cl
jne 0x1401a024f
mov cl, 0x6a
xor cl, 0x17
sub rsp, 0x20
call fcn.140062e90
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
je 0x1401a0365
mov eax, dword [0x1401e0138]
and eax, dword [0x1401e013c]
imul eax, eax, 0x27f6ee9f
and eax, 0x414c0b81
and eax, 0x3d35463b
cmp eax, 0xe9df5428
jae 0x1401a0374
mov eax, dword [0x1401e0140]
mov ecx, dword [str._l__]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
sub eax, 0x61c31da5
and eax, 0x59e9d2f5
mov edx, 0x2f7ac8da
xor edx, 0x8331b899
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xac4b7043
and eax, edx
shl eax, 1
sub eax, ecx
mov dword [rbp - 0x74], eax
mov eax, 0x3fab323a
xor eax, 0xb4e404bf
mov dword [rbp - 0x78], eax
sub rsp, 0x20
call fcn.14019bd6a
mov ecx, dword [rbp - 0x78]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x74]
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
cmp word [rdx + 0x12], 1
setg dl
mov byte [rbp - 0x61], dl
cmp eax, ecx
ja 0x1401a0276
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1401a0309
jmp 0x1401a0365
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0xb220a54e
xor ecx, 0x6625ecc8
cmp eax, ecx
jne 0x1401a0365
mov rax, qword [rbp - 0x10]
mov byte [rax], 0
sub rsp, 0x20
call fcn.14019bd7c
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14008f410
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401a0365
sub rsp, 0x20
call fcn.14019bda9
add rsp, 0x20
lea rsp, [rbp + 0x20]
pop rbp
ret
and esp, dword [rax + rcx*8]
shr cl, cl
cmp al, 0xfc
invalid
invalid