Function at 0x14004fda0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
mov r12, qword [rcx + 0xb0]
test r12, r12
je 0x14004fdf8
lock inc qword [r12]
jle 0x140050df3
cmp byte [rsi + 0x68], 0
je 0x14004fe01
mov r14, qword [rsi + 0x20]
mov r13, qword [rsi + 0x28]
mov rbp, qword [rsi + 0x30]
mov al, 1
mov qword [rsp + 0x20], rax
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x14005057d
xor r12d, r12d
cmp byte [rsi + 0x68], 0
jne 0x14004fdd9
cmp byte [rsi + 0x69], 0
je 0x14004fe1d
mov al, 1
mov qword [rsp + 0x28], rax
xor r13d, r13d
mov al, 1
mov qword [rsp + 0x20], rax
jmp 0x14005057d
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rsi + 0x20]
movaps xmmword [rsp + 0x90], xmm0
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0xa0], rax
mov rcx, qword [0x140195bd0]
test rcx, rcx
jne 0x14004fe6e
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140050e05
mov rcx, rax
mov qword [0x140195bd0], rax
mov r8d, 0x40
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140050e05
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0x30], rcx
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov byte [rax + 0x38], 0
mov ecx, dword [rsp + 0x128]
mov edx, dword [rsp + 0x12b]
mov dword [rax + 0x3c], edx
mov dword [rax + 0x39], ecx
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
mov rdx, rbx
call fcn.1400bc3b0
test al, al
je 0x14004fefc
mov r13, qword [rdi + 0xc0]
cmp byte [rdi + 0xd0], 2
jne 0x14004ff60
mov dl, 2
jmp 0x14005003c
mov rbx, qword [rsp + 0xd0]
test rbx, rbx
je 0x14005056c
lea rcx, [rbx + 0x20]
call fcn.140016870
mov rax, qword [rbx + 0x28]
lock dec qword [rax]
jne 0x14004ff29
lea rcx, [rbx + 0x28]
call fcn.1400c4140
mov rax, qword [rbx + 0x30]
lock dec qword [rax]
jne 0x14004ff3c
mov rcx, qword [rbx + 0x30]
call fcn.1400c7610
mov rcx, rbx
call fcn.140051550
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x140195bd0]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14005056c
mov rax, qword [r13 + 0x40]
movabs rcx, 0x7fffffffffffffff
nop
mov rdx, qword [r13 + 0x30]
xor rdx, rcx
cmp rax, rdx
je 0x140050dd9
lea rdx, [rax + 1]
lock cmpxchg qword [r13 + 0x40], rdx
jne 0x14004ff70
lock inc qword [r13]
jle 0x140050df3
mov rcx, qword [0x140195bd0]
test rcx, rcx
jne 0x14004ffbc
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140050e4c
mov rcx, rax
mov qword [0x140195bd0], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140050e4c
mov r15, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], 0
mov byte [rax + 0x18], 0
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x73]
mov dword [r15 + 0x19], eax
mov dword [r15 + 0x1c], ecx
xorps xmm0, xmm0
movups xmmword [r15 + 0x20], xmm0
mov byte [r15 + 0x30], 0
mov eax, dword [rsp + 0x128]
mov ecx, dword [rsp + 0x12b]
mov dword [r15 + 0x34], ecx
mov dword [r15 + 0x31], eax
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x73]
mov dword [rsp + 0x128], eax
mov dword [rsp + 0x12b], ecx
xor edx, edx
mov eax, dword [rsp + 0x128]
mov ecx, dword [rsp + 0x12b]
mov dword [rsp + 0x33], ecx
mov dword [rsp + 0x30], eax
test r12, r12
mov dword [rsp + 0x28], edx
je 0x14005006a
lock inc qword [r12]
mov r9, r12
jg 0x14005006d
jmp 0x140050df3
xor r9d, r9d
mov r8, qword [rsp + 0xd0]
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x33]
mov dword [rsp + 0xf3], ecx
mov dword [rsp + 0xf0], eax
mov r14, qword [rdi + 0x20]
test r14, r14
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x110], r9
je 0x140050143
mov rbx, qword [rdi + 0x28]
mov rbp, qword [rbx + 0x10]
mov rcx, qword [0x140195bd0]
test rcx, rcx
jne 0x1400500d2
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140050e21
mov rcx, rax
mov qword [0x140195bd0], rax
mov r8d, 0x28
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140050e21
dec rbp
and rbp, 0xfffffffffffffff0
lea rcx, [r14 + rbp]
add rcx, 0x10
mov rdx, qword [rsp + 0x110]
mov qword [rax], rdx
mov qword [rax + 8], r13
mov qword [rax + 0x10], r15
mov edx, dword [rsp + 0x28]
mov byte [rax + 0x18], dl
mov edx, dword [rsp + 0xf0]
mov r8d, dword [rsp + 0xf3]
mov dword [rax + 0x19], edx
mov dword [rax + 0x1c], r8d
mov rdx, qword [rsp + 0x20]
mov qword [rax + 0x20], rdx
lea r8, fcn.140044340
mov rdx, rax
call qword [rbx + 0x18]
jmp 0x14005056c
mov ebx, 1
mov ebp, 1
lock xadd qword [0x140195070], rbp
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.26_srccommonexec.rs
call fcn.1400f6a30
mov r14, rdx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rdx
lock xadd qword [rdx], rbx
test rax, rax
je 0x140050299
test rbx, rbx
js 0x140050df3
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x33]
mov dword [rsp + 0x73], ecx
mov dword [rsp + 0x70], eax
mov rcx, qword [0x140195bd0]
test rcx, rcx
jne 0x1400501c1
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140050e53
mov rcx, rax
mov qword [0x140195bd0], rax
mov r8d, 0x80
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140050e53
mov rbx, rax
mov qword [rax], 0xcc
mov qword [rax + 8], 0
lea rax, [0x140154a90]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x28], rbp
mov qword [rbx + 0x30], 0
mov rax, qword [rsp + 0x110]
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], r13
mov qword [rbx + 0x48], r15
mov eax, dword [rsp + 0x28]
mov byte [rbx + 0x50], al
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x73]
mov dword [rbx + 0x51], eax
mov dword [rbx + 0x54], ecx
mov rax, qword [rsp + 0x20]
mov qword [rbx + 0x58], rax
mov qword [rbx + 0x78], 0
xorps xmm0, xmm0
movups xmmword [rbx + 0x60], xmm0
mov rax, qword [r14 + 0x208]
mov qword [rbx + 0x18], rax
mov cl, 1
xor eax, eax
lock cmpxchg byte [r14 + 0x1e8], cl
jne 0x1400503d0
cmp byte [r14 + 0x200], 0
je 0x1400503ea
xor ecx, ecx
mov al, 1
lock cmpxchg byte [r14 + 0x1e8], cl
je 0x140050397
add r14, 0x1e8
jmp 0x140050d97
test rbx, rbx
js 0x140050df3
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x33]
mov dword [rsp + 0x73], ecx
mov dword [rsp + 0x70], eax
mov rcx, qword [0x140195bd0]
test rcx, rcx
jne 0x1400502d7
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140050e53
mov rcx, rax
mov qword [0x140195bd0], rax
mov r8d, 0x80
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140050e53
mov rbx, rax
mov qword [rax], 0xcc
mov qword [rax + 8], 0
lea rax, [0x1401549f0]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x28], rbp
mov qword [rbx + 0x30], 0
mov rax, qword [rsp + 0x110]
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], r13
mov qword [rbx + 0x48], r15
mov eax, dword [rsp + 0x28]
mov byte [rbx + 0x50], al
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x73]
mov dword [rbx + 0x51], eax
mov dword [rbx + 0x54], ecx
mov rax, qword [rsp + 0x20]
mov qword [rbx + 0x58], rax
mov qword [rbx + 0x78], 0
xorps xmm0, xmm0
movups xmmword [rbx + 0x60], xmm0
mov rax, qword [r14 + 0x58]
mov qword [rbx + 0x18], rax
mov cl, 1
xor eax, eax
lock cmpxchg byte [r14 + 0x38], cl
jne 0x14005046c
cmp byte [r14 + 0x50], 0
je 0x140050480
xor ecx, ecx
mov al, 1
lock cmpxchg byte [r14 + 0x38], cl
jne 0x140050d93
mov rax, 0xffffffffffffffc0
lock xadd qword [rbx], rax
cmp rax, 0x3f
jbe 0x140050d57
and rax, 0xffffffffffffffc0
cmp rax, 0x40
jne 0x1400503c1
mov rax, qword [rbx + 0x10]
mov rcx, rbx
call qword [rax + 0x28]
mov rax, qword [rbx + 0x10]
mov rcx, rbx
call qword [rax + 0x48]
jmp 0x14005050e
lea rcx, [r14 + 0x1e8]
call fcn.1401217a0
cmp byte [r14 + 0x200], 0
jne 0x14005027a
mov qword [rsp + 0x50], rbx
mov rax, qword [r14 + 0x1f0]
cmp rax, rbx
je 0x140050e64
mov rcx, qword [rbx + 0x10]
mov rcx, qword [rcx]
mov qword [rbx + rcx + 8], rax
mov rcx, qword [rbx + 0x10]
mov rcx, qword [rcx]
mov qword [rbx + rcx], 0
test rax, rax
je 0x14005042a
mov rcx, qword [rax + 0x10]
mov rcx, qword [rcx]
mov qword [rax + rcx], rbx
mov qword [r14 + 0x1f0], rbx
cmp qword [r14 + 0x1f8], 0
jne 0x140050442
mov qword [r14 + 0x1f8], rbx
xor ecx, ecx
mov al, 1
lock cmpxchg byte [r14 + 0x1e8], cl
jne 0x140050db7
add r14, 0x10
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
call fcn.1400f20c0
jmp 0x14005050e
lea rcx, [r14 + 0x38]
call fcn.1401217a0
cmp byte [r14 + 0x50], 0
jne 0x140050387
mov qword [rsp + 0x50], rbx
mov rax, qword [r14 + 0x40]
cmp rax, rbx
je 0x140050e79
mov rcx, qword [rbx + 0x10]
mov rcx, qword [rcx]
mov qword [rbx + rcx + 8], rax
mov rcx, qword [rbx + 0x10]
mov rcx, qword [rcx]
mov qword [rbx + rcx], 0
test rax, rax
je 0x1400504bd
mov rcx, qword [rax + 0x10]
mov rcx, qword [rcx]
mov qword [rax + rcx], rbx
mov qword [r14 + 0x40], rbx
cmp qword [r14 + 0x48], 0
jne 0x1400504cc
mov qword [r14 + 0x48], rbx
xor ecx, ecx
mov al, 1
lock cmpxchg byte [r14 + 0x38], cl
jne 0x140050dc8
lea rcx, [rsp + 0x130]
mov eax, dword [0x140195c60]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov r8, qword [rax + 0x148]
mov rdx, rbx
test r8, r8
jne 0x140050509
xor r8d, r8d
call fcn.1400f1e60
cmp qword [rsp + 0x128], 0
je 0x140050536
mov rax, qword [rsp + 0x130]
lock dec qword [rax]
jne 0x140050551
mov rcx, qword [rsp + 0x130]
call fcn.1400c5280
jmp 0x140050551
mov rax, qword [rsp + 0x130]
lock dec qword [rax]
jne 0x140050551
mov rcx, qword [rsp + 0x130]
call fcn.1400c51c0
mov ecx, 0x84
mov eax, 0xcc
lock cmpxchg qword [rbx], rcx
je 0x14005056c
mov rax, qword [rbx + 0x10]
mov rcx, rbx
call qword [rax + 0x38]
xor eax, eax
mov qword [rsp + 0x28], rax
xor eax, eax
mov qword [rsp + 0x20], rax
xor r13d, r13d
mov rax, qword [rsi + 0x48]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsi + 0x38]
movaps xmmword [rsp + 0xf0], xmm0
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsi + 0x50]
movaps xmmword [rsp + 0x30], xmm0
mov rbx, qword [rdi + 0x20]
test rbx, rbx
je 0x1400506b9
mov rdi, qword [rdi + 0x28]
mov r15, qword [rdi + 0x10]
mov rcx, qword [0x140195bd0]
test rcx, rcx
jne 0x1400505e1
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140050df7
mov rcx, rax
mov qword [0x140195bd0], rax
mov r8d, 0xa8
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140050df7
dec r15
and r15, 0xfffffffffffffff0
lea rcx, [r15 + rbx]
add rcx, 0x10
movups xmm0, xmmword [rsp + 0x168]
movups xmmword [rax + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x128]
movups xmm1, xmmword [rsp + 0x138]
movups xmm2, xmmword [rsp + 0x148]
movups xmm3, xmmword [rsp + 0x158]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov qword [rax + 0x50], r12
mov qword [rax + 0x58], r14
mov qword [rax + 0x60], r13
mov qword [rax + 0x68], rbp
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rax + 0x70], xmm0
mov rdx, qword [rsp + 0x100]
mov qword [rax + 0x80], rdx
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rax + 0x88], xmm0
mov rdx, qword [rsp + 0x40]
mov qword [rax + 0x98], rdx
mov byte [rax + 0xa0], 0
mov edx, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x73]
mov dword [rax + 0xa1], edx
mov dword [rax + 0xa4], r8d
lea r8, [0x140152c40]
mov rdx, rax
call qword [rdi + 0x18]
mov rbx, qword [rsp + 0x20]
jmp 0x140050c25
mov edi, 1
mov r15d, 1
lock xadd qword [0x140195070], r15
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.26_srccommonexec.rs
call fcn.1400f6a30
mov rbx, rdx
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rdx
lock xadd qword [rdx], rdi
test rax, rax
je 0x1400508f6
test rdi, rdi
js 0x140050df3
movups xmm0, xmmword [rsp + 0x128]
movups xmm1, xmmword [rsp + 0x138]
movups xmm2, xmmword [rsp + 0x148]
movups xmm3, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0xa0], xmm3
movups xmm0, xmmword [rsp + 0x168]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x50], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x60], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xe0], rax
mov rcx, qword [0x140195bd0]
test rcx, rcx
jne 0x1400507a9
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140050dfe
mov rcx, rax
mov qword [0x140195bd0], rax
mov r8d, 0xf8
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140050dfe
mov rdi, rax
mov qword [rax], 0xcc
mov qword [rax + 8], 0
lea rax, [0x140154b80]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], rbx
mov qword [rdi + 0x28], r15
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movaps xmm3, xmmword [rsp + 0xa0]
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x40], xmm1
movups xmmword [rdi + 0x50], xmm2
movups xmmword [rdi + 0x60], xmm3
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rdi + 0x70], xmm0
mov qword [rdi + 0x80], r12
mov qword [rdi + 0x88], r14
mov qword [rdi + 0x90], r13
mov qword [rdi + 0x98], rbp
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0xb0], rax
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rdi + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rdi + 0xb8], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rdi + 0xc8], rax
mov byte [rdi + 0xd0], 0
mov eax, dword [rsp + 0xc9]
mov ecx, dword [rsp + 0xcc]
mov dword [rdi + 0xd4], ecx
mov dword [rdi + 0xd1], eax
mov qword [rdi + 0xf0], 0
xorps xmm0, xmm0
movups xmmword [rdi + 0xd8], xmm0
mov rax, qword [rbx + 0x208]
mov qword [rdi + 0x18], rax
mov cl, 1
xor eax, eax
lock cmpxchg byte [rbx + 0x1e8], cl
jne 0x140050b46
cmp byte [rbx + 0x200], 0
je 0x140050b5f
xor ecx, ecx
mov al, 1
lock cmpxchg byte [rbx + 0x1e8], cl
je 0x140050ada
add rbx, 0x1e8
jmp 0x140050d39
test rdi, rdi
js 0x140050df3
movups xmm0, xmmword [rsp + 0x128]
movups xmm1, xmmword [rsp + 0x138]
movups xmm2, xmmword [rsp + 0x148]
movups xmm3, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0xa0], xmm3
movups xmm0, xmmword [rsp + 0x168]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x50], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x60], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xe0], rax
mov rcx, qword [0x140195bd0]
test rcx, rcx
jne 0x1400509a5
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140050dfe
mov rcx, rax
mov qword [0x140195bd0], rax
mov r8d, 0xf8
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140050dfe
mov rdi, rax
mov qword [rax], 0xcc
mov qword [rax + 8], 0
lea rax, [0x140154e50]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], rbx
mov qword [rdi + 0x28], r15
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movaps xmm3, xmmword [rsp + 0xa0]
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x40], xmm1
movups xmmword [rdi + 0x50], xmm2
movups xmmword [rdi + 0x60], xmm3
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rdi + 0x70], xmm0
mov qword [rdi + 0x80], r12
mov qword [rdi + 0x88], r14
mov qword [rdi + 0x90], r13
mov qword [rdi + 0x98], rbp
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0xb0], rax
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rdi + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rdi + 0xb8], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rdi + 0xc8], rax
mov byte [rdi + 0xd0], 0
mov eax, dword [rsp + 0xc9]
mov ecx, dword [rsp + 0xcc]
mov dword [rdi + 0xd4], ecx
mov dword [rdi + 0xd1], eax
mov qword [rdi + 0xf0], 0
xorps xmm0, xmm0
movups xmmword [rdi + 0xd8], xmm0
mov rax, qword [rbx + 0x58]
mov qword [rdi + 0x18], rax
mov cl, 1
xor eax, eax
lock cmpxchg byte [rbx + 0x38], cl
jne 0x140050c7c
cmp byte [rbx + 0x50], 0
je 0x140050c8f
xor ecx, ecx
mov al, 1
lock cmpxchg byte [rbx + 0x38], cl
jne 0x140050d35
mov rax, 0xffffffffffffffc0
lock xadd qword [rdi], rax
cmp rax, 0x3f
jbe 0x140050d57
and rax, 0xffffffffffffffc0
cmp rax, 0x40
mov rbx, qword [rsp + 0x20]
jne 0x140050b09
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [rax + 0x28]
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [rax + 0x48]
cmp qword [rsp + 0x118], 0
je 0x140050bef
mov rax, qword [rsp + 0x120]
lock dec qword [rax]
jne 0x140050c0a
mov rcx, qword [rsp + 0x120]
call fcn.1400c5280
jmp 0x140050c0a
lea rcx, [rbx + 0x1e8]
call fcn.1401217a0
cmp byte [rbx + 0x200], 0
jne 0x1400508d8
mov qword [rsp + 0x50], rdi
mov rax, qword [rbx + 0x1f0]
cmp rax, rdi
je 0x140050e0c
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx]
mov qword [rdi + rcx + 8], rax
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx]
mov qword [rdi + rcx], 0
test rax, rax
je 0x140050b9f
mov rcx, qword [rax + 0x10]
mov rcx, qword [rcx]
mov qword [rax + rcx], rdi
mov qword [rbx + 0x1f0], rdi
cmp qword [rbx + 0x1f8], 0
jne 0x140050bb7
mov qword [rbx + 0x1f8], rdi
xor ecx, ecx
mov al, 1
lock cmpxchg byte [rbx + 0x1e8], cl
jne 0x140050d71
add rbx, 0x10
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
call fcn.1400f20c0
mov rbx, qword [rsp + 0x20]
cmp qword [rsp + 0x118], 0
jne 0x140050b22
mov rax, qword [rsp + 0x120]
lock dec qword [rax]
jne 0x140050c0a
mov rcx, qword [rsp + 0x120]
call fcn.1400c51c0
mov ecx, 0x84
mov eax, 0xcc
lock cmpxchg qword [rdi], rcx
je 0x140050c25
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [rax + 0x38]
cmp byte [rsp + 0x28], 0
je 0x140050c5b
lea rcx, [rsi + 0x20]
call fcn.140016870
mov rax, qword [rsi + 0x28]
lock dec qword [rax]
jne 0x140050c48
lea rcx, [rsi + 0x28]
call fcn.1400c4140
mov rax, qword [rsi + 0x30]
lock dec qword [rax]
jne 0x140050c5b
mov rcx, qword [rsi + 0x30]
call fcn.1400c7610
test bl, bl
je 0x140050c67
mov rcx, rsi
call fcn.140051550
nop
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rbx + 0x38]
call fcn.1401217a0
cmp byte [rbx + 0x50], 0
jne 0x140050acb
mov qword [rsp + 0x50], rdi
mov rax, qword [rbx + 0x40]
cmp rax, rdi
je 0x140050e28
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx]
mov qword [rdi + rcx + 8], rax
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx]
mov qword [rdi + rcx], 0
test rax, rax
je 0x140050ccc
mov rcx, qword [rax + 0x10]
mov rcx, qword [rcx]
mov qword [rax + rcx], rdi
mov qword [rbx + 0x40], rdi
cmp qword [rbx + 0x48], 0
jne 0x140050cdb
mov qword [rbx + 0x48], rdi
xor ecx, ecx
mov al, 1
lock cmpxchg byte [rbx + 0x38], cl
jne 0x140050d82
lea rcx, [rsp + 0x120]
mov eax, dword [0x140195c60]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov r8, qword [rax + 0x148]
mov rdx, rdi
test r8, r8
jne 0x140050d17
xor r8d, r8d
call fcn.1400f1e60
mov rbx, qword [rsp + 0x20]
cmp qword [rsp + 0x118], 0
jne 0x140050b22
jmp 0x140050bef
add rbx, 0x38
mov rcx, rbx
call fcn.140121ad0
mov rax, 0xffffffffffffffc0
lock xadd qword [rdi], rax
cmp rax, 0x3f
ja 0x140050af0
lea rcx, str.assertion_failed:_prev.ref_count_____1
lea r8, [0x14015e048]
mov edx, 0x27
call fcn.14011e130
ud2
lea rcx, [rbx + 0x1e8]
call fcn.140121ad0
jmp 0x140050bc9
add rbx, 0x38
mov rcx, rbx
call fcn.140121ad0
jmp 0x140050cea
add r14, 0x38
mov rcx, r14
call fcn.140121ad0
mov rax, 0xffffffffffffffc0
lock xadd qword [rbx], rax
cmp rax, 0x3f
ja 0x1400503ad
jmp 0x140050d57
lea rcx, [r14 + 0x1e8]
call fcn.140121ad0
jmp 0x140050455
add r14, 0x38
mov rcx, r14
call fcn.140121ad0
jmp 0x1400504dc
lea rcx, str.cannot_clone__Sender_____too_many_outstanding_senders
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_futures_channel_0.3.28_srcmpscmod.rs
mov edx, 0x35
call fcn.1401230f0
ud2
ud2
mov ecx, 0xa8
jmp 0x140050e58
mov ecx, 0xf8
jmp 0x140050e58
mov ecx, 0x40
jmp 0x140050e58
mov qword [rsp + 0x80], 0
add rbx, 0x1f0
jmp 0x140050e38
mov ecx, 0x28
jmp 0x140050e58
mov qword [rsp + 0x80], 0
add rbx, 0x40
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x70]
mov rcx, rbx
call fcn.140122e00
ud2
mov ecx, 0x38
jmp 0x140050e58
mov ecx, 0x80
mov edx, 8
call fcn.14011dd70
ud2
mov qword [rsp + 0x80], 0
add r14, 0x1f0
jmp 0x140050e89
mov qword [rsp + 0x80], 0
add r14, 0x40
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x70]
mov rcx, r14
call fcn.140122e00
ud2