Function at 0x1400a0cf0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rbx, r8
mov r14, rdx
mov rsi, rcx
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400a0d10
mov rax, qword [rsi]
mov r12, qword [rax]
cmp qword [r12 + 0x10], 0
jne 0x1400a0d72
mov qword [r12 + 0x10], 0xffffffffffffffff
lea r15, [r12 + 0x18]
mov eax, dword [0x141dd48b0]
and eax, dword [0x141dd48b4]
xor eax, 0x1e3ffa48
imul eax, eax, 0x50502ec
add eax, 0x5a9b50f4
cmp eax, 0x15a6e010
jb 0x1400a0d30
mov eax, dword [0x141dd48b8]
sub eax, dword [0x141dd48bc]
and eax, 0xcc4ed89f
add eax, 0x3f0250b3
cmp eax, 0x2b4106e
jae 0x1400a0da6
jmp 0x1400a0dd4
ud2
mov ebp, dword [0x141dd48c0]
sub ebp, dword [0x141dd48c4]
xor ebp, 0x26b0904f
add ebp, 0x73bbf961
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.14008cef0
cmp ebp, 0x97fc1d63
jbe 0x1400a0de4
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.14008cef0
jmp 0x1400a0da6
mov rdi, rax
test rax, rax
je 0x1400a0eaf
mov eax, edi
and eax, 3
nop word cs:[rax + rax]
mov ecx, dword [0x141dd48c8]
xor ecx, dword [0x141dd48cc]
xor ecx, 0x208280
or ecx, 0xffdd555f
cmp ecx, 0x42e4a28c
je 0x1400a0e00
cmp eax, 2
jb 0x1400a0f50
cmp eax, 2
jne 0x1400a0eea
movabs rax, 0xffffffff00000000
mov rcx, rdi
and rcx, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd48e0]
xor edx, edx
div dword [0x141dd48e4]
add eax, 0x65e0e6d5
cmp eax, 0x54ea2b1a
jb 0x1400a0e50
movabs rax, 0x600000000
nop word cs:[rax + rax]
mov edx, dword [0x141dd48e8]
xor edx, dword [0x141dd48ec]
add edx, 0xd53cf15d
or edx, 0x8ef12988
add edx, 0x5208a789
cmp edx, 0x699b544e
jb 0x1400a0e80
cmp rcx, rax
jne 0x1400a0f50
inc qword [r12 + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dd48f0]
add eax, dword [0x141dd48f4]
xor eax, 0x168f5309
imul eax, eax, 0x138c976d
add eax, 0x72ad0df1
cmp eax, 0xb7e10092
jb 0x1400a0ec0
xor eax, eax
jmp 0x1400a1283
mov eax, 0x939636f9
nop
mov ecx, dword [0x141dd48d0]
and ecx, dword [0x141dd48d4]
xor ecx, 0x2fac489f
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x588f5478
je 0x1400a0ef0
mov eax, 0xa729b9a7
nop word [rax + rax]
mov ecx, dword [0x141dd48d8]
or ecx, dword [0x141dd48dc]
or ecx, 0x379e3e53
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x869b7c
je 0x1400a0f20
nop word cs:[rax + rax]
mov eax, dword [0x141dd48f8]
imul eax, dword [0x141dd48fc]
add eax, 0x2c82504b
xor eax, 0x8a3389cf
add eax, 0xb92c50e0
cmp eax, 0xdd18561
jb 0x1400a0f50
mov rax, qword [r12 + 0x10]
inc rax
xor ecx, ecx
test cl, cl
jne 0x1400a0f8c
mov qword [r12 + 0x10], rax
xor ecx, ecx
test cl, cl
je 0x1400a0fa0
mov qword [r12 + 0x10], rax
jmp 0x1400a0f81
mov eax, dword [0x141dd4900]
xor edx, edx
div dword [0x141dd4904]
imul eax, eax, 0xe6e8efc3
xor eax, 0x3f0d9cb5
imul rax, rax, 0x6817e2f
shr rax, 0x3a
cmp eax, 0x18a5d206
je 0x1400a0fa0
mov rax, qword [rsi + 8]
test rax, rax
je 0x1400a124e
nop dword [rax + rax]
mov ecx, dword [0x141dd4908]
xor ecx, dword [0x141dd490c]
imul rdx, rcx, 0x2f1d1225
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1a
or ecx, 0xdf7776f7
cmp ecx, 0xb8abc2ba
jb 0x1400a0fe0
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x1400a124e
test rcx, rcx
je 0x1400a124e
lea rbx, [rax - 1]
nop
mov ecx, dword [0x141dd4910]
add ecx, dword [0x141dd4914]
xor ecx, 0x135fedfc
imul rcx, rcx, 0x40e8549d
shr rcx, 0x3e
imul ecx, ecx, 0xd3ea821c
cmp ecx, 0x3b2d096c
ja 0x1400a1030
mov r14, qword [rax - 1]
mov r15, qword [rax + 7]
mov r12, qword [r15]
test r12, r12
je 0x1400a10bf
mov eax, dword [0x141dd4918]
imul eax, dword [0x141dd491c]
imul eax, eax, 0x5dea2999
add eax, 0x3b143de8
cmp eax, 0xbc96fbaa
ja 0x1400a10b7
mov eax, dword [0x141dd4920]
xor eax, dword [0x141dd4924]
imul r13, rax, 0x7ddf1fa1
shr r13, 0x3e
or r13d, 0x897a1afa
mov rcx, r14
call r12
cmp r13d, 0x86adbbfd
jne 0x1400a10bf
mov rcx, r14
call r12
jmp 0x1400a108a
mov rcx, qword [r15 + 8]
mov eax, dword [0x141dd4928]
xor edx, edx
div dword [0x141dd492c]
nop word cs:[rax + rax]
mov eax, dword [0x141dd4930]
xor edx, edx
div dword [0x141dd4934]
and eax, 0x29d0c50e
xor eax, 0x4a2fd96f
cmp eax, 0x332ca644
jb 0x1400a10e0
mov r8, qword [r15 + 0x10]
mov eax, dword [0x141dd4938]
xor edx, edx
div dword [0x141dd493c]
nop word cs:[rax + rax]
mov eax, dword [0x141dd4940]
add eax, dword [0x141dd4944]
imul rax, rax, 0x443c9bf3
shr rax, 0x3c
xor eax, 0xa107191
or eax, 0x65ed0e4a
cmp eax, 0x7c1a774e
je 0x1400a1120
test rcx, rcx
je 0x1400a11c8
cmp r8, 0x11
jb 0x1400a11b6
nop word cs:[rax + rax]
mov eax, dword [0x141dd4948]
or eax, dword [0x141dd494c]
xor eax, 0x10200000
or eax, 0xa5daed04
and eax, 0xfdffed14
cmp eax, 0x99892cba
jb 0x1400a1160
mov r14, qword [r14 - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dd4950]
sub eax, dword [0x141dd4954]
imul rax, rax, 0x4c2a4c7f
shr rax, 0x3c
and eax, 1
or eax, 0xcc831df2
cmp eax, 0x1e780097
jb 0x1400a1190
mov rcx, qword [0x141dde6e0]
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [0x141dde6e0]
mov eax, dword [0x141dd4958]
and eax, dword [0x141dd495c]
imul eax, eax, 0x50825077
add eax, 0x47f0721c
cmp eax, 0x1553513c
jb 0x1400a121f
mov eax, dword [0x141dd4960]
and eax, dword [0x141dd4964]
add eax, 0x2f1d306
and eax, 0x18babcf9
imul ebp, eax, 0xd15c6a34
mov rcx, r14
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebp, 0x9c0cf5bc
jne 0x1400a1230
mov rcx, r14
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400a11ed
mov eax, dword [0x141dd4968]
xor eax, dword [0x141dd496c]
imul eax, eax, 0xb4de3ae3
or eax, 0x180ece86
cmp eax, 0x8406c99b
jb 0x1400a1230
xor eax, eax
test al, al
je 0x1400a1260
mov qword [rsi + 8], rdi
nop dword [rax + rax]
mov eax, dword [0x141dd4970]
add eax, dword [0x141dd4974]
or eax, 0x30a09005
and eax, 0x3aa692c5
mov qword [rsi + 8], rdi
cmp eax, 0x3ebabca1
je 0x1400a1260
mov al, 1
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret