Function at 0x140069cf0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov ebx, r8d
mov r14, rdx
mov rdi, rcx
mov bpl, 1
test r8b, r8b
je 0x140069e3a
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movaps xmmword [rsp + 0x40], xmm2
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [rdi + 0x30]
cmp rax, 1
je 0x140069d61
test rax, rax
jne 0x140069d6a
mov rsi, qword [rdi + 0x38]
test rsi, rsi
je 0x140069d6a
cmp qword [rdi + 0x40], 0
je 0x140069d6a
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.14021dfcd
jmp 0x140069d6a
lea rcx, [rdi + 0x38]
call fcn.140069bc0
mov qword [rdi + 0x30], 1
lea rsi, [rdi + 0x38]
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x38], xmm0
movups xmmword [rdi + 0x48], xmm1
movups xmmword [rdi + 0x58], xmm2
mov rax, qword [rdi]
nop word cs:[rax + rax]
nop
mov rcx, rax
xor rcx, 3
lock cmpxchg qword [rdi], rcx
jne 0x140069da0
test al, 1
je 0x140069f4b
test al, 2
jne 0x140069f65
test al, 8
jne 0x140069df4
mov rax, qword [rdi + 0x30]
cmp rax, 1
je 0x140069e0e
test rax, rax
jne 0x140069e16
mov r15, qword [rsi]
test r15, r15
je 0x140069e16
cmp qword [rdi + 0x40], 0
je 0x140069e16
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.14021dfcd
jmp 0x140069e16
test al, 0x10
je 0x140069e38
mov rax, qword [rdi + 0x78]
test rax, rax
je 0x140069f7f
mov rcx, qword [rdi + 0x70]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x140069e38
mov rcx, rsi
call fcn.140069bc0
mov qword [rdi + 0x30], 2
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
xor ebp, ebp
mov rax, qword [rdi]
test bl, bl
je 0x140069e70
nop word cs:[rax + rax]
nop
test al, 2
je 0x140069f31
cmp rax, 0x3f
jbe 0x140069f17
lea rcx, [rax - 0x40]
lock cmpxchg qword [rdi], rcx
jne 0x140069e50
jmp 0x140069e8c
mov rcx, rax
or rcx, 2
cmp rcx, 0x40
jb 0x140069f17
add rcx, 0xffffffffffffffc0
lock cmpxchg qword [rdi], rcx
jne 0x140069e70
cmp rcx, 0x3f
ja 0x140069ef0
mov rax, qword [rdi + 0x30]
cmp rax, 1
je 0x140069ec5
test rax, rax
jne 0x140069ece
mov rsi, qword [rdi + 0x38]
test rsi, rsi
je 0x140069ece
cmp qword [rdi + 0x40], 0
je 0x140069ece
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.14021dfcd
jmp 0x140069ece
lea rcx, [rdi + 0x38]
call fcn.140069bc0
mov rax, qword [rdi + 0x78]
test rax, rax
je 0x140069ede
mov rcx, qword [rdi + 0x70]
call qword [rax + 0x18]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.14021dfcd
test bpl, bpl
je 0x140069f09
mov rcx, r14
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.140069bc0
nop
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea rcx, str.assertion_failed:_self.ref_count_____0
lea r8, [0x140275e50]
mov edx, 0x26
call fcn.14001f9d0
ud2
lea rcx, str.assertion_failed:_snapshot.is_complete__8r_
lea r8, [0x140275cc8]
mov edx, 0x28
call fcn.14001f9d0
ud2
lea rcx, str.assertion_failed:_prev.is_running__
lea r8, [0x140275c70]
mov edx, 0x23
call fcn.14001f9d0
ud2
lea rcx, str.assertion_failed:__prev.is_complete__
lea r8, [0x140275cb0]
mov edx, 0x25
call fcn.14001f9d0
ud2
lea rcx, str.waker_missing
lea r8, str.C:Usersdarkarp.cargo_registry_srcgithub.com_1ecc6299db9ec823_tokio_1.4.0_src_runtime_taskcore.rsunexpected_stage
mov edx, recv
call fcn.140154a10
ud2