Function at 0x1400af7d0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
movaps xmmword [rsp + 0x60], xmm6
mov rsi, rcx
mov eax, dword [0x14021ce10]
mov ecx, dword [0x14021ce14]
mov edx, ecx
not edx
or edx, eax
not eax
or eax, ecx
not edx
not eax
or eax, edx
add eax, 0xc8751c2
mov ecx, eax
not ecx
and ecx, 0xd41fc2de
mov edx, eax
and edx, 0x2be03d21
imul edx, ecx
mov ecx, eax
and ecx, 0xd41fc2de
or eax, 0xd41fc2de
imul eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0xe1b11dfd
and eax, 0x1e4ee202
add eax, eax
sub eax, ecx
cmp eax, 0xffa7e2f0
ja 0x1400af7e0
mov rdi, qword [rsi + 0x28]
nop word cs:[rax + rax]
mov eax, dword [str.4D_N]
xor edx, edx
div dword [0x14021ce1c]
mov ecx, eax
xor ecx, 0x92505234
and ecx, eax
imul eax, ecx, 0x8a5ccf7e
cmp eax, 0x7b651516
je 0x1400af850
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x88]
test rax, rax
je 0x1400af9b9
cmp eax, 1
je 0x1400af9f0
mov eax, dword [0x14021ce28]
mov ecx, dword [0x14021ce2c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, 0xc096292b
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xf4f2a12a
cmp ecx, 0x455453ca
jne 0x1400af8f0
lock dec qword [rsi]
nop dword [rax + rax]
mov ecx, dword [0x14021ce30]
sub ecx, dword [0x14021ce34]
and ecx, 0x8000cc
mov rax, 0xffffffffffffffff
lock xadd qword [rsi], rax
cmp ecx, 0xc0cdf153
ja 0x1400af8f0
nop word cs:[rax + rax]
mov ecx, dword [0x14021ce38]
mov edx, dword [0x14021ce3c]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
and ecx, 0x52a3
add ecx, 0xfe7b4a63
cmp ecx, 0xef934dd4
jb 0x1400af920
cmp rax, 1
jne 0x1400af9b7
mov rcx, rsi
call fcn.1400afc60
nop word cs:[rax + rax]
mov eax, dword [0x14021ce44]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x14021ce40]
xor ecx, eax
imul eax, ecx, 0xf200bb28
add eax, 0x980565f8
mov ecx, eax
and ecx, 0x495751a0
add ecx, ecx
sub eax, ecx
add eax, 0x495751a1
cmp eax, 0x4d1dfa9c
jb 0x1400af980
ud2
mov eax, dword [0x14021ce20]
mov ecx, dword [0x14021ce24]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
add eax, 0x33564206
cmp eax, 0xa5ca975f
jae 0x1400af9de
call fcn.1401503b0
mov bl, 1
call fcn.14016a6d0
test bl, bl
je 0x1400af9e0
nop dword [rax]
mov eax, dword [0x14021ce48]
and eax, dword [0x14021ce4c]
add eax, 0x6495ce71
mov ecx, eax
xor ecx, 0x481f0982
and ecx, eax
not ecx
or ecx, 0x9660f054
cmp ecx, 0xfa403758
je 0x1400af9f0
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x80]
nop word cs:[rax + rax]
mov eax, dword [0x14021ce50]
xor edx, edx
div dword [0x14021ce54]
mov edx, eax
not edx
or edx, 0xed45773
add eax, edx
inc eax
not eax
or eax, 0xd6d421ea
xor eax, 0x87c99ff1
cmp eax, 0x7acc75ed
ja 0x1400afa40
test rcx, rcx
jne 0x1400afad8
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x80], rsi
mov eax, dword [0x14021ce68]
xor edx, edx
div dword [0x14021ce6c]
add eax, 0xfc5394ea
mov ecx, eax
not ecx
and ecx, 0x927853e7
mov edx, eax
and edx, 0x6d87ac18
imul edx, ecx
mov ecx, eax
and ecx, 0x927853e7
or eax, 0x927853e7
imul eax, ecx
add eax, edx
cmp eax, 0xc794cdd8
jbe 0x1400afbe9
jmp 0x1400afc28
mov dword [rsp + 0x28], 0
mov byte [rsp + 0x2c], 0
lea rax, str.3p__
mov qword [rsp + 0x30], rax
mov eax, dword [0x14021ce58]
mov ecx, dword [0x14021ce5c]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
and ecx, 0x5077cf9e
add ecx, 0x7897d7f7
or ecx, 0x9e9db096
cmp ecx, 0xc4ec0a2
jae 0x1400afb5c
mov qword [rsp + 0x38], 1
lea rax, [rsp + 0x20]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x30]
call fcn.1401503d0
mov rcx, rax
call fcn.1400b2ce0
mov ecx, 7
int 0x29
lea rbx, [rsp + 0x20]
xorps xmm6, xmm6
lea rsi, [rsp + 0x28]
lea rdi, [rsp + 0x30]
nop
mov eax, dword [0x14021ce60]
and eax, dword [0x14021ce64]
lea ecx, [rax - 0x60217ed4]
mov edx, ecx
and edx, 0x32cc0bd
xor ecx, 0x7cd33f42
lea ebp, [rax + rcx]
add ebp, 0x9fde812c
sub ebp, edx
or ebp, 0x86b24bd3
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], rbx
movups xmmword [rsp + 0x48], xmm6
mov rcx, rsi
mov rdx, rdi
call fcn.1400b2630
mov rcx, rax
call fcn.140150150
mov ecx, 7
int 0x29
cmp ebp, 0x66a75103
jb 0x1400afb70
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400afbe0
jmp 0x1400af9b7
mov eax, dword [0x14021ce70]
xor eax, dword [0x14021ce74]
mov ecx, eax
and ecx, 0x1424584d
add ecx, ecx
sub eax, ecx
mov ecx, dword [0x14022cb7c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
imul eax, eax, 0x83b5b43b
mov qword [rcx + 0x78], rdi
cmp eax, 0xda9287d8
jne 0x1400afc44
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x78], rdi
jmp 0x1400afbe9
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
ret