Function at 0x1400c9950
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x50], rcx
mov ecx, dword [0x1401f8948]
mov edx, dword [0x1401f894c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
add eax, 0xf47ddfaf
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xf15b3417
add eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x953588f6
xor ecx, 0x56ec77d0
mov edx, 0x1897f86d
xor edx, 0xe7680792
xor ecx, edx
mov edx, 0xac1e910c
xor edx, 0x6fc76e2a
mov r8d, 0x90405d9b
xor r8d, 0x6fbfa264
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xa32677f
je 0x1400c9e54
mov eax, dword [0x1401f8950]
mov ecx, 0xf9047df5
xor ecx, 0x7b434596
xor eax, ecx
mov ecx, dword [0x1401f8954]
xor ecx, 0xc0d7b743
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x50]
mov ecx, 0x8660beb3
xor ecx, 0x799f414c
mov r8d, eax
xor r8d, ecx
and r8d, 0xcc19e134
mov r9d, 0xffffffff
xor r9d, 0xcc19e134
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r9d, 0x52d93828
xor r9d, 0x9ec0d91c
mov r8d, eax
and r8d, r9d
mov r9d, 0xf9e12c9
xor r9d, 0xc387f3fd
or eax, r9d
imul eax, r8d
add eax, ecx
sub eax, 0x9f8f57ed
add eax, 0xed160506
add eax, 0x9f8f57ed
or eax, 0x90b76bf1
mov ecx, 0xb67de381
xor ecx, 0xce8399f3
cmp rdx, 0
sete dl
mov byte [rsp + 0x4f], dl
cmp eax, ecx
je 0x1400c99ce
mov cl, byte [rsp + 0x4f]
xor eax, eax
test cl, 1
mov byte [rsp + 0x4e], al
jne 0x1400c9da6
jmp 0x1400c9a97
mov rax, qword [rsp + 0x50]
movabs rcx, 0x543623cf06d320aa
movabs rdx, 0xa00b607e579ce502
xor rcx, rdx
sub rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0xf43d43b1514fc5a8
add rax, rcx
mov qword [rsp + 0x38], rax
mov rcx, qword [rax]
mov qword [rsp + 0x40], rcx
movabs rdx, 0xa0b78d126a6e5477
movabs rax, 0xa0b78d126a6e5467
xor rdx, rax
mov al, 1
cmp rcx, rdx
mov byte [rsp + 0x4e], al
jb 0x1400c9da6
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 0x1400c9b28
jmp 0x1400c9c59
mov eax, dword [0x1401f8958]
mov ecx, 0xd56512d0
xor ecx, 0x9cc49677
xor eax, ecx
mov r8d, dword [0x1401f895c]
xor r8d, 0xb6d0699c
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xee04662
xor ecx, 0x256b2dcc
mov edx, eax
and edx, ecx
mov ecx, 0xd72ccfba
xor ecx, 0xd72ccfb8
imul ecx, edx
add eax, 0x2b8b6bae
sub eax, ecx
mov ecx, 0xd32c676
xor edx, edx
div ecx
imul eax, eax, 0xeee45f7f
mov ecx, 0xbcd41fb4
xor ecx, 0xaba6fcc8
cmp eax, ecx
jb 0x1400c9e5d
mov ecx, dword [0x1401f8960]
mov eax, dword [0x1401f8964]
mov edx, 0x32f3dd9a
xor edx, 0xf584c286
xor eax, edx
xor eax, 0xffffffff
add ecx, eax
mov eax, 0x351fb4a8
xor eax, 0x351fb4a9
add ecx, eax
mov eax, 0xf442ec97
xor eax, 0x75932046
sub ecx, eax
add ecx, 0x5f389dfe
mov eax, 0xea45dac
xor eax, 0x8f75917d
add ecx, eax
mov eax, ecx
or eax, 0xec3ea98e
mov edx, 0x44f73083
xor edx, 0xbb08cf7c
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xec3ea98e
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xc87f2448
xor ecx, 0xb29039f7
xor edx, edx
div ecx
mov dword [rsp + 0x2c], eax
call fcn.140009cc0
mov eax, dword [rsp + 0x2c]
cmp eax, 0x9feb1c8c
je 0x1400c9e5d
xor eax, eax
mov byte [rsp + 0x4e], al
jmp 0x1400c9da6
mov ecx, dword [0x1401f8968]
mov edx, dword [0x1401f896c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
imul eax, eax, 0xc61deed
mov r8d, 0xffffffff
xor r8d, 0x94a0a5f7
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x94a0a5f7
mov r8d, 0x7372a378
xor r8d, 0xe7d2068f
or eax, r8d
imul eax, edx
add eax, ecx
mov r8d, 0x3bc1d82d
xor r8d, 0x45022ec6
mov ecx, 0xab2b299f
xor ecx, 0x54d4d660
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x7ec3f6eb
or eax, 0x7ec3f6eb
imul eax, edx
add eax, ecx
cmp eax, 0x68276ef2
jae 0x1400c9e66
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x30]
mov eax, dword [0x1401f8970]
mov r9d, dword [0x1401f8974]
xor ecx, ecx
sub ecx, r9d
add eax, ecx
mov ecx, 0x85fe0018
xor ecx, 0x8d58c77a
or eax, ecx
mov r10d, 0x6a9de20e
xor r10d, 0x118d9242
mov ecx, 0xe732d623
xor ecx, 0x18cd29dc
xor r10d, ecx
mov r9d, eax
and r9d, r10d
mov ecx, eax
or ecx, r10d
mov r10d, 0x83bd4d73
xor r10d, 0x7c42b28c
xor ecx, r10d
imul ecx, r9d
mov r10d, 0x34328fb0
xor r10d, 0x4f22fffc
mov r9d, eax
and r9d, r10d
or eax, 0x7b10704c
imul eax, r9d
add eax, ecx
mov ecx, 0x3b6aa9a9
xor ecx, 0xa97a48af
add eax, ecx
mov ecx, 0xce209955
xor ecx, 0x6c2c1728
mov qword [rdx], r8
cmp eax, ecx
je 0x1400c9e66
xor eax, eax
mov byte [rsp + 0x4e], al
jmp 0x1400c9da6
mov al, byte [rsp + 0x4e]
mov byte [rsp + 0x2b], al
mov eax, dword [0x1401f8978]
mov ecx, 0x64bc5d03
xor ecx, 0x6258bf40
xor eax, ecx
add eax, dword [0x1401f897c]
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x3738c24a
mov edx, 0xffffffff
xor edx, 0x9b7d68df
or eax, ecx
mov ecx, 0xdf54d56c
xor ecx, 0x4429bdb3
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
imul eax, eax, 0xc52d225b
mov ecx, 0x4a04c3bd
xor edx, edx
div ecx
cmp eax, 0xbd425120
je 0x1400c9e6f
mov eax, dword [0x1401f8980]
xor eax, 0xe091b7bc
mov ecx, dword [0x1401f8984]
xor ecx, 0x2519bfc5
imul eax, ecx
add eax, 0x296418f1
mov ecx, 0x65ad4aba
xor edx, edx
lodsq rax, qword [rsi]
xor edx, edx
div ecx
and eax, 0x5d6dc23b
cmp eax, 0x400f1b29
je 0x1400c9e0e
mov al, byte [rsp + 0x2b]
and al, 1
movzx eax, al
add rsp, 0x58
ret
mov dh, 5
leave
in al, dx
jmp 0x1400c99ce
sahf
loop 0x1400c9e2f
popfq
jmp 0x1400c9bb3
inc dword [rdi - 0x7916b837]
invalid
invalid