Function at 0x14009b5e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x70], rax
movabs rcx, 0x6f173cc4c34ca992
movabs rdx, 0x6f173cc4c34ca992
xor rcx, rdx
cmp rax, rcx
jle 0x14009b958
mov rcx, qword [rsp + 0x70]
mov rax, rcx
add rax, 1
mov qword [rsp + 0x58], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x328c1628325939f6
movabs rdx, 0x328c1628325939f6
xor rcx, rdx
cmp rax, rcx
jge 0x14009b658
call fcn.140007e9d
jmp 0x14009b958
mov rax, qword [rsp + 0x58]
cmp rax, 0
jge 0x14009b684
mov rcx, qword [rsp + 0x58]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000cee2
jmp 0x14009b958
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x40], rcx
mov rax, qword [rax + 8]
add rax, 8
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
cmp rax, rcx
je 0x14009b727
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
xor ecx, ecx
sub rcx, rax
movabs rax, 0x11937406afc6e865
movabs rdx, 0x11937406afc6e865
xor rax, rdx
movabs rdx, 0xf1e3fd1d1783a2cd
movabs r8, 0xf1e3fd1d1783a2cc
xor rdx, r8
sub rax, rdx
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rsp + 0x50], rax
jmp 0x14009b6b2
mov ecx, dword [0x140254b58]
mov eax, dword [0x140254b5c]
mov edx, 0x87553fd1
xor edx, 0x152cc38d
xor eax, edx
add ecx, eax
sub ecx, 0x71ffa20c
sub ecx, 0x1728cc27
mov eax, 0x452aa7bd
xor eax, 0x34d505b1
add ecx, eax
mov eax, ecx
xor eax, 0x26b5e2fd
mov edx, 0xffffffff
xor edx, 0x26b5e2fd
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
and eax, 0xd81bae8e
or ecx, 0xd81bae8e
add eax, ecx
cmp eax, 0x1291a7e3
je 0x14009b95d
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x140254b60]
mov edx, dword [0x140254b64]
mov r8d, 0x629cfb4b
xor r8d, 0xa93d602e
xor edx, r8d
and eax, edx
sub eax, 0x33256ed0
mov r8d, 0x24448652
xor r8d, 0xe75a9668
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x68]
mov r8d, 0x2d2de5ab
xor r8d, 0xdead816e
sub eax, r8d
mov rdx, qword [rdx]
mov r9, qword [rcx]
xor ecx, ecx
mov r8d, ecx
sub r8, r9
xor ecx, ecx
sub rcx, rdx
add r8, rcx
xor ecx, ecx
sub rcx, r8
mov qword [rsp + 0x28], rcx
mov r8, rcx
xor r8, rdx
movabs rdx, 0xc5c1d5151f901c99
movabs r10, 0x3a3e2aeae06fe366
xor rdx, r10
mov r10, rcx
xor r10, rdx
mov rdx, r9
and rdx, r10
xor r9, 0xffffffffffffffff
and rcx, r9
or rdx, rcx
movabs r9, 0x8f4245ceac3916f
movabs rcx, 0xf70bdba3153c6e90
xor r9, rcx
mov rcx, r8
xor rcx, r9
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rdx
movabs r8, 0xbf5cbbbc74cf8257
movabs r9, 0x40a344438b307da8
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xd341b2f5
je 0x14009b95d
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14009b89e
jmp 0x14009b94b
mov eax, dword [0x140254b68]
xor eax, 0xec799c4a
mov edx, dword [0x140254b6c]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x64946f84
xor eax, 0x64946f84
or ecx, eax
add ecx, 0xd827357a
mov edx, 0xffffffff
xor edx, 0xb65577a0
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xfdbb315b
xor ecx, 0xd737a644
cmp eax, ecx
jbe 0x14009b966
mov eax, dword [0x140254b70]
mov ecx, 0xe00c0b69
xor ecx, 0x7013022c
xor eax, ecx
mov ecx, dword [0x140254b74]
xor ecx, 0xdc331048
xor edx, edx
div ecx
and eax, 0x2a2d9255
sub eax, 0x3b824801
mov ecx, 0xd5e182b0
xor ecx, 0x172d118a
sub eax, ecx
mov dword [rsp + 0x24], eax
call fcn.140007e9d
mov eax, dword [rsp + 0x24]
cmp eax, 0x87864f34
jae 0x14009b8f4
jmp 0x14009b958
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
add rsp, 0x78
ret
invalid
cmp al, 0xb
invalid