Function at 0x14009e910
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rcx
add rcx, 8
mov qword [rsp + 0x48], rcx
xor eax, eax
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x38], rdx
cmp rax, rcx
jge 0x14009eb88
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
add rax, 8
shl rcx, 4
add rax, rcx
add rax, 8
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x14009e9b2
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
movabs rcx, 0xa7f0fa0abb56ad5b
movabs rdx, 0xe7f0fa0abb56ad5b
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14009e9b2
mov rcx, qword [rsp + 0x28]
call fcn.14000fb44
mov ecx, dword [0x140204be8]
mov eax, 0xb32602a5
xor eax, 0x1cb5f54b
xor ecx, eax
mov edx, dword [0x140204bec]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and ecx, edx
mov edx, 0xbc89d7b
xor edx, 0xf4376284
xor ecx, edx
mov edx, 0x35170897
xor edx, 0xcae8f768
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x948c8d0e
mov r8d, 0xc0a615b
xor r8d, 0x1628e65
mov ecx, 0x1172c11a
xor ecx, 0xee8d3ee5
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xb341dda9
xor r8d, 0x4cbe2256
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xd68ef3e
or eax, 0xd68ef3e
imul eax, edx
add eax, ecx
sub eax, 0x5cfe4d35
cmp eax, 0x170cced1
je 0x14009ecbb
mov rdx, qword [rsp + 0x30]
mov r9d, dword [0x140204bf0]
mov eax, 0xf4ea9a06
xor eax, 0x14fb3440
xor r9d, eax
and r9d, dword [0x140204bf4]
mov ecx, r9d
xor ecx, 0xffffffff
and ecx, 0x7a0cd835
mov r8d, 0xffffffff
xor r8d, 0x7a0cd835
mov eax, r9d
and eax, r8d
imul eax, ecx
mov ecx, r9d
and ecx, 0x7a0cd835
mov r8d, 0x96f064d
xor r8d, 0x7363de78
or r9d, r8d
imul r9d, ecx
add r9d, eax
xor r9d, 0x4f4b1a37
mov eax, 0x832631d8
xor eax, 0x7cd9ce27
mov ecx, r9d
xor ecx, eax
mov eax, 0x7a7e1e0b
xor eax, 0x39dd30c9
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x43a32ec2
and r9d, r8d
mov ecx, 0xffffffff
xor ecx, 0xe224a006
and ecx, 0x43a32ec2
and r8d, 0xe224a006
or eax, r9d
or ecx, r8d
xor eax, ecx
mov ecx, 0x24c94cff
xor ecx, 0xe6a3898e
xor r8d, r8d
sub r8, rdx
movabs rdx, 0xc23052bc9c98c34f
movabs r9, 0xc23052bc9c98c34f
xor rdx, r9
movabs r9, 0x3710a43dc681a696
movabs r10, 0x3710a43dc681a697
xor r9, r10
sub rdx, r9
add r8, rdx
movabs rdx, 0x152e6b39eb3be568
movabs r9, 0x152e6b39eb3be568
xor rdx, r9
sub rdx, r8
mov qword [rsp + 0x20], rdx
cmp eax, ecx
jb 0x14009ecbb
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x50], rax
jmp 0x14009e929
mov rax, qword [rsp + 0x38]
cmp rax, 0
je 0x14009ebd3
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x14009ebd3
mov rcx, qword [rsp + 0x38]
mov edx, 8
call fcn.14000fb49
mov r8d, dword [0x140204bf8]
and r8d, dword [0x140204bfc]
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x53341d28
mov edx, 0xffffffff
xor edx, 0x53341d28
and r8d, edx
mov eax, 0xffffffff
xor eax, 0x946cc141
mov r9d, 0xb2496917
xor r9d, 0xe17d743f
and eax, r9d
and edx, 0x946cc141
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xe37cd3a9
xor r8d, 0x1c832c56
mov edx, ecx
xor edx, r8d
or eax, edx
and eax, 0x14d9deb2
xor eax, 0xffffffff
mov edx, 0x14d9deb2
and edx, 0x14d9deb2
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x5277f566
xor edx, 0xad880a99
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
or eax, 0xb27d5d1e
cmp eax, 0xba998312
jb 0x14009ecc4
mov eax, dword [0x140204c00]
mov ecx, 0x9313b9ea
xor ecx, 0x95dfeddf
xor eax, ecx
mov edx, dword [0x140204c04]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
sub eax, 0x83ebef33
sub eax, 0xd919f9fd
add eax, 0x8f16e95b
cmp eax, 0x78b03f1a
je 0x14009ec78
add rsp, 0x58
ret
call 0x129c944a6
xchg ebp, eax
std
invalid
call 0x129f4f613
stosd dword [rdi], eax
invalid