Function at 0x140109310
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rdx, qword [rsp + 0x68]
add rax, 0x60
mov qword [rsp + 0x70], rax
cmp rdx, 0
je 0x1401093b8
mov rax, qword [rsp + 0x68]
movabs rcx, 0x52edcaa855189b6a
movabs rdx, 0xad123557aae7649a
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x50], rax
mov rcx, qword [rax]
mov rax, rcx
add rax, 0x10
mov qword [rsp + 0x58], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xf39ea9f0f0006a74
movabs rdx, 0xf39ea9f0f0006a74
xor rcx, rdx
cmp rax, rcx
jge 0x1401093ab
call fcn.14000f24b
jmp 0x1401093b8
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x140109564
mov rax, qword [rsp + 0x48]
mov rcx, 0xffffffffffffffff
xor rcx, 0xfffffffffffffff0
xor edx, edx
sub rdx, 1
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
movabs rcx, 0xa596562b6f5af0dc
movabs rdx, 0xa596562b6f5af0cc
xor rcx, rdx
cmp rax, rcx
jb 0x140109462
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
add rdx, 0xfffffffffffffff0
mov qword [rsp + 0x30], rdx
test rdx, rdx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x140109446
jmp 0x140109450
call fcn.14000f24b
jmp 0x140109564
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
jmp 0x140109564
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov qword [rsp + 0x78], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x78]
call fcn.1400333b0
mov rax, qword [rsp + 0x70]
mov al, byte [rax]
mov cl, 0xfa
xor cl, 0xfa
cmp al, cl
jne 0x14010963b
mov eax, dword [0x140279610]
xor edx, edx
div dword [0x140279614]
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x907051c8
mov eax, ecx
xor eax, edx
and eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xe39856d8
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x7f927df1
xor ecx, 0xbafe99b
xor edx, edx
div ecx
mov ecx, 0xe6285575
xor ecx, 0xcc2c44db
cmp eax, ecx
jae 0x140109643
mov eax, dword [0x140279618]
xor eax, 0x1269cae4
mov ecx, dword [0x14027961c]
sub eax, 0x1b75f65e
sub eax, ecx
add eax, 0x1b75f65e
mov ecx, 0xf6e6ef9e
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0x60]
imul ecx, ecx, 0x9f0ae564
mov edx, 0x60b3d832
xor edx, 0xec93b5bb
or ecx, edx
mov dword [rsp + 0x2c], ecx
mov rcx, qword [rax]
movabs rdx, 0x9528367f11347e03
movabs rax, 0x9528367f11347e0b
xor rdx, rax
call fcn.14001d294
mov eax, dword [rsp + 0x2c]
cmp eax, 0x1ef11755
jb 0x1401094ed
jmp 0x140109564
mov ecx, dword [0x140279620]
xor ecx, 0xb0ada151
mov eax, dword [0x140279624]
xor eax, 0x3b44f4cb
xor ecx, eax
mov edx, 0x50548aa9
xor edx, 0x3fc9b14d
mov eax, ecx
and eax, edx
shl eax, 1
xor ecx, 0x6f9d3be4
add ecx, eax
or ecx, 0xbae0fd7f
mov edx, 0xffffffff
xor edx, 0x9903c5a9
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x808b06c0
jbe 0x14010964c
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov eax, dword [0x140279628]
or eax, dword [0x14027962c]
xor r8d, r8d
sub r8d, 0x14659a2a
sub eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x4d5ab487
mov r10d, 0xffffffff
xor r10d, 0x4d5ab487
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x4d5ab487
or eax, 0x4d5ab487
imul eax, r9d
add eax, r8d
mov r8d, 0x9aedc624
xor r8d, 0xfd1492ba
imul eax, r8d
mov qword [rcx], rdx
cmp eax, 0x85055db4
je 0x14010964c
jmp 0x14010963b
add rsp, 0x88
ret
xchg ebp, eax
wait
push rsp
mov bl, 0xe9
movabs eax, dword [0xe97e186ef4fffffe]
invalid
hlt