Function at 0x14009dfbb
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x18], rcx
mov eax, 0x30
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov eax, 0x10
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov qword [rbp], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp]
add rcx, 0x60
mov qword [rbp + 8], rcx
mov rcx, rax
add rcx, 0x2b71
mov qword [rbp + 0x10], rcx
cmp byte [rax + 0x2b71], 0
jne 0x14009e10c
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
add rax, 0x10
movabs rcx, 0x3f265efb9943d85d
movabs rdx, 0x3f265efb9943d86d
xor rcx, rdx
cmp rax, rcx
mov qword [rbp - 0x20], rax
jne 0x14009e06e
mov rdx, qword [rbp - 0x10]
mov ecx, 4
sub rsp, 0x20
call fcn.14009c9a7
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009e107
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp]
add rcx, 0x2b40
sub rsp, 0x20
call fcn.14009c8c9
mov rax, qword [rbp + 8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xb6
xor cl, 0xb6
cmp al, cl
jne 0x14009e107
mov rax, qword [rbp + 0x10]
mov cl, 0xd2
xor cl, 0xd3
mov byte [rax], cl
jmp 0x14009e16b
jmp 0x14009e70f
mov rax, qword [rbp + 8]
mov rcx, qword [rbp]
add rcx, 0x2b40
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x14009e70f
mov rax, qword [rbp]
cmp qword [rax + 0x2b60], 0x80
jle 0x14009e16b
mov rcx, qword [rbp - 0x28]
mov edx, 0x40
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.14009cb65
mov rax, qword [rbp + 8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x7a
xor cl, 0x7a
cmp al, cl
jne 0x14009e70f
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp]
mov rax, qword [rbp - 0x18]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
add rcx, 0x2b40
mov qword [rbp - 0x30], rcx
sub rsp, 0x20
call fcn.14009dca1
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14009e70f
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp]
add rsp, 0x20
mov rcx, qword [rcx + 0x2b60]
mov qword [rbp - 0x38], rcx
mov al, byte [rax + 0x60]
mov cl, 0xe3
xor cl, 0xe3
cmp al, cl
jne 0x14009e69c
mov r8, qword [rbp - 0x38]
mov rax, r8
add rax, 0xffffffffffffffff
mov qword [rbp - 0x40], rax
movabs rdx, 0x332be3e8cb2fb2e0
movabs rcx, 0xccd41c1734d04d1f
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r9, 0x72e27c47d1707f8b
movabs rdx, 0x8d1d83b82e8f8074
xor r9, rdx
mov rdx, rax
xor rdx, r9
or rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
and r8, r8
xor r8, 0xffffffffffffffff
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r9, 0xb5431609fe7eff4c
movabs r10, 0x4abce9f6018100b3
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
movabs rdx, 0x70d659ebc60c0b32
movabs r8, 0x8f29a61439f3f4cd
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x13f788f6e8d6075c
movabs r8, 0x13f788f6e8d6075c
xor rdx, r8
cmp rcx, rdx
setl cl
movabs rdx, 0x903b0cba528ad9da
movabs r8, 0x6fc4f345ad752625
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x14009e2c3
jmp 0x14009e2d5
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14009e69c
mov rax, qword [rbp - 0x38]
movabs rcx, 0x9ceb2f3546c53810
movabs rdx, 0x1ceb2f3546c53810
xor rcx, rdx
cmp rax, rcx
jne 0x14009e3ad
movabs rcx, 0x8dbf2c358c9ca23
movabs rax, 0x8dbf2c358c9ca63
xor rcx, rax
movabs rdx, 0xe0062cf2fe5e6d1e
movabs rax, 0xe0062cf2fe5e6d16
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1598]
mov qword [rcx], rax
lea rax, [0x14019ed01]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019ed38]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019ed40]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x65f3bc0f3effc94
movabs rdx, 0x65f3bc09c005aa1
xor rax, rdx
lea rdx, [0x14019ed01]
lea r8, [0x14019ed0d]
lea r9, [0x14019ed10]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
add rsp, 0x30
jmp 0x14009e69c
mov rax, qword [rbp - 0x40]
movabs rcx, 0xc3d9fd6bd3faa8f6
movabs rdx, 0xc3d9fd6bd3faa8f6
xor rcx, rdx
cmp rax, rcx
jge 0x14009e461
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1598]
mov qword [rcx], rax
lea rax, [0x14019ed01]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019ed38]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019ed40]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xb42a960f2e8fd818
movabs rdx, 0xb42a960f062482c0
xor rax, rdx
lea rdx, [0x14019ed01]
lea r8, [0x14019ed0d]
lea r9, [0x14019ed10]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
add rsp, 0x30
jmp 0x14009e69c
mov r8, qword [rbp - 0x40]
mov rax, qword [rbp]
mov r9, qword [rax + 0x2b50]
movabs rcx, 0x47eeb66f641fa2a2
movabs rax, 0xa4cd3091f40088d9
xor rcx, rax
mov rax, r9
add rax, rcx
add rax, r8
movabs rcx, 0x398e75fc17f2c4f2
movabs rdx, 0xdaadf30287edee89
xor rcx, rdx
sub rax, rcx
mov qword [rbp - 0x48], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs rcx, 0x79980bb70cb0d570
and rdx, rcx
movabs r11, 0xe62978e53122799d
movabs rcx, 0x9fb173523d92aced
xor r11, rcx
movabs rcx, 0xa852bf2889b590db
movabs r10, 0x57ad40d7764a6f24
xor rcx, r10
xor r11, rcx
mov r10, rax
and r10, r11
movabs rsi, 0x8d7225432181ff05
movabs rcx, 0x728ddabcde7e00fa
xor rsi, rcx
mov rcx, r9
xor rcx, rsi
movabs rsi, 0x79980bb70cb0d570
and rcx, rsi
and r9, r11
or rdx, r10
or rcx, r9
xor rdx, rcx
movabs rcx, 0x855c10cf7107b338
movabs r9, 0x7aa3ef308ef84cc7
xor rcx, r9
mov r9, rax
xor r9, rcx
mov rcx, r8
and rcx, r9
xor r8, 0xffffffffffffffff
and rax, r8
or rcx, rax
movabs r8, 0xb89829bd5ff735a3
movabs rax, 0x4767d642a008ca5c
xor r8, rax
mov rax, rdx
xor rax, r8
xor rdx, 0xffffffffffffffff
and rax, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xfe568e6159f086f4
movabs r8, 0x1a9719ea60f790b
xor rdx, r8
xor rax, rdx
movabs rdx, 0x906bea9237f25096
movabs r8, 0x6f94156dc80daf69
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xe960377280a5dae7
movabs rdx, 0xe960377280a5dae7
xor rcx, rdx
cmp rax, rcx
jge 0x14009e5f0
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14009e69c
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x48]
mov rax, qword [rbp]
mov rcx, qword [rax + 0x2b68]
mov rax, rcx
xor rax, r8
not rax
or rcx, r8
and rcx, rax
mov qword [rbp - 0x58], rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x50], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14009e67e
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
movabs rax, 0x5b1d091152758694
movabs r8, 0x5b1d091152758694
xor rax, r8
movabs r8, 0x195a7658a642c3df
movabs r9, 0xe6a589a759bd3c20
xor r8, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
jmp 0x14009e69c
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp]
mov rax, qword [rax + 0x2b48]
add rax, 8
shl rcx, 4
add rax, rcx
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 8]
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x68], rcx
cmp byte [rax], 0
jne 0x14009e70f
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
mov qword [rbp - 0x80], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x78], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rdx, qword [rbp - 0x80]
add rsp, 0x20
mov rax, qword [rbp - 0x78]
movabs r8, 0x38c0e64a4dfbcdb6
movabs rcx, 0x38c0e64a4dfbcdb6
xor r8, rcx
add rax, 8
lea rcx, [0x14019ed30]
cmp rdx, r8
cmove rax, rcx
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x70]
lea rsp, [rbp + 0x18]
pop rsi
pop rbp
ret