Function at 0x14000c980
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], rcx
mov eax, dword [0x140200838]
mov edx, dword [0x14020083c]
mov r8d, eax
and r8d, edx
mov ecx, 0x7416dd54
xor ecx, 0x7416dd56
imul ecx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xdec9eaa5
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xc2245078
mov edx, 0x205b5622
xor edx, 0xdfa4a9dd
xor ecx, edx
and ecx, 0xc2245078
shl ecx, 1
sub ecx, 0xc2245078
sub eax, ecx
mov ecx, 0x5c948b8
xor edx, edx
div ecx
cmp eax, 0x1720adcf
ja 0x14000d062
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
mov eax, dword [0x140200840]
xor eax, 0x29d5711c
mov r9d, dword [0x140200844]
mov r8d, 0xef33eb0c
xor r8d, 0x7091210
xor r9d, r8d
mov r8d, eax
and r8d, r9d
xor eax, r9d
or r8d, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, 0x7a8948d2
xor eax, 0x88dedd55
and eax, r9d
mov r9d, 0x68302f7b
xor r9d, 0x9a67bafc
mov r10d, 0x1108ee9c
xor r10d, 0xeef71163
xor r9d, r10d
and r8d, r9d
or eax, r8d
xor eax, 0x8f27ebc3
xor r8d, r8d
sub r8d, 0x5caa2e36
sub eax, r8d
mov r8, rdx
add r8, 8
mov qword [rsp + 0x88], r8
mov r9, qword [rdx + 8]
mov qword [rsp + 0x90], r9
mov r8, qword [rcx + 0x2080]
movabs r10, 0xd53e16a5e5265674
sub r8, r10
add r8, r9
movabs r9, 0xd53e16a5e5265674
add r8, r9
mov qword [rcx + 0x2080], r8
mov r8, qword [rdx]
mov r9, 0xffffffffffffffff
xor r9, 0xfffffffffffffffe
mov rcx, r8
xor rcx, r9
and rcx, r8
mov qword [rsp + 0x98], rcx
mov qword [rdx], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0xa7], cl
cmp eax, 0xd44a509
je 0x14000d062
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
mov dl, byte [rsp + 0xa7]
test dl, 1
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
jne 0x14000ce49
jmp 0x14000cb39
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x98]
mov rax, rdx
xor rax, 0xffffffffffffffff
and rax, r8
xor r8, 0xffffffffffffffff
and rdx, r8
sub rdx, rax
mov qword [rsp + 0x70], rdx
call fcn.14000d07d
mov rcx, qword [rsp + 0x90]
mov dl, al
mov rax, qword [rsp + 0xa8]
test dl, 1
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
jne 0x14000cb9c
jmp 0x14000ce49
mov eax, dword [0x140200848]
mov ecx, dword [0x14020084c]
xor ecx, 0x49162ea2
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0x3eda08ef
add eax, ecx
add eax, 1
imul eax, eax, 0x87162a12
mov ecx, 0x12b96231
xor ecx, 0xc680ba1b
or eax, ecx
cmp eax, 0xc1fea88e
je 0x14000d06b
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x140200850]
mov edx, 0x8085152b
xor edx, 0xbd474219
xor eax, edx
mov r9d, dword [0x140200854]
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
sub eax, 0x1f572183
sub eax, 0x5707705
add eax, 0x1f572183
mov r8d, 0xc617f88e
xor edx, edx
div r8d
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0x96d20ddc
xor r8d, 0x16c9bf8
and r8d, edx
mov r9d, 0x47376300
xor r9d, 0xd089f524
mov edx, 0xda93c685
xor edx, 0x256c397a
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x97be9624
or eax, 0x97be9624
imul eax, r8d
add eax, edx
mov rcx, qword [rcx]
movabs r8, 0x18d33d1728c77974
movabs rdx, 0x18d33d1728c77975
xor r8, rdx
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x4002904e30576d1e
movabs r9, 0x4002904e30576d1f
xor r8, r9
or rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x6f], cl
cmp eax, 0x7805324b
jbe 0x14000d06b
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
mov dl, byte [rsp + 0x6f]
test dl, 1
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
jne 0x14000cd15
jmp 0x14000ce49
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x70]
mov r8, rdx
add r8, 8
mov qword [rsp + 0x60], r8
mov rdx, qword [rdx + 8]
movabs r8, 0x8a96ca6ca2793222
sub rdx, r8
add rdx, 0xfffffffffffff04f
movabs r8, 0x8c84758a08e9bf07
movabs r9, 0x612bfe6aa908d25
xor r8, r9
add rdx, r8
movabs r8, 0x3bdfa9fa9e7a93c8
movabs r9, 0x3bdfa9faa0856387
xor r8, r9
cmp rdx, r8
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
jae 0x14000ce49
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb0]
call fcn.14000c5e0
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x60]
mov r8, qword [r8]
add r8, qword [rax]
mov qword [rax], r8
sar rdx, 0xc
add rcx, 0x20a0
call fcn.14000c8e6
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rcx]
cmp rcx, 0x3f000000
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
jle 0x14000ce49
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb0]
mov r8d, 0x3f000000
call fcn.140009c95
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x58], rax
call fcn.140009dc0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
mov r8, rax
add r8, 8
mov qword [rsp + 0x48], r8
add rdx, rax
mov qword [rsp + 0x50], rdx
call fcn.14000d07d
test al, 1
jne 0x14000ce8e
jmp 0x14000d049
mov ecx, dword [0x140200858]
mov edx, dword [0x14020085c]
mov eax, 0xdf3b644e
xor eax, 0x20c49bb1
mov r8d, ecx
xor r8d, eax
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe5a3e80a
mov r8d, 0xffffffff
xor r8d, 0xe5a3e80a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe5a3e80a
or eax, 0xe5a3e80a
imul eax, edx
add eax, ecx
and eax, 0x98a6275c
mov ecx, eax
and ecx, 0x1b758764
shl ecx, 1
add eax, 0x1b758764
sub eax, ecx
cmp eax, 0xd30cd5a
jb 0x14000d074
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x140200860]
xor eax, 0x615ad76f
and eax, dword [0x140200864]
mov r8d, 0x64f6bf9c
xor edx, edx
div r8d
mov edx, 0x334beb87
xor edx, 0x9c617e48
sub eax, edx
and eax, 0x9071667d
mov rcx, qword [rcx]
and rcx, 1
movabs rdx, 0xd64e7aa544a5c771
movabs r8, 0xd64e7aa544a5c771
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0xdabf2920
jae 0x14000d074
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14000cf81
jmp 0x14000d049
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
mov rdx, rax
add rdx, 8
mov qword [rsp + 0x28], rdx
mov rax, qword [rax + 8]
sub rax, 0xfb1
setge al
sub rcx, 0x3f000000
setl cl
and al, cl
test al, 1
jne 0x14000cfbd
jmp 0x14000d049
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x50]
call fcn.14000c5e0
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x48]
mov r10, qword [r8]
mov r8, qword [rax]
mov r9, r8
and r9, r10
shl r9, 1
xor r8, r10
add r8, r9
mov qword [rax], r8
sar rdx, 0xc
add rcx, 0x20a0
call fcn.14000c8e6
mov rax, qword [rsp + 0x48]
cmp qword [rax], 0x3f000000
jle 0x14000d049
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x38]
mov r8d, 0x3f000000
call fcn.140009c95
mov rcx, qword [rsp + 0xb0]
mov rdx, rax
call fcn.140009dc0
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xb8
jmp fcn.140009dc0
insb byte [rdi], dx
add dword [rsi], 0xf994e91c
invalid
adc eax, dword [rax + 0x6ce9ea7c]
sti
invalid
jno 0x14000d093
cmpsd dword [rsi], dword [rdi]
invalid
push rsp
and al, 0x30