Function at 0x1400c9fe0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x141dd6cd8]
or eax, dword [0x141dd6cdc]
cmp eax, 0xceae21e1
je 0x1400ca04d
mov ecx, dword [0x141dd6ce0]
imul ecx, dword [0x141dd6ce4]
add ecx, 0x82441d97
xor ecx, 0xe67ba419
add ecx, 0xcae7b5c2
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xb55b0c1
jae 0x1400ca070
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
jmp 0x1400ca006
mov eax, dword [0x141dd6ce8]
sub eax, dword [0x141dd6cec]
add eax, 0x2e3ba848
or eax, 0x3bb5cf5b
cmp eax, 0x81a301fb
jb 0x1400ca070
mov rcx, qword [rsi]
cmp rcx, 0xffffffffffffffff
je 0x1400ca2e2
lea r8, [rcx + 1]
lea r9, [rcx + rcx]
mov r10d, 4
mov r11d, 0x158
nop
mov eax, dword [0x141dd6cf0]
xor edx, edx
div dword [0x141dd6cf4]
and eax, 0x5e4bda23
xor eax, 0x8b8711e7
imul r12d, eax, 0x324ce81c
cmp r9, r8
mov rbx, r8
cmova rbx, r9
cmp rbx, 5
cmovb rbx, r10
mov rax, rbx
mul r11
mov r15, rax
seto al
cmp r12d, 0x92f89ef1
jb 0x1400ca0b0
movabs rdx, 0x7ffffffffffffff8
mov r8d, dword [0x141dd6cf8]
or r8d, dword [0x141dd6cfc]
or r8d, 0x26814d01
and r8d, 0x36b9fd49
imul r9d, r8d, 0x875a3617
cmp r15, rdx
seta r8b
cmp r9d, 0x6a112450
je 0x1400ca100
or al, r8b
jne 0x1400ca2e2
nop dword [rax]
mov eax, dword [0x141dd6d00]
or eax, dword [0x141dd6d04]
or eax, 0x10027c04
xor eax, 0x8225508
or eax, 0xe5dd02f1
cmp eax, 0xa85d2fbf
jb 0x1400ca140
nop word cs:[rax + rax]
mov eax, dword [0x141dd6d08]
add eax, dword [0x141dd6d0c]
xor eax, 0x11f0e654
add eax, 0xbbd6e1ff
or eax, 0xedc41e7c
cmp eax, 0x35966880
je 0x1400ca170
nop word cs:[rax + rax]
mov eax, dword [0x141dd6d10]
xor eax, dword [0x141dd6d14]
xor eax, 0x29563d6f
imul eax, eax, 0x5216272a
add eax, 0x47c87d9a
cmp eax, 0x2ce1d54f
jb 0x1400ca1a0
test rcx, rcx
je 0x1400ca214
nop dword [rax + rax]
mov eax, dword [0x141dd6d18]
xor edx, edx
div dword [0x141dd6d1c]
add eax, 0xdc0653a0
and eax, 0x2656d9f8
add eax, 0x30bdfd07
cmp eax, 0x41e003f7
ja 0x1400ca1d0
mov rax, qword [rsi + 8]
imul rcx, rcx, 0x158
mov qword [r14], rax
mov qword [r14 + 0x10], rcx
mov r12d, 8
xor eax, eax
test al, al
je 0x1400ca21d
jmp 0x1400ca266
xor r12d, r12d
xor eax, eax
test al, al
jne 0x1400ca266
mov eax, dword [0x141dd6d20]
add eax, dword [0x141dd6d24]
imul r13d, eax, 0xa2dc6eb
and r13d, 0x498dd631
xor r13d, 0x743caf35
mov qword [r14 + 8], r12
sub rsp, 0x20
mov edx, 8
mov rcx, rdi
mov r8, r15
mov r9, r14
call fcn.1400c0b80
add rsp, 0x20
cmp r13d, 0x285a5329
jae 0x1400ca287
mov qword [r14 + 8], r12
sub rsp, 0x20
mov edx, 8
mov rcx, rdi
mov r8, r15
mov r9, r14
call fcn.1400c0b80
add rsp, 0x20
jmp 0x1400ca21d
cmp qword [rdi], 0
jne 0x1400ca2e2
mov eax, dword [0x141dd6d28]
xor edx, edx
div dword [0x141dd6d2c]
nop dword [rax + rax]
mov eax, dword [0x141dd6d30]
sub eax, dword [0x141dd6d34]
and eax, 0x1c020050
add eax, 0x7e6dca17
cmp eax, 0xa1440843
ja 0x1400ca2a0
mov eax, dword [0x141dd6d38]
sub eax, dword [0x141dd6d3c]
imul eax, eax, 0x927d3973
add eax, 0x66b3a747
or eax, 0xc9951d0f
cmp eax, 0xf0147b3f
jne 0x1400ca2e4
jmp 0x1400ca316
ud2
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
mov eax, dword [0x141dd6d40]
imul eax, dword [0x141dd6d44]
add eax, 0xf813e04e
imul rax, rax, 0x37ec91db
shr rax, 0x3b
and eax, 2
mov qword [rsi], rbx
cmp eax, 0xab1b657e
jbe 0x1400ca330
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
mov qword [rsi], rbx
jmp 0x1400ca2e4
mov eax, dword [0x141dd6d48]
xor edx, edx
div dword [0x141dd6d4c]
cmp eax, 0x3e3259dd
je 0x1400ca330
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret