Function at 0x1400d7630
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov rsi, rcx
mov rcx, qword [rcx]
cmp rcx, 0xffffffffffffffff
je 0x1400d78cc
lea rax, [rcx + 1]
lea rdx, [rcx + rcx]
cmp rdx, rax
cmova rax, rdx
cmp rax, 5
mov r15d, 4
cmovae r15, rax
mov rdi, r15
shl rdi, 4
movabs rax, 0x7ffffffffffffffc
movabs rdx, 0xfffffffffffffff
nop word cs:[rax + rax]
mov r8d, dword [0x141dd8998]
sub r8d, dword [0x141dd899c]
imul r10d, r8d, 0x4f0dbac2
cmp r15, rdx
seta r8b
cmp rdi, rax
seta r9b
cmp r10d, 0x5d38bdf1
je 0x1400d7690
or r8b, r9b
jne 0x1400d78cc
nop word cs:[rax + rax]
mov eax, dword [0x141dd89a0]
or eax, dword [0x141dd89a4]
cmp eax, 0x10aa0645
je 0x1400d76d0
test rcx, rcx
je 0x1400d774f
mov eax, dword [0x141dd89a8]
xor edx, edx
div dword [0x141dd89ac]
nop word cs:[rax + rax]
mov eax, dword [0x141dd89b0]
sub eax, dword [0x141dd89b4]
imul eax, eax, 0xc7d0bacb
cmp eax, 0x53427770
je 0x1400d7700
mov rax, qword [rsi + 8]
shl rcx, 4
mov qword [rsp + 0x20], rax
mov eax, dword [0x141dd89b8]
sub eax, dword [0x141dd89bc]
imul eax, eax, 0xea0dfde2
mov edx, 0xec37294d
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xa28a2417
jbe 0x1400d7754
jmp 0x1400d7776
xor r12d, r12d
jmp 0x1400d7783
mov eax, dword [0x141dd89c0]
add eax, dword [0x141dd89c4]
and eax, 0x1b22adfb
add eax, 0x2c9a53aa
mov qword [rsp + 0x30], rcx
cmp eax, 0x45a4c0f
jae 0x1400d777d
mov qword [rsp + 0x30], rcx
jmp 0x1400d7754
mov r12d, 4
mov eax, dword [0x141dd89c8]
xor edx, edx
div dword [0x141dd89cc]
add eax, 0xb8111cf7
xor eax, 0x33650c31
cmp eax, 0xed06df6c
jbe 0x1400d77be
mov qword [rsp + 0x28], r12
lea rcx, [rsp + 0x38]
lea r9, [rsp + 0x20]
mov edx, 4
mov r8, rdi
call fcn.1400c0b80
lea rbx, [rsp + 0x38]
lea r14, [rsp + 0x20]
nop dword [rax + rax]
mov eax, dword [0x141dd89d0]
xor edx, edx
div dword [str.Ph]
imul ebp, eax, 0xa6972c5d
mov qword [rsp + 0x28], r12
mov edx, 4
mov rcx, rbx
mov r8, rdi
mov r9, r14
call fcn.1400c0b80
cmp ebp, 0x23d2ec5f
je 0x1400d77d0
cmp qword [rsp + 0x38], 0
jne 0x1400d7870
nop dword [rax]
mov eax, dword [0x141dd8a00]
or eax, dword [0x141dd8a04]
add eax, 0xb5aaa74
and eax, 0xf1af400
cmp eax, 0xc80ab3d6
je 0x1400d7810
mov rax, qword [rsp + 0x40]
mov ecx, dword [0x141dd8a08]
imul ecx, dword [0x141dd8a0c]
xor ecx, 0x3aeccf48
imul ecx, ecx, 0xe165f2a6
add ecx, 0xa6f4822c
cmp ecx, 0xa3afcbf6
jbe 0x1400d793f
jmp 0x1400d7968
mov eax, dword [0x141dd89d8]
xor eax, dword [0x141dd89dc]
imul eax, eax, 0x21ad531f
or eax, 0x10a0c850
and eax, 0x93eaf8da
cmp eax, 0xbda875d4
ja 0x1400d7870
nop word cs:[rax + rax]
mov eax, dword [0x141dd89e0]
sub eax, dword [0x141dd89e4]
imul rcx, rax, 0xb46e1df
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0x38f76196
cmp eax, 0x4c52eeaa
ja 0x1400d78a0
mov eax, dword [0x141dd89e8]
mov ecx, dword [0x141dd89ec]
add eax, ecx
add eax, 0x6c80ddf6
xor eax, 0x69d8f356
cmp eax, 0x3bcef2b7
jae 0x1400d78f0
ud2
mov eax, dword [0x141dd89f0]
sub eax, dword [0x141dd89f4]
imul rax, rax, 0x68a9b1b1
shr rax, 0x3c
imul eax, eax, 0xc561ade9
add eax, 0xcabbcd16
ud2
mov ecx, dword [0x141dd8a10]
mov edx, dword [0x141dd8a14]
add ecx, edx
add ecx, 0xc8f75a03
and ecx, 0xbdfbcda7
mov qword [rsi + 8], rax
mov qword [rsi], r15
cmp ecx, 0x836a47bb
jae 0x1400d7971
mov qword [rsi + 8], rax
mov qword [rsi], r15
jmp 0x1400d793f
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret