Function at 0x140009db0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xc8
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], rcx
mov rax, rcx
add rax, 0x28a2
mov qword [rsp + 0xc0], rax
mov al, byte [rcx + 0x28a2]
mov cl, 0x2c
xor cl, 0x2c
cmp al, cl
je 0x140009e07
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax + 0x28a8]
mov qword [rsp + 0xa8], rax
jmp 0x140009fe9
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax + 0x2088]
mov qword [rsp + 0xa0], rax
cmp rax, 0x10000
jge 0x140009e62
mov rax, qword [rsp + 0xb8]
movabs rcx, 0xceaacab4b677afe2
movabs rdx, 0xceaacab4b677efe2
xor rcx, rdx
mov qword [rax + 0x28a8], rcx
mov eax, 0x4000
mov qword [rsp + 0xa8], rax
jmp 0x140009fe9
mov eax, dword [0x140216788]
xor edx, edx
div dword [0x14021678c]
xor eax, 0xcd06c95d
mov r8d, 0xffffffff
xor r8d, 0x16b7348b
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x16b7348b
or eax, 0x16b7348b
imul eax, edx
add eax, ecx
sub eax, 0x40a0d113
cmp eax, 0x9f0482be
je 0x14000a42b
mov rcx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xa0]
mov edx, dword [0x140216790]
xor edx, dword [0x140216794]
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r9d, 0xd42cdb0b
or r9d, 0xd42cdb0b
xor r9d, 0xffffffff
xor eax, 0xffffffff
mov r10d, 0x52cec539
xor r10d, 0xad313ac6
xor r9d, r10d
and eax, r9d
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xd42cdb0b
and edx, r9d
or eax, edx
xor eax, 0xffffffff
imul eax, eax, 0xc01c8069
mov edx, eax
xor edx, 0xffffffff
mov r9d, 0xd5c3ac7f
xor r9d, 0x9f551d9b
and r9d, edx
mov r10d, 0x6555344b
xor r10d, 0x2fc385af
mov edx, 0xdaa54987
xor edx, 0x255ab678
xor r10d, edx
mov edx, eax
and edx, r10d
imul edx, r9d
mov r9d, eax
and r9d, 0x4a96b1e4
or eax, 0x4a96b1e4
imul eax, r9d
add eax, edx
shr r8, 2
add r8, 0xfff
mov r9, 0xffffffffffffffff
movabs rdx, 0x7ffffffffffff000
xor r9, rdx
mov rdx, r8
xor rdx, r9
and rdx, r8
mov r8, qword [rcx + 0x28a8]
shl r8, 1
mov r9, rdx
sub r9, r8
cmovl r8, rdx
mov rdx, r8
sub rdx, 0x3f000000
mov edx, 0x3f000000
cmovl rdx, r8
mov qword [rsp + 0x98], rdx
mov qword [rcx + 0x28a8], rdx
cmp eax, 0xd488bb36
jae 0x14000a42b
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xa8], rax
jmp 0x140009fe9
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rax
add rdx, 0x28a8
mov qword [rsp + 0x90], rdx
cmp rax, rcx
jge 0x14000a048
mov rdx, qword [rsp + 0xb0]
call fcn.14000955e
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
jmp 0x14000a0ba
mov rdx, qword [rsp + 0x88]
call fcn.1400095a0
mov qword [rsp + 0x70], rax
cmp rax, 0
jne 0x14000a09d
mov rdx, qword [rsp + 0xb0]
call fcn.14000955e
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb0]
mov r8b, 0x6e
xor r8b, 0x6f
mov byte [rdx], r8b
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
jmp 0x14000a0ba
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x50], r8
mov rax, qword [rcx + 0x2070]
movabs r10, 0x282b74d3efb6da03
movabs r9, 0xd7d48b2c104925fc
xor r10, r9
mov r9, r8
xor r9, r10
xor r10d, r10d
sub r10, 1
sub r9, r10
sub rax, r9
mov qword [rcx + 0x2070], rax
mov rax, r8
add rax, qword [rcx + 0x2080]
mov qword [rcx + 0x2080], rax
call fcn.140009950
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xb8]
mov qword [r8 + 0x18], 0
mov qword [r8 + 0x20], 0
mov qword [r8 + 8], rdx
mov rax, rdx
and rax, r8
movabs r9, 0x91abec91c2a8c3c8
movabs r10, 0x91abec91c2a8c3ca
xor r9, r10
imul rax, r9
xor rdx, r8
add rdx, rax
mov qword [rsp + 0x60], rdx
sar rdx, 0xc
add rcx, 0x20a0
mov qword [rsp + 0x68], rcx
call fcn.140009c00
test al, 1
jne 0x14000a19b
jmp 0x14000a1b2
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rax]
and rcx, 1
or rcx, rdx
mov qword [rax], rcx
mov ecx, dword [0x140216798]
mov eax, 0x330c6800
xor eax, 0x60641285
xor ecx, eax
mov r8d, dword [0x14021679c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
sub ecx, 0xf7b6d506
mov eax, ecx
or eax, 0x4181f15a
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4181f15a
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xa557222b
xor ecx, 0xe1e2e9cb
add eax, ecx
cmp eax, 0xfa2b43f5
je 0x14000a434
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1402167a0]
or eax, dword [0x1402167a4]
mov edx, 0xfc6dbb7e
xor edx, 0xf63c592
add eax, edx
mov r8d, 0x71b9f2aa
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x58]
mov r8d, eax
mov rax, qword [rsp + 0xb8]
mov r9d, 0xed1eac47
xor r9d, 0xf5ec1331
mov r10d, r8d
and r10d, r9d
mov r9d, 0x2566d16
xor r9d, 0x2566d14
imul r9d, r10d
add r8d, 0x18f2bf76
sub r8d, r9d
mov dword [rsp + 0x48], r8d
mov r8, rax
add r8, 0x2090
mov qword [rsp + 0x30], r8
mov rax, qword [rax + 0x2090]
movabs r8, 0x5fec319be4f1aae3
movabs r9, 0x5fec319be4f1bae3
xor r8, r9
cmp rax, 0
cmove rax, r8
mov qword [rsp + 0x38], rax
sub rdx, rax
mov qword [rsp + 0x40], rdx
sar rdx, 0xc
call fcn.140009c00
mov cl, al
mov eax, dword [rsp + 0x48]
mov byte [rsp + 0x4f], cl
cmp eax, 0xe17854e8
je 0x14000a22f
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14000a30c
jmp 0x14000a3b2
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 8], rcx
jne 0x14000a3b2
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov rax, rcx
add rax, 1
xor rcx, 0xffffffffffffffff
or rcx, 1
add rcx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r8, 0x8fba4f43df3d83c2
movabs r9, 0x7045b0bc20c27c3d
xor r8, r9
xor rcx, r8
or rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r8, 0xcdf88ca4e2a2dcd6
movabs r9, 0x3207735b1d5d2329
xor r8, r9
xor rdx, r8
or rcx, rdx
movabs rdx, 0xafecc9535ccdd70a
movabs r8, 0x501336aca33228f5
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
mov qword [rsp + 0x28], rax
jmp 0x14000a409
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov rax, rcx
and rax, 1
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs rdx, 0x302fae5d31a4e12d
movabs r8, 0x302fae5d31a4e12c
xor rdx, r8
movabs r8, 0x205bb536229b121f
movabs r9, 0xdfa44ac9dd64ede0
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x28]
mov qword [rax], r8
mov qword [rcx], rdx
add rsp, 0xc8
ret
invalid
cmp byte [0x13df38d66], r15b
invalid