Function at 0x1401dc430
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
mov rcx, qword [rcx]
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1401dc450
cmp rcx, 0xffffffffffffffff
je 0x1401dc7b9
movabs r8, 0x124924924924924
mov eax, dword [0x1415a8728]
xor edx, edx
div dword [0x1415a872c]
lea r9, [rcx + 1]
lea r10, [rcx + rcx]
mov r11d, 4
nop word cs:[rax + rax]
mov eax, dword [0x1415a8730]
xor edx, edx
div dword [0x1415a8734]
add eax, 0xcabcce2b
or eax, 0xf79c54f7
imul rax, rax, 0x22e7c51b
shr rax, 0x3c
cmp r10, r9
mov r12, r9
cmovne r12, r10
test rcx, rcx
cmovle r12, r9
cmp r12, 5
cmovb r12, r11
cmp eax, 0x7af072aa
je 0x1401dc490
xor edi, edi
cmp r12, r8
setbe dil
test rcx, rcx
je 0x1401dc52e
imul rax, rcx, 0x70
xor ecx, ecx
nop word [rax + rax]
test cl, cl
jne 0x1401dc4f0
mov rcx, qword [rsi + 8]
mov edx, dword [0x1415a8738]
mov r8d, dword [0x1415a873c]
mov r9d, edx
and r9d, r8d
xor edx, r8d
lea edx, [rdx + r9*2]
imul edx, edx, 0x8049cc5a
add edx, 0x2b78c372
or edx, 0x5a8bae1a
cmp edx, 0xa1542e05
jne 0x1401dc536
jmp 0x1401dc591
xor r13d, r13d
jmp 0x1401dc5f3
mov edx, dword [0x1415a8740]
mov r8d, dword [0x1415a8744]
mov r9d, edx
not r9d
and r9d, r8d
mov r10d, r8d
not r10d
and r10d, edx
imul r10d, r9d
mov r9d, edx
and r9d, r8d
or edx, r8d
imul edx, r9d
add edx, r10d
imul edx, edx, 0xc62d376f
add edx, 0xe49fbfa9
mov r8d, 0xc06058fd
imul r8, rdx
shr r8, 0x3e
mov qword [rsp + 0x28], rcx
cmp r8d, 0xaeaf0b0f
jne 0x1401dc598
mov qword [rsp + 0x28], rcx
jmp 0x1401dc536
mov ecx, dword [0x1415a8748]
mov edx, dword [0x1415a874c]
add ecx, edx
add ecx, 0xfe1e40a8
shr ecx, 1
imul rcx, rcx, 0x4f64d95f
shr rcx, 0x3c
cmp ecx, 0x8ef4699b
ja 0x1401dc5e6
mov ecx, dword [0x1415a8750]
or ecx, dword [0x1415a8754]
add ecx, 0x5a7fa1d0
and ecx, 0x741fd283
mov qword [rsp + 0x38], rax
cmp ecx, 0xd9d8a744
jne 0x1401dc5ed
mov qword [rsp + 0x38], rax
jmp 0x1401dc5c1
mov r13d, 8
imul rbx, r12, 0x70
shl rdi, 3
mov eax, dword [0x1415a8758]
xor edx, edx
div dword [0x1415a875c]
or eax, 0xd8f67631
mov ecx, 0x9e231561
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x7525dbad
jne 0x1401dc63d
mov qword [rsp + 0x30], r13
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov rdx, rdi
mov r8, rbx
call fcn.14020b2a0
lea r14, [rsp + 0x40]
lea r15, [rsp + 0x28]
nop word [rax + rax]
mov ebp, dword [0x1415a8760]
add ebp, dword [0x1415a8764]
mov eax, ebp
xor eax, 0x2613e018
xor ebp, 0x492805c3
mov ecx, ebp
and ecx, 0x90c41ea5
and eax, 0x6f3be15a
imul eax, ecx
mov ecx, ebp
and ecx, 0x6f3be15a
or ebp, 0x6f3be15a
imul ebp, ecx
add ebp, eax
mov qword [rsp + 0x30], r13
mov rcx, r14
mov rdx, rdi
mov r8, rbx
mov r9, r15
call fcn.14020b2a0
cmp ebp, 0x4806011a
je 0x1401dc650
cmp qword [rsp + 0x40], 0
jne 0x1401dc760
nop word cs:[rax + rax]
mov eax, dword [0x1415a8778]
and eax, dword [0x1415a877c]
imul eax, eax, 0xdfbc9ab8
mov ecx, eax
not ecx
or ecx, 0x5aec2d95
add ecx, eax
imul eax, ecx, 0xc9ab8e9a
cmp eax, 0x34c2871f
je 0x1401dc6c0
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1415a8780]
xor edx, edx
div dword [0x1415a8784]
mov edx, eax
not edx
and edx, 0x1afefb14
mov r8d, eax
and r8d, 0xe50104eb
imul r8d, edx
mov edx, eax
and edx, 0x1afefb14
or eax, 0x1afefb14
imul eax, edx
add eax, r8d
mov edx, eax
and edx, 0x7f8ab324
add edx, edx
sub eax, edx
add eax, 0x7f8ab325
mov edx, eax
and edx, 0xfffffffc
xor edx, 0x9340437d
and eax, 0x9340437c
or eax, edx
cmp eax, 0x82304246
jne 0x1401dc7bb
jmp 0x1401dc7ec
mov eax, dword [0x1415a8768]
add eax, dword [0x1415a876c]
mov ecx, eax
xor ecx, 0x49204001
and ecx, eax
or ecx, 0xa21ebd6e
imul rax, rcx, 0x65687ff9
shr rax, 0x3e
cmp eax, 0x6d85546f
ja 0x1401dc760
nop
mov eax, dword [0x1415a8770]
or eax, dword [0x1415a8774]
mov ecx, eax
xor ecx, 0x500d0280
or eax, 0x62286a
and eax, ecx
not eax
and eax, 0x506f2aea
cmp eax, 0xedd1939
je 0x1401dc790
ud2
mov eax, dword [0x1415a8788]
or eax, dword [0x1415a878c]
add eax, 0xad379ec4
mov edx, eax
or edx, 0xa1068620
and edx, 0xf127d661
or eax, 0xfbf7d66f
add eax, edx
mov qword [rsi + 8], rcx
cmp eax, 0x58c7d57e
jne 0x1401dc7f2
mov qword [rsi + 8], rcx
jmp 0x1401dc7bb
mov qword [rsi], r12
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret