Function at 0x14021e7b0
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
cmp rdx, 0xffffffffffffffff
je 0x14021eb7d
mov rsi, rcx
movabs rcx, 0x2aaaaaaaaaaaaaa
inc rdx
mov r8d, 4
xor r9d, r9d
nop word cs:[rax + rax]
mov rax, qword [rsi]
lea r12, [rax + rax]
cmp r12, rdx
cmovbe r12, rdx
cmp r12, 5
cmovb r12, r8
test r9b, r9b
jne 0x14021e7f0
mov edx, dword [0x1415888b8]
sub edx, dword [0x1415888bc]
mov r8d, edx
xor r8d, 0x7002560
and edx, 0x78ffda9f
add edx, edx
sub edx, r8d
imul rdx, rdx, 0x1c1b54a3
shr rdx, 0x3c
cmp edx, 0x6727ae92
mov rdx, r12
and rdx, 0xffffffffffffffcf
mov rdi, r12
or rdi, 0x30
nop dword [rax + rax]
xor ebx, ebx
cmp r12, rcx
setbe r8b
mov r9d, dword [0x1415888c0]
mov r10d, dword [0x1415888c4]
mov r11d, r9d
xor r11d, r10d
not r10d
and r10d, r9d
add r10d, r10d
sub r10d, r11d
mov r9d, r10d
not r9d
mov r11d, r10d
and r11d, 0x2acd7b9f
and r9d, 0xd5328460
imul r9d, r11d
mov r11d, r10d
and r11d, 0xd5328460
or r10d, 0xd5328460
imul r10d, r11d
add r10d, r9d
imul r9, r10, 0x23eba049
shr r9, 0x3d
or r9d, 0x7dec395a
cmp r9d, 0x6dab4405
jb 0x14021e850
mov ecx, r12d
not ecx
and ecx, 0x30
imul rdx, rcx
mov ecx, r12d
and ecx, 0x30
imul rdi, rcx
add rdi, rdx
mov bl, r8b
shl rbx, 3
mov ecx, 0xaa469147
nop dword [rax]
mov edx, dword [0x1415888c8]
sub edx, dword [0x1415888cc]
xor edx, 0x3f39b90d
add edx, 0x8e05b37b
imul rdx, rcx
shr rdx, 0x3d
cmp edx, 0x2d6986a6
ja 0x14021e8f0
test rax, rax
je 0x14021e9a3
shl rax, 4
lea rcx, [rax + rax*2]
nop dword [rax]
mov eax, dword [0x1415888d0]
add eax, dword [0x1415888d4]
or eax, 0xb2c5dc20
imul rax, rax, 0x4b6a0b47
shr rax, 0x3e
add eax, 0x8fa553dd
cmp eax, 0xf5115005
ja 0x14021e930
mov eax, dword [0x1415888d8]
mov edx, dword [0x1415888dc]
mov r8d, eax
not r8d
and eax, edx
not edx
or edx, r8d
not eax
and eax, edx
not eax
mov edx, 0xc18b22e9
imul rdx, rax
shr rdx, 0x3e
add edx, 0xee350205
mov eax, edx
xor eax, 0x1b6ae2eb
or edx, 0xe4150004
and edx, eax
cmp edx, 0x5b2173c0
jae 0x14021e9b5
jmp 0x14021e9dd
xor r13d, r13d
xor eax, eax
test al, al
jne 0x14021ea53
jmp 0x14021ea6d
mov eax, dword [0x1415888e0]
xor edx, edx
div dword [0x1415888e4]
add eax, 0xee0e53dc
or eax, 0xcb76feed
mov rdx, qword [rsi + 8]
mov qword [rsp + 0x28], rdx
cmp eax, 0x2de9c3cd
jae 0x14021e9e8
mov rax, qword [rsi + 8]
mov qword [rsp + 0x28], rax
jmp 0x14021e9b5
mov eax, dword [0x1415888e8]
xor eax, dword [0x1415888ec]
add eax, 0xf9bf97ea
or eax, 0x89bc311b
mov edx, eax
xor edx, 0xc30f85e8
and edx, eax
cmp edx, 0x75d32921
ja 0x14021ea40
mov eax, dword [0x1415888f4]
mov edx, eax
xor edx, edx
not edx
and edx, dword [0x1415888f0]
xor edx, eax
imul rax, rdx, 0x394c3dd
shr rax, 0x39
add eax, 0xb9b383a3
mov qword [rsp + 0x38], rcx
cmp eax, 0x6a41cb7a
jae 0x14021ea47
mov qword [rsp + 0x38], rcx
jmp 0x14021ea10
mov r13d, 8
xor eax, eax
test al, al
je 0x14021ea6d
mov qword [rsp + 0x30], r13
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov rdx, rbx
mov r8, rdi
call fcn.1400316e0
lea r14, [rsp + 0x40]
lea r15, [rsp + 0x28]
xor ebp, ebp
nop dword [rax]
mov qword [rsp + 0x30], r13
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, r15
call fcn.1400316e0
test bpl, bpl
jne 0x14021ea80
cmp qword [rsp + 0x40], 0
jne 0x14021eb30
nop word [rax + rax]
mov eax, dword [0x141588910]
mov ecx, dword [0x141588914]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
xor ecx, 0x34f7f648
and eax, 0x14f7f648
add eax, eax
sub eax, ecx
and eax, 0x2f16133d
cmp eax, 0x84ec2388
je 0x14021eab0
xor eax, eax
test al, al
nop word cs:[rax + rax]
mov eax, dword [0x14158891c]
add eax, dword [0x141588918]
not eax
and eax, 0x7e041851
cmp eax, 0x2be954d5
je 0x14021eaf0
mov rax, qword [rsp + 0x48]
mov qword [rsi + 8], rax
mov qword [rsi], r12
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1415888f8]
sub eax, dword [0x1415888fc]
and eax, 0xa0840802
xor eax, 0xa0040002
cmp eax, 0x4f990a62
je 0x14021eb30
nop dword [rax]
mov eax, dword [0x141588900]
mov ecx, dword [0x141588904]
mov edx, ecx
not edx
or edx, eax
not eax
or eax, ecx
not edx
not eax
or eax, edx
xor eax, 0x500c040
and eax, 0x2756c1e0
cmp eax, 0x41b15e7d
je 0x14021eb50
ud2