Function at 0x1400ce6e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov qword [rsp + 0x20], rcx
mov rax, qword [rcx]
test rax, rax
je 0x1400cebb9
cmp eax, 1
jne 0x1400ce7c0
mov eax, dword [0x141dd7780]
xor edx, edx
div dword [0x141dd7784]
mov rax, qword [rsp + 0x20]
add rax, 0x10
mov qword [rsp + 0x28], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd7788]
imul eax, dword [0x141dd778c]
imul eax, eax, 0x47ee27a2
cmp eax, 0xdc6e688d
je 0x1400ce730
mov rax, qword [rsp + 0x20]
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x1400cebb9
nop dword [rax]
mov eax, dword [0x141dd7790]
xor eax, dword [0x141dd7794]
and eax, 0x8088e
xor eax, 0xda773ec3
cmp eax, 0x59899548
jb 0x1400ce760
mov rax, qword [rsp + 0x20]
mov r8, qword [rax + 0x18]
nop word cs:[rax + rax]
mov eax, dword [0x141dd7798]
xor edx, edx
div dword [0x141dd779c]
imul eax, eax, 0x7c1802e8
cmp eax, 0x1c578567
je 0x1400ce790
mov r13d, 0xb2d5eeb7
xor ebp, ebp
jmp 0x1400ce841
mov eax, dword [0x141dd7738]
xor edx, edx
div dword [0x141dd773c]
or eax, 0x32d96d25
xor eax, 0xd0569879
add eax, 0xdad3a8cc
cmp eax, 0xa4e8b0ab
jb 0x1400ce7c0
mov rax, qword [rsp + 0x20]
mov rdi, qword [rax + 8]
mov rsi, qword [rax + 0x10]
mov rbx, qword [rsi]
test rbx, rbx
je 0x1400cea8f
mov eax, dword [0x141dd7740]
add eax, dword [0x141dd7744]
and eax, 0x34884030
imul rax, rax, 0x373f219f
shr rax, 0x3a
cmp eax, 0xc62a15e1
jbe 0x1400cea68
jmp 0x1400cea88
mov rdi, rsi
test rsi, rsi
mov r8, qword [rsp + 0x30]
je 0x1400cebb9
mov rsi, qword [rdi + 0x18]
mov rcx, qword [rsp + 0x20]
mov qword [rcx + 8], rsi
lea rax, [rsi + 0x20]
test rsi, rsi
cmove rax, qword [rsp + 0x28]
mov qword [rax], 0
dec r8
mov qword [rsp + 0x30], r8
mov qword [rcx + 0x18], r8
mov rbx, qword [rdi + 8]
mov r14, qword [rdi + 0x10]
test r14, r14
je 0x1400ce8de
xor r12d, r12d
nop
test bpl, bpl
je 0x1400ce8a0
imul rcx, r12, 0x158
add rcx, rbx
call fcn.1400c93d0
nop word cs:[rax + rax]
mov eax, dword [0x141dd77a0]
mov ecx, dword [0x141dd77a4]
lea r15d, [rax + rcx]
add r15d, 0xe6e4791
or r15d, 0xbefdffe7
imul rcx, r12, 0x158
add rcx, rbx
call fcn.1400c93d0
cmp r15d, 0xbfaf7c2d
je 0x1400ce8a0
inc r12
cmp r12, r14
jne 0x1400ce880
cmp qword [rdi], 0
mov r12, qword [sym.imp.KERNEL32.dll_HeapFree]
je 0x1400ce993
mov r14, qword [0x141ddb9a0]
mov eax, dword [0x141dd77a8]
or eax, dword [0x141dd77ac]
mov ecx, 0x9737eaaf
imul rax, rcx
shr rax, 0x3f
or eax, 0x7dded0c0
imul eax, eax, 0xd6b360d7
cmp eax, 0x791aa6f8
je 0x1400cea10
nop word cs:[rax + rax]
mov eax, dword [0x141dd77b0]
or eax, dword [0x141dd77b4]
imul r15d, eax, 0x7f41c1c5
add r15d, 0xddabc950
and r15d, 0x2a496c43
mov rcx, r14
xor edx, edx
mov r8, rbx
call r12
cmp r15d, 0xd7cc6b72
je 0x1400cea10
nop dword [rax]
mov eax, dword [0x141dd77b8]
and eax, dword [0x141dd77bc]
add eax, 0x879ce647
imul rax, rax, 0x10b1222b
shr rax, 0x3b
cmp eax, 0x35c64c08
ja 0x1400ce970
mov eax, dword [0x141dd77c0]
add eax, dword [0x141dd77c4]
xor eax, 0xc5313314
or eax, 0x184ec8eb
add eax, 0xfb4b6f92
cmp eax, 0xbee96f64
jbe 0x1400ce9c0
mov rax, qword [0x141ddb9a0]
nop dword [rax]
mov eax, dword [0x141dd77c8]
xor eax, dword [0x141dd77cc]
imul rax, r13
shr rax, 0x3e
imul eax, eax, 0xda6d5706
mov rbx, qword [0x141ddb9a0]
cmp eax, 0xe97b9d26
je 0x1400ce9c0
mov eax, dword [0x141dd77d0]
and eax, dword [0x141dd77d4]
add eax, 0x55b559ae
shr eax, 1
imul rax, rax, 0x57983d0b
shr rax, 0x36
cmp eax, 0xc6f203f0
jne 0x1400cea20
jmp 0x1400cea5b
mov rcx, r14
xor edx, edx
mov r8, rbx
call r12
jmp 0x1400ce930
mov eax, dword [0x141dd77d8]
xor edx, edx
div dword [0x141dd77dc]
imul r14, rax, 0x9da3f73
shr r14, 0x3a
not r14d
and r14d, 0x40001c29
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r12
cmp r14d, 0xbf5376a0
jbe 0x1400ce830
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r12
jmp 0x1400cea20
mov ebp, dword [0x141dd7748]
imul ebp, dword [0x141dd774c]
and ebp, 0x39403000
mov rcx, rdi
call rbx
cmp ebp, 0x633586f1
jne 0x1400cea8f
mov rcx, rdi
call rbx
jmp 0x1400cea68
cmp qword [rsi + 8], 0
je 0x1400cebb9
mov rax, qword [rsi + 0x10]
mov ecx, 0xa414d8fd
nop word cs:[rax + rax]
mov edx, dword [0x141dd7750]
and edx, dword [0x141dd7754]
add edx, 0xe730073
xor edx, 0x3f683321
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0x2da475d8
ja 0x1400ceab0
nop dword [rax + rax]
mov ecx, dword [0x141dd7758]
or ecx, dword [0x141dd775c]
imul ecx, ecx, 0x8e3c95b7
or ecx, 0x18514da8
imul ecx, ecx, 0x2fe60d4
cmp ecx, 0x37093d38
jb 0x1400ceae0
cmp rax, 0x11
jb 0x1400ceb41
mov eax, dword [0x141dd7760]
xor edx, edx
div dword [0x141dd7764]
nop word [rax + rax]
mov eax, dword [0x141dd7768]
and eax, dword [0x141dd776c]
or eax, 0x96aa7294
and eax, 0xb7eef695
cmp eax, 0x5d9dd54f
jb 0x1400ceb20
mov rdi, qword [rdi - 8]
mov eax, dword [0x141dd7770]
imul eax, dword [0x141dd7774]
or eax, 0xeac29210
and eax, 0xead2deb4
cmp eax, 0x6a657701
jae 0x1400ceb71
mov rcx, qword [0x141ddb9a0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, dword [0x141dd7778]
imul eax, dword [0x141dd777c]
or eax, 0xe5eaf66e
imul rbx, rax, 0x568c4d25
shr rbx, 0x3b
xor ebx, 0xc6410d4a
mov rcx, qword [0x141ddb9a0]
xor edx, edx
mov r8, rdi
call rsi
cmp ebx, 0xc6e6aec3
ja 0x1400ceb80
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret