Function at 0x1400ba760
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc0
mov ebx, r8d
mov r14, rdx
mov rdi, rcx
mov sil, 1
test r8b, r8b
je 0x1400baa1f
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [rdi + 0x38]
cmp rax, 1
je 0x1400ba7ca
test rax, rax
jne 0x1400ba85a
cmp dword [rdi + 0x58], 3
je 0x1400ba85a
lea rcx, [rdi + 0x40]
call fcn.14008b030
jmp 0x1400ba85a
mov eax, dword [rdi + 0x40]
or eax, 2
cmp eax, 2
je 0x1400ba85a
mov rax, qword [0x1402cee10]
test rax, rax
je 0x1400bab11
lea rcx, [0x140142370]
cmp rax, rcx
jne 0x1400ba818
mov rsi, qword [rdi + 0x48]
test rsi, rsi
je 0x1400ba818
mov rcx, rsi
call sub.KERNEL32.dll_DeleteCriticalSection
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.14021dfcd
mov rcx, qword [rdi + 0x58]
mov rax, qword [rdi + 0x60]
call qword [rax]
mov rax, qword [rdi + 0x60]
cmp qword [rax + 8], 0
je 0x1400ba85a
mov rsi, qword [rdi + 0x58]
cmp qword [rax + 0x10], 0x11
jae 0x1400ba847
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
jmp 0x1400ba855
call sub.KERNEL32.dll_GetProcessHeap
mov r8, qword [rsi - 8]
mov rcx, rax
xor edx, edx
call fcn.14021dfcd
mov qword [rdi + 0x38], 1
lea rsi, [rdi + 0x40]
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x50], xmm1
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x60], rax
movups xmm0, xmmword [rsp + 0x48]
movups xmm1, xmmword [rsp + 0x58]
movups xmm2, xmmword [rsp + 0x68]
movups xmm3, xmmword [rsp + 0x78]
movups xmmword [rdi + 0x68], xmm0
movups xmmword [rdi + 0x78], xmm1
movups xmmword [rdi + 0x88], xmm2
movups xmmword [rdi + 0x98], xmm3
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rdi + 0xa8], xmm0
mov rax, qword [rdi]
nop dword [rax]
mov rcx, rax
xor rcx, 3
lock cmpxchg qword [rdi], rcx
jne 0x1400ba8c0
test al, 1
je 0x1400bab45
test al, 2
jne 0x1400bab5f
test al, 8
jne 0x1400ba90c
mov rax, qword [rdi + 0x38]
cmp rax, 1
je 0x1400ba933
test rax, rax
jne 0x1400ba9c2
cmp dword [rdi + 0x58], 3
je 0x1400ba9c2
mov rcx, rsi
call fcn.14008b030
jmp 0x1400ba9c2
test al, 0x10
je 0x1400baa1d
mov rax, qword [rdi + 0xc0]
test rax, rax
je 0x1400bab79
mov rcx, qword [rdi + 0xb8]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x1400baa1d
mov eax, dword [rsi]
or eax, 2
cmp eax, 2
je 0x1400ba9c2
mov rax, qword [0x1402cee10]
test rax, rax
je 0x1400bab2b
lea rcx, [0x140142370]
cmp rax, rcx
jne 0x1400ba980
mov r15, qword [rdi + 0x48]
test r15, r15
je 0x1400ba980
mov rcx, r15
call sub.KERNEL32.dll_DeleteCriticalSection
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.14021dfcd
mov rcx, qword [rdi + 0x58]
mov rax, qword [rdi + 0x60]
call qword [rax]
mov rax, qword [rdi + 0x60]
cmp qword [rax + 8], 0
je 0x1400ba9c2
mov r15, qword [rdi + 0x58]
cmp qword [rax + 0x10], 0x11
jae 0x1400ba9af
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r15
jmp 0x1400ba9bd
call sub.KERNEL32.dll_GetProcessHeap
mov r8, qword [r15 - 8]
mov rcx, rax
xor edx, edx
call fcn.14021dfcd
mov qword [rdi + 0x38], 2
mov rax, qword [rsp + 0xb8]
mov qword [rsi + 0x70], rax
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [rsi + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [rsi + 0x50], xmm0
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rsi + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x48]
movups xmm1, xmmword [rsp + 0x58]
movups xmm2, xmmword [rsp + 0x68]
movups xmm3, xmmword [rsp + 0x78]
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
xor esi, esi
cmp qword [rdi + 0x30], 0
je 0x1400baa3b
lea rcx, [rdi + 0x30]
mov rdx, rdi
call fcn.14011bf10
test rax, rax
setne r8b
jmp 0x1400baa3e
xor r8d, r8d
xor bl, 1
mov rcx, rdi
mov edx, ebx
call fcn.140157490
cmp rax, 0x3f
ja 0x1400baa59
mov rcx, rdi
call fcn.1400b7a30
test sil, sil
je 0x1400baa69
mov eax, dword [r14]
or eax, 2
cmp eax, 2
jne 0x1400baa78
add rsp, 0xc0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rax, qword [0x1402cee10]
test rax, rax
je 0x1400baafe
lea rcx, [0x140142370]
cmp rax, rcx
jne 0x1400baab3
mov rsi, qword [r14 + 8]
test rsi, rsi
je 0x1400baab3
mov rcx, rsi
call sub.KERNEL32.dll_DeleteCriticalSection
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.14021dfcd
mov rsi, qword [r14 + 0x18]
mov rdi, qword [r14 + 0x20]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1400baa69
cmp qword [rdi + 0x10], 0x11
jae 0x1400baadd
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
jmp 0x1400baaeb
call sub.KERNEL32.dll_GetProcessHeap
mov r8, qword [rsi - 8]
mov rcx, rax
xor edx, edx
add rsp, 0xc0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.14021dfcd
call fcn.140142330
lea rcx, [0x140142370]
cmp rax, rcx
je 0x1400baa90
jmp 0x1400baab3
call fcn.140142330
lea rcx, [0x140142370]
cmp rax, rcx
je 0x1400ba7f5
jmp 0x1400ba818
call fcn.140142330
lea rcx, [0x140142370]
cmp rax, rcx
je 0x1400ba95d
jmp 0x1400ba980
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