Function at 0x140104c90
Capabilities:
Check os version

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov rbx, r9
mov rdi, rcx
test rdx, rdx
mov qword [rsp + 0x28], r8
je 0x140104cf0
cmp rdx, 1
jne 0x140104d4c
mov rsi, qword [r8 + 0x80]
mov r15, qword [r8 + 0x88]
test sil, 1
jne 0x140104f97
xor r13d, r13d
xor r14d, r14d
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xe8], rbx
jmp 0x140105639
mov dword [rsp + 0xc8], 0x3b9aca00
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x80], 0
mov rcx, qword [r8 + 0x80]
mov rax, qword [r8 + 0x190]
test rax, rcx
je 0x14010518e
mov rax, qword [rbx]
mov ecx, 2
mov rdx, rax
neg rdx
jo 0x140105f03
movups xmm0, xmmword [rbx + 8]
movups xmm1, xmmword [rbx + 0x18]
jmp 0x140105a4f
mov dword [rsp + 0x130], 0x3b9aca00
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x120], 0
mov cl, 1
xor eax, eax
lock cmpxchg byte [r8], cl
jne 0x140105c27
mov rax, qword [0x14042efd8]
shl rax, 1
test rax, rax
jne 0x140105c47
xor ebp, ebp
movzx eax, byte [r8 + 1]
test al, al
jne 0x140105c64
mov rax, qword [r8 + 0x48]
test rax, rax
je 0x140104f3a
mov ecx, dword [0x14042efe4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp byte [rcx + 0x31], 0
jne 0x140104dec
mov ecx, dword [0x14042efe4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov word [rcx + 0x31], 1
mov rcx, qword [r8 + 0x40]
shl rax, 3
lea rdx, [rax + rax*2]
xor r14d, r14d
jmp 0x140104e11
add rcx, 0x18
inc r14
add rdx, 0xffffffffffffffe8
je 0x140104f3a
mov r10, qword [rcx]
mov eax, dword [0x14042efe4]
mov r9, qword gs:[0x58]
mov rax, qword [r9 + rax*8]
lea rax, [rax + 0x32]
cmp qword [r10 + 0x28], rax
je 0x140104e00
mov r9, qword [rcx + 8]
xor eax, eax
lock cmpxchg qword [r10 + 0x18], r9
jne 0x140104e00
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140104e4f
mov qword [r10 + 0x20], rax
mov rcx, qword [r10 + 0x10]
mov al, 1
xchg byte [rcx + 0x30], al
cmp al, 0xff
jne 0x140104e6b
add rcx, 0x30
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov r8, qword [rsp + 0x28]
mov r15, qword [r8 + 0x48]
cmp r15, r14
jbe 0x140106055
mov rax, qword [r8 + 0x40]
lea rdx, [r14 + r14*2]
lea rcx, [rax + rdx*8]
mov rsi, qword [rax + rdx*8]
movups xmm0, xmmword [rax + rdx*8 + 8]
movaps xmmword [rsp + 0xc0], xmm0
lea rdx, [rax + rdx*8]
add rdx, 0x18
not r14
add r14, r15
shl r14, 3
lea r8, [r14 + r14*2]
call fcn.1403125c0
mov r8, qword [rsp + 0x28]
dec r15
mov qword [r8 + 0x48], r15
test rsi, rsi
je 0x140104f3a
mov qword [rsp + 0x60], rsi
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x68], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x120], rax
test bpl, bpl
jne 0x140104ef8
mov rax, qword [0x14042efd8]
shl rax, 1
test rax, rax
jne 0x140105fbd
xor eax, eax
xchg byte [r8], al
cmp al, 2
jne 0x140104f0a
mov rcx, r8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov rax, qword [rsp + 0x120]
test rax, rax
je 0x140105c97
mov rcx, qword [rbx + 0x20]
mov qword [rax + 0x20], rcx
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov byte [rax + 0x28], 1
jmp 0x140105ca2
cmp byte [r8 + 0x68], 0
je 0x140104fb1
mov qword [rsp + 0x30], 1
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm1
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x58], rax
test bpl, bpl
jne 0x140104f7c
mov rax, qword [0x14042efd8]
shl rax, 1
test rax, rax
jne 0x140105f2e
xor eax, eax
xchg byte [r8], al
cmp al, 2
jne 0x140105157
mov rcx, r8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
jmp 0x140105157
mov rax, qword [rbx]
movups xmm0, xmmword [rbx + 0x18]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rbx + 8]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x140105a14
mov r13, rdi
mov r12, qword [rbx]
mov r15, qword [rbx + 8]
mov r14, qword [rbx + 0x10]
mov rdi, qword [rbx + 0x18]
mov rsi, qword [rbx + 0x20]
mov eax, dword [0x14042efe4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x38]
cmp rax, 1
jne 0x140105cc9
mov eax, dword [0x14042efe4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0x40]
mov qword [rax + 0x40], 0
test rbx, rbx
je 0x140105dfa
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], 0
mov rax, r12
neg rax
jo 0x140106049
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], r8
mov byte [rsp + 0x90], bpl
mov eax, dword [rsp + 0xb9]
mov ecx, dword [rsp + 0xbc]
mov dword [rsp + 0x91], eax
mov dword [rsp + 0x94], ecx
lea rax, [rsp + 0x100]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x128]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], r8
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov r8, rbx
call fcn.140128890
mov eax, dword [0x14042efe4]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x60], rax
mov qword [rcx + 0x40], rbx
test rax, rax
je 0x1401050f2
lock dec qword [rax]
jne 0x1401050f2
lea rcx, [rsp + 0x60]
call case.0x140048247.1245
mov rdi, r13
mov rax, qword [rsp + 0x30]
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0xd0], xmm0
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0xe0], rcx
cmp rax, 3
je 0x140105ea7
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x58], rcx
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x48], xmm1
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
cmp rcx, 2
je 0x140105f0d
test cl, 1
je 0x140106022
mov rax, qword [rsp + 0x58]
mov qword [rdi + 0x20], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
jmp 0x140105f1a
lea r13, [rsp + 0x60]
lea rbp, [rsp + 0xc0]
lea r14, [rsp + 0x30]
mov r15, qword [sym.imp.kernel32.dll_SwitchToThread]
xor r12d, r12d
jmp 0x1401051da
call r15
mov r8, qword [rsp + 0x28]
nop word cs:[rax + rax]
inc r12d
mov rcx, qword [r8 + 0x80]
mov rax, qword [r8 + 0x190]
test rax, rcx
jne 0x140104d2b
dec rax
and rax, rcx
xor r9d, r9d
sub r9, qword [r8 + 0x188]
mov rdx, qword [r8 + 0x198]
lea r11, [rax + rax*2]
shl r11, 4
mov r10, qword [rdx + r11]
cmp rcx, r10
jne 0x140105230
inc rax
cmp rax, qword [r8 + 0x180]
jae 0x1401052f0
lea r9, [rcx + 1]
mov rax, rcx
lock cmpxchg qword [r8 + 0x80], r9
jne 0x14010530c
jmp 0x140105bda
add r10, qword [r8 + 0x188]
lea rax, [rcx + 1]
cmp r10, rax
jne 0x1401053d0
mfence
mov rax, qword [r8]
add rax, qword [r8 + 0x188]
cmp rax, rcx
je 0x14010546b
cmp r12d, 6
mov eax, 6
cmovb eax, r12d
test r12d, r12d
je 0x1401053a0
imul eax, eax
cmp eax, 8
jb 0x1401052ca
lea ecx, [rax - 8]
cmp ecx, 8
jb 0x1401052b5
mov edx, ecx
shr edx, 3
inc edx
and edx, 0xfffffffe
nop word [rax + rax]
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
add edx, 0xfffffffe
jne 0x140105290
test cl, 8
jne 0x1401052ca
pause
pause
pause
pause
pause
pause
pause
pause
and eax, 5
je 0x1401051c0
nop word cs:[rax + rax]
pause
dec eax
jne 0x1401052e0
jmp 0x1401051c0
and r9, rcx
add r9, qword [r8 + 0x188]
mov rax, rcx
lock cmpxchg qword [r8 + 0x80], r9
je 0x140105bda
cmp r12d, 6
mov eax, 6
cmovb eax, r12d
test r12d, r12d
je 0x1401053a0
imul eax, eax
cmp eax, 8
jb 0x14010537a
lea ecx, [rax - 8]
cmp ecx, 8
jb 0x140105365
mov edx, ecx
shr edx, 3
inc edx
and edx, 0xfffffffe
nop dword [rax]
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
add edx, 0xfffffffe
jne 0x140105340
test cl, 8
jne 0x14010537a
pause
pause
pause
pause
pause
pause
pause
pause
and eax, 5
je 0x1401051c0
nop word cs:[rax + rax]
pause
dec eax
jne 0x140105390
jmp 0x1401051c0
mov r12d, 1
mov rcx, qword [r8 + 0x80]
mov rax, qword [r8 + 0x190]
test rax, rcx
je 0x1401051da
jmp 0x140104d2b
cmp r12d, 7
jae 0x1401051ac
test r12d, r12d
je 0x1401051c0
mov eax, r12d
imul eax, eax
lea ecx, [rax - 1]
cmp ecx, 7
jb 0x14010544a
lea ecx, [rax - 8]
cmp ecx, 8
jb 0x140105435
mov edx, ecx
shr edx, 3
inc edx
and edx, 0xfffffffe
nop word cs:[rax + rax]
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
add edx, 0xfffffffe
jne 0x140105410
test cl, 8
jne 0x14010544a
pause
pause
pause
pause
pause
pause
pause
pause
and eax, 5
je 0x1401051c0
nop word cs:[rax + rax]
pause
dec eax
jne 0x140105460
jmp 0x1401051c0
mov esi, dword [rsp + 0xc8]
cmp esi, 0x3b9aca00
je 0x1401054be
mov r12, rbx
mov rbx, rdi
mov rdi, qword [rsp + 0xc0]
call fcn.14027ceb0
mov r8, qword [rsp + 0x28]
xor ecx, ecx
cmp rax, rdi
mov rdi, rbx
mov rbx, r12
setne cl
mov eax, 0xff
cmovb ecx, eax
cmp edx, esi
mov eax, 0
sbb eax, eax
test cl, cl
cmovne eax, ecx
cmp al, 2
jb 0x140105ff7
mov eax, dword [0x14042efe4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x38]
cmp rax, 1
jne 0x140105596
mov eax, dword [0x14042efe4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r12, qword [rax + 0x40]
mov qword [rax + 0x40], 0
test r12, r12
je 0x1401055aa
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x20], 0
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], rbp
mov rcx, r14
mov rdx, r12
call fcn.1400c6be0
mov eax, dword [0x14042efe4]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rcx + 0x40], r12
test rax, rax
je 0x140105575
lock dec qword [rax]
jne 0x140105575
mov rcx, r14
call case.0x140048247.1245
mov r8, qword [rsp + 0x28]
mov rcx, qword [r8 + 0x80]
mov rax, qword [r8 + 0x190]
test rax, rcx
je 0x1401051a7
jmp 0x140104d2b
test rax, rax
jne 0x1401055d4
call fcn.140315720
mov r8, qword [rsp + 0x28]
jmp 0x1401054e2
mov rsi, r8
call fcn.1403192b0
mov r12, rax
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbp
mov rcx, r14
mov rdx, rax
jmp 0x1401055fe
call fcn.1403192b0
mov r12, rax
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbp
mov rcx, r14
mov rdx, r12
call fcn.1400c6be0
lock dec qword [r12]
lea rcx, [rsp + 0x100]
jne 0x140105575
jmp 0x140105570
mov r13d, 1
mov rsi, qword [r8 + 0x80]
mov r15, qword [r8 + 0x88]
test sil, 1
jne 0x140105da5
mov r12d, esi
shr r12d, 1
and r12d, 0x1f
cmp r12d, 0x1f
jne 0x140105765
mov qword [rsp + 0xf8], r14
mov ebp, r13d
imul ebp, ebp
lea edx, [r13*2 + 1]
lea r14d, [rbp - 8]
xor edi, edi
mov ebx, edx
nop dword [rax + rax]
cmp r13d, 7
jae 0x140105700
test r13d, r13d
je 0x140105711
lea eax, [rbp - 1]
cmp eax, 7
jb 0x1401056d9
lea eax, [rbp - 8]
cmp eax, 8
jb 0x1401056c5
mov ecx, r14d
shr ecx, 3
inc ecx
and ecx, 0xfffffffe
nop
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
add ecx, 0xfffffffe
jne 0x1401056a0
test al, 8
jne 0x1401056d9
pause
pause
pause
pause
pause
pause
pause
pause
test bpl, 7
je 0x140105711
mov eax, ebp
and eax, 7
nop word cs:[rax + rax]
pause
dec eax
jne 0x1401056f0
jmp 0x140105711
mov rsi, rdx
call qword [sym.imp.kernel32.dll_SwitchToThread]
mov rdx, rsi
mov r8, qword [rsp + 0x28]
mov rsi, qword [r8 + 0x80]
mov r15, qword [r8 + 0x88]
test sil, 1
jne 0x1401058d2
lea eax, [rdx + rdi*2]
inc r13d
mov r12d, esi
shr r12d, 1
and r12d, 0x1f
inc edi
add ebp, eax
add r14d, ebx
add ebx, 2
cmp r12d, 0x1f
je 0x140105670
mov rdi, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xe8]
mov r14, qword [rsp + 0xf8]
mov rax, r12
xor rax, 0x1e
or rax, r14
jne 0x1401057a5
movzx eax, byte [0x14042efe0]
mov edx, 0x5d8
xor ecx, ecx
call fcn.14027d060
test rax, rax
je 0x14010603a
mov r14, rax
mov r8d, 0x5d8
mov rcx, rax
xor edx, edx
call fcn.140312c60
mov r8, qword [rsp + 0x28]
test r15, r15
je 0x14010584e
lea rcx, [rsi + 2]
mov rax, rsi
lock cmpxchg qword [r8 + 0x80], rcx
je 0x140105db0
cmp r13d, 6
mov eax, 6
cmovb eax, r13d
test r13d, r13d
je 0x14010561b
imul eax, eax
cmp eax, 8
jb 0x14010583a
lea ecx, [rax - 8]
cmp ecx, 8
jb 0x140105825
mov edx, ecx
shr edx, 3
inc edx
and edx, 0xfffffffe
nop word cs:[rax + rax]
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
pause
add edx, 0xfffffffe
jne 0x140105800
test cl, 8
jne 0x14010583a
pause
pause
pause
pause
pause
pause
pause
pause
and eax, 5
je 0x140105846
nop
pause
dec eax
jne 0x140105840
inc r13d
jmp 0x140105621
movzx eax, byte [0x14042efe0]
mov edx, 0x5d8
xor ecx, ecx
call fcn.14027d060
test rax, rax
je 0x14010603a
mov r15, rax
mov r8d, 0x5d8
mov rcx, rax
xor edx, edx
call fcn.140312c60
xor eax, eax
mov r8, qword [rsp + 0x28]
lock cmpxchg qword [r8 + 0x88], r15
jne 0x1401058ae
mov qword [r8 + 8], r15
lea rcx, [rsi + 2]
mov rax, rsi
lock cmpxchg qword [r8 + 0x80], rcx
jne 0x1401057c4
jmp 0x140105db0
test r14, r14
je 0x1401058ca
mov rcx, qword [0x14042ef38]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov r8, qword [rsp + 0x28]
mov r14, r15
jmp 0x140105621
xor r15d, r15d
xor r12d, r12d
mov rdi, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xe8]
mov r14, qword [rsp + 0xf8]
test r14, r14
je 0x14010590c
mov rcx, qword [0x14042ef38]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov r8, qword [rsp + 0x28]
mov rax, qword [rbx]
movups xmm0, xmmword [rbx + 0x18]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rbx + 8]
movaps xmmword [rsp + 0x60], xmm0
test r15, r15
je 0x140105a14
lea rcx, [r12 + r12*2]
shl ecx, 4
mov qword [r15 + rcx], rax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [r15 + rcx + 8], xmm0
movups xmmword [r15 + rcx + 0x18], xmm1
lock or qword [r15 + rcx + 0x28], 1
movzx eax, byte [r8 + 0x138]
test al, al
jne 0x140105efe
lea rbx, [r8 + 0x100]
mov cl, 1
xor eax, eax
lock cmpxchg byte [r8 + 0x100], cl
jne 0x140105f4a
mov rax, qword [0x14042efd8]
shl rax, 1
test rax, rax
jne 0x140105f6a
xor ebp, ebp
movzx eax, byte [r8 + 0x101]
test al, al
jne 0x140105f8a
movzx eax, byte [r8 + 0x138]
test al, al
jne 0x140105ed5
mov rax, qword [r8 + 0x118]
test rax, rax
je 0x140105b13
mov ecx, dword [0x14042efe4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp byte [rcx + 0x31], 0
jne 0x1401059f9
mov ecx, dword [0x14042efe4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov word [rcx + 0x31], 1
lea r14, [r8 + 0x108]
mov rcx, qword [r8 + 0x110]
shl rax, 3
lea rdx, [rax + rax*2]
xor r15d, r15d
jmp 0x140105a83
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov ecx, 2
mov rdx, rax
neg rdx
jo 0x140105f03
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x50], xmm1
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x38], rax
mov ecx, 1
cmp rcx, 2
je 0x140105f0d
jmp 0x140105166
add rcx, 0x18
inc r15
add rdx, 0xffffffffffffffe8
je 0x140105b13
mov r10, qword [rcx]
mov eax, dword [0x14042efe4]
mov r9, qword gs:[0x58]
mov rax, qword [r9 + rax*8]
lea rax, [rax + 0x32]
cmp qword [r10 + 0x28], rax
je 0x140105a72
mov r9, qword [rcx + 8]
xor eax, eax
lock cmpxchg qword [r10 + 0x18], r9
jne 0x140105a72
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140105ac1
mov qword [r10 + 0x20], rax
mov rcx, qword [r10 + 0x10]
mov al, 1
xchg byte [rcx + 0x30], al
cmp al, 0xff
jne 0x140105ad8
add rcx, 0x30
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
lea r9, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_std_src_syncmpmcwaker.rs
lea rcx, [rsp + 0x30]
mov rdx, r14
mov r8, r15
call fcn.1401627f0
mov rax, qword [rsp + 0x30]
test rax, rax
mov r8, qword [rsp + 0x28]
je 0x140105b13
lock dec qword [rax]
jne 0x140105b13
lea rcx, [rsp + 0x30]
call case.0x140048247.1245
mov r8, qword [rsp + 0x28]
mov r13, rdi
mov rsi, qword [r8 + 0x128]
mov rax, qword [r8 + 0x130]
mov qword [r8 + 0x130], 0
test rax, rax
je 0x140105d90
shl rax, 3
lea rdi, [rax + rax*2]
xor r15d, r15d
mov r12, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
lea r14, [rsp + 0x30]
jmp 0x140105b6d
add r15, 0x18
cmp rdi, r15
je 0x140105d90
movups xmm0, xmmword [rsi + r15]
movaps xmmword [rsp + 0x30], xmm0
mov rax, qword [rsi + r15 + 0x10]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
xor eax, eax
lock cmpxchg qword [rcx + 0x18], rdx
jne 0x140105bc0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x10]
mov al, 1
xchg byte [rcx + 0x30], al
cmp al, 0xff
jne 0x140105bc0
add rcx, 0x30
call r12
mov r8, qword [rsp + 0x28]
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x30]
lock dec qword [rax]
jne 0x140105b60
mov rcx, r14
call case.0x140048247.1245
mov r8, qword [rsp + 0x28]
jmp 0x140105b60
add rdx, r11
mov qword [rsp + 0x60], rdx
inc rcx
mov qword [rsp + 0x68], rcx
mov rax, qword [rbx]
mov qword [rdx + 8], rax
movups xmm0, xmmword [rbx + 8]
movups xmm1, xmmword [rbx + 0x18]
movups xmmword [rdx + 0x10], xmm0
movups xmmword [rdx + 0x20], xmm1
mov qword [rdx], rcx
add r8, 0x140
mov rcx, r8
call fcn.1400c6390
mov ecx, 2
cmp rcx, 2
je 0x140105f0d
jmp 0x140105166
mov rcx, r8
call fcn.140318ea0
mov r8, qword [rsp + 0x28]
mov rax, qword [0x14042efd8]
shl rax, 1
test rax, rax
je 0x140104d98
call fcn.140318f60
mov r8, qword [rsp + 0x28]
mov ebp, eax
xor bpl, 1
movzx eax, byte [r8 + 1]
test al, al
je 0x140104da7
mov qword [rsp + 0x60], r8
mov byte [rsp + 0x68], bpl
lea rax, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_std_src_syncmpmczero.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.30.5_srcplatform_implwindowswindow.rs
lea r9, [0x14036fda0]
lea r8, [rsp + 0x60]
mov edx, 0x2b
call fcn.140313980
xor eax, eax
cmp rax, qword [rbx]
jno 0x140106067
mov qword [rsp + 0x30], 2
mov rax, qword [rsp + 0x60]
lock dec qword [rax]
jne 0x140105157
lea rcx, [rsp + 0x60]
call case.0x140048247.1245
jmp 0x140105157
cmp eax, 2
jne 0x140105e98
call fcn.1403192b0
mov rbx, rax
mov qword [rsp + 0xb0], rax
mov rax, r12
neg rax
jo 0x140106049
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], rsi
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x88], rdx
mov byte [rsp + 0x90], bpl
mov eax, dword [rsp + 0xb9]
mov ecx, dword [rsp + 0xbc]
mov dword [rsp + 0x91], eax
mov dword [rsp + 0x94], ecx
lea rax, [rsp + 0x100]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x128]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdx
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov r8, rbx
call fcn.140128890
lock dec qword [rbx]
jne 0x140105d88
lea rcx, [rsp + 0xb0]
call case.0x140048247.1245
mov rdi, r13
jmp 0x140105157
cmp qword [r8 + 0x118], 0
je 0x140105ec0
xor eax, eax
jmp 0x140105ecb
xor r15d, r15d
xor r12d, r12d
jmp 0x1401058f0
cmp r12d, 0x1e
jne 0x1401058f0
test r14, r14
je 0x14010607b
mov qword [r8 + 0x88], r14
lock add qword [r8 + 0x80], 2
mov qword [r15 + 0x5d0], r14
mov rax, qword [rbx]
movups xmm0, xmmword [rbx + 0x18]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rbx + 8]
movaps xmmword [rsp + 0x60], xmm0
mov r12d, 0x1e
jmp 0x14010592a
call fcn.1403192b0
mov rbx, rax
mov qword [rsp + 0xb0], rax
mov rax, r12
neg rax
jo 0x140106049
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], rsi
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x88], rcx
mov byte [rsp + 0x90], bpl
lea rax, [rsp + 0x100]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x128]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rcx
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov r8, rbx
call fcn.140128890
lock dec qword [rbx]
jne 0x1401050f2
lea rcx, [rsp + 0xb0]
jmp 0x1401050ed
call fcn.140315720
mov r8, qword [rsp + 0x28]
jmp 0x140104feb
call fcn.1403192b0
mov qword [rsp + 0xb0], rax
lea rcx, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_std_src_syncmpmccontext.rs
call fcn.140313a80
cmp qword [r8 + 0x130], 0
sete al
mov rdi, r13
xchg byte [r8 + 0x138], al
test bpl, bpl
jne 0x140105eed
mov rax, qword [0x14042efd8]
shl rax, 1
test rax, rax
jne 0x140105fd9
xor eax, eax
xchg byte [rbx], al
cmp al, 2
jne 0x140105efe
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov ecx, 2
cmp rcx, 2
jne 0x140105166
movabs rax, 0x8000000000000000
mov qword [rdi], rax
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140318f60
mov r8, qword [rsp + 0x28]
test al, al
jne 0x140104f7c
mov byte [r8 + 1], 1
jmp 0x140104f7c
mov rcx, rbx
call fcn.140318ea0
mov r8, qword [rsp + 0x28]
mov rax, qword [0x14042efd8]
shl rax, 1
test rax, rax
je 0x14010598f
call fcn.140318f60
mov r8, qword [rsp + 0x28]
mov ebp, eax
xor bpl, 1
movzx eax, byte [r8 + 0x101]
test al, al
je 0x1401059a1
mov qword [rsp + 0x30], rbx
mov byte [rsp + 0x38], bpl
lea rax, str.hq7_
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.30.5_srcplatform_implwindowswindow.rs
lea r9, [0x1403706f0]
lea r8, [rsp + 0x30]
mov edx, 0x2b
call fcn.140313980
call fcn.140318f60
mov r8, qword [rsp + 0x28]
test al, al
jne 0x140104ef8
mov byte [r8 + 1], 1
jmp 0x140104ef8
call fcn.140318f60
mov rcx, qword [rsp + 0x28]
test al, al
jne 0x140105eed
mov byte [rcx + 0x101], 1
jmp 0x140105eed
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x58], rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x48], xmm1
movups xmmword [rsp + 0x38], xmm0
xor ecx, ecx
cmp rcx, 2
je 0x140105f0d
jmp 0x140105166
lea rcx, str.internal_error:_entered_unreachable_codemin___max__or_either_was_NaN._min____max_
lea r8, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_std_src_syncmpmcmod.rs_
mov edx, 0x28
call fcn.140313700
mov ecx, 8
mov edx, 0x5d8
call fcn.140313160
lea rcx, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_std_src_syncmpmccontext.rs
call fcn.140313a80
lea r8, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_std_src_syncmpmcwaker.rs
mov rcx, r14
mov rdx, r15
call fcn.140313280
mov rcx, rbx
call fcn.140128810
lea rcx, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_std_src_syncmpmczero.rs
call fcn.140313a80
lea rcx, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_std_src_syncmpmclist.rs
call fcn.140313a80
int3