Function at 0x140058690
Capabilities:
Check os version

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x618
movaps xmmword [rsp + 0x600], xmm6
mov rsi, rcx
movzx eax, byte [0x14016b2a0]
mov rcx, qword [0x14016b208]
test rcx, rcx
jne 0x1400586da
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14005aea7
mov rcx, rax
mov qword [0x14016b208], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14005aea7
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
call fcn.1400e9710
mov rcx, rax
shr rcx, 0x20
cmp eax, 2
mov edx, 1
cmovae edx, eax
mov qword [rsp + 0x108], 0x400
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x110], 0x200
mov qword [rsp + 0xf8], rdi
lea rax, [0x140139ae0]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x148], 0
mov dword [rsp + 0xf0], 0x3b9aca00
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0x178], 0x3d
mov qword [rsp + 0x158], 0x100
mov word [rsp + 0x180], 0
mov qword [rsp + 0x160], 0
mov byte [rsp + 0x168], 0
mov dword [rsp + 0x16c], ecx
mov dword [rsp + 0x170], edx
mov dword [rsp + 0x17c], 0x10100
mov dword [rsp + 0x88], 0x10101
mov qword [rsp + 0x80], 0x400
lea rcx, [rsp + 0x428]
lea rdx, [rsp + 0x80]
call fcn.1400e6f30
mov r14, qword [rsp + 0x428]
cmp r14, 2
jne 0x14005883b
mov rcx, qword [rsp + 0x430]
jmp 0x140058f06
mov rbp, qword [rsp + 0x430]
lea rdx, [rsp + 0x438]
lea rcx, [rsp + 0x330]
mov r8d, pe_nt_image_headers64
call sub.VCRUNTIME140.dll_memcpy
movdqu xmm0, xmmword [rsp + 0x330]
movups xmm1, xmmword [rsp + 0x340]
movups xmm2, xmmword [rsp + 0x350]
movdqa xmmword [rsp + 0x1c0], xmm0
movaps xmmword [rsp + 0x1d0], xmm1
movaps xmmword [rsp + 0x1e0], xmm2
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0x270]
mov r8d, 0xc0
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsp + 0xc0]
mov edx, 0x200
call fcn.1400e87f0
lock inc qword [rax]
jle 0x14005aeb6
mov r15, rax
mov r13, rdx
lea rbx, [rsp + 0x160]
mov rcx, rbx
call fcn.1400e1150
mov edi, eax
mov dword [rsp + 0x1b8], edx
mov rcx, rbx
call fcn.1400e1150
mov ebx, eax
mov r12, qword [rsp + 0x138]
test r12, r12
mov dword [rsp + 0x48], edi
je 0x140058949
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x58], rax
lock inc qword [r12]
jle 0x14005aeb6
mov rdi, qword [rsp + 0x148]
test rdi, rdi
mov qword [rsp + 0x190], rbp
je 0x14005895e
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xa8], rax
lock inc qword [rdi]
jg 0x14005895e
jmp 0x14005aeb6
mov rdi, qword [rsp + 0x148]
test rdi, rdi
mov qword [rsp + 0x190], rbp
jne 0x14005892e
mov dword [rsp + 0x1b0], edx
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0xb8], eax
mov ebp, dword [rsp + 0xe4]
mov eax, dword [rsp + 0x178]
mov dword [rsp + 0x1a8], eax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x198], rax
movzx eax, byte [rsp + 0x180]
mov byte [rsp + 0x40], al
movzx eax, byte [rsp + 0x181]
mov byte [rsp + 0x1a0], al
movzx eax, byte [0x14016b2a0]
mov rcx, qword [0x14016b208]
test rcx, rcx
jne 0x1400589df
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14005aeb8
mov rcx, rax
mov qword [0x14016b208], rax
mov r8d, 0x80
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14005aeb8
mov qword [rsp + 0x428], 4
mov qword [rsp + 0x430], rax
mov qword [rsp + 0x438], 0
mov qword [rax], 0
mov byte [rax + 8], 0
xorps xmm6, xmm6
movups xmmword [rax + 0x10], xmm6
mov rdx, qword [rsp + 0x438]
inc rdx
mov qword [rsp + 0x438], rdx
cmp rdx, qword [rsp + 0x428]
jne 0x140058a61
lea rcx, [rsp + 0x428]
call fcn.1400e0490
mov rax, qword [rsp + 0x430]
mov rdx, qword [rsp + 0x438]
shl rdx, 5
mov qword [rax + rdx], 0
mov byte [rax + rdx + 8], 0
movups xmmword [rax + rdx + 0x10], xmm6
mov rdx, qword [rsp + 0x438]
inc rdx
mov qword [rsp + 0x438], rdx
cmp rdx, qword [rsp + 0x428]
jne 0x140058ab1
lea rcx, [rsp + 0x428]
call fcn.1400e0490
mov rax, qword [rsp + 0x430]
mov rdx, qword [rsp + 0x438]
shl rdx, 5
mov qword [rax + rdx], 0
mov byte [rax + rdx + 8], 0
xorps xmm6, xmm6
movups xmmword [rax + rdx + 0x10], xmm6
mov rdx, qword [rsp + 0x438]
inc rdx
mov qword [rsp + 0x438], rdx
cmp rdx, qword [rsp + 0x428]
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], ebx
jne 0x140058b0d
lea rcx, [rsp + 0x428]
call fcn.1400e0490
mov rax, qword [rsp + 0x430]
mov rdx, qword [rsp + 0x438]
shl rdx, 5
mov qword [rax + rdx], 0
mov byte [rax + rdx + 8], 0
movups xmmword [rax + rdx + 0x10], xmm6
mov r15, qword [rsp + 0x438]
inc r15
mov qword [rsp + 0x438], r15
mov rbx, qword [rsp + 0x430]
cmp qword [rsp + 0x428], r15
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0x50], r13
jbe 0x140058bb0
test r15, r15
je 0x140058b8b
mov r13, r15
shl r13, 5
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rbx
mov r9, r13
call qword [sym.imp.kernel32.dll_HeapReAlloc]
mov rbx, rax
test rax, rax
jne 0x140058bb0
mov ecx, 8
mov rdx, r13
call fcn.1400f9ca0
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov ebx, 8
nop word cs:[rax + rax]
mov r14d, 1
lock xadd qword [0x14016b068], r14
test r14, r14
je 0x140058bb0
movzx eax, byte [rsp + 0x202]
mov byte [rsp + 0x82], al
movzx eax, word [rsp + 0x200]
mov word [rsp + 0x80], ax
mov eax, dword [rsp + 0x428]
mov ecx, dword [rsp + 0x42b]
mov dword [rsp + 0x330], eax
mov dword [rsp + 0x333], ecx
movzx eax, byte [0x14016b2a0]
mov rcx, qword [0x14016b208]
test rcx, rcx
jne 0x140058c2b
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14005aec7
mov rcx, rax
mov qword [0x14016b208], rax
mov r8d, 0x1a8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14005aec7
mov r13, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov eax, dword [rsp + 0xb8]
mov dword [r13 + 0x10], eax
mov dword [r13 + 0x14], ebp
mov rax, qword [rsp + 0x198]
mov qword [r13 + 0x18], rax
mov qword [r13 + 0x20], r12
mov rax, qword [rsp + 0x58]
mov qword [r13 + 0x28], rax
mov qword [r13 + 0x30], rdi
mov rax, qword [rsp + 0xa8]
mov qword [r13 + 0x38], rax
mov qword [r13 + 0x40], 0
mov byte [r13 + 0x48], 0
movzx eax, word [rsp + 0x80]
mov word [r13 + 0x49], ax
movzx eax, byte [rsp + 0x82]
mov byte [r13 + 0x4b], al
mov eax, dword [rsp + 0x48]
mov dword [r13 + 0x4c], eax
mov eax, dword [rsp + 0x1b8]
mov dword [r13 + 0x50], eax
mov eax, dword [rsp + 0x1a8]
mov dword [r13 + 0x58], eax
movzx eax, byte [rsp + 0x40]
mov byte [r13 + 0x5c], al
movzx eax, byte [rsp + 0x1a0]
mov byte [r13 + 0x5d], al
mov qword [r13 + 0x60], rbx
mov qword [r13 + 0x68], r15
mov qword [r13 + 0x70], 0
mov qword [r13 + 0x78], 3
mov qword [r13 + 0x80], r14
mov byte [r13 + 0x88], 0
mov eax, dword [rsp + 0x330]
mov ecx, dword [rsp + 0x333]
mov dword [r13 + 0x8c], ecx
mov dword [r13 + 0x89], eax
pxor xmm0, xmm0
movdqu xmmword [r13 + 0x90], xmm0
mov byte [r13 + 0xa0], 0
movdqu xmmword [r13 + 0xa8], xmm0
mov byte [r13 + 0xb8], 0
mov byte [r13 + 0xc0], 0
mov rcx, r13
add rcx, 0xc8
lea rdx, [rsp + 0x270]
mov r8d, 0xc0
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [rsp + 0x38]
mov qword [r13 + 0x188], rdi
mov qword [r13 + 0x190], 0
mov byte [r13 + 0x198], 0
movzx eax, word [rsp + 0xa5]
mov word [r13 + 0x199], ax
movzx eax, byte [rsp + 0xa7]
mov byte [r13 + 0x19b], al
mov eax, dword [rsp + 0x30]
mov dword [r13 + 0x19c], eax
mov eax, dword [rsp + 0x1b0]
mov dword [r13 + 0x1a0], eax
movzx eax, byte [0x14016b2a0]
mov rcx, qword [0x14016b208]
test rcx, rcx
jne 0x140058df5
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14005aed6
mov rcx, rax
mov qword [0x14016b208], rax
mov r8d, 0x200
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14005aed6
mov rbx, rax
movzx eax, byte [0x14016b2a0]
mov rcx, qword [0x14016b208]
test rcx, rcx
jne 0x140058e3a
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14005aee5
mov rcx, rax
mov qword [0x14016b208], rax
mov r8d, 0x70
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14005aee5
mov rcx, rax
cmp dword [rsp + 0xb8], 0
mov eax, 0x1f
cmove ebp, eax
mov rdx, qword [rsp + 0xb0]
mov qword [rcx], rdx
mov rax, qword [rsp + 0x190]
mov qword [rcx + 8], rax
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
movaps xmm2, xmmword [rsp + 0x1e0]
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm1
movups xmmword [rcx + 0x30], xmm2
mov qword [rcx + 0x40], 0x40
mov qword [rcx + 0x48], rbx
xorps xmm0, xmm0
movups xmmword [rcx + 0x50], xmm0
mov dword [rcx + 0x60], 0
mov dword [rcx + 0x64], ebp
mov byte [rcx + 0x68], 0
movups xmmword [rsp + 0x42f], xmm0
mov qword [rsp + 0x43f], 0
movdqu xmm0, xmmword [rsp + 0x428]
movdqa xmmword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x437]
mov qword [rsp + 0x6f], rax
mov rax, qword [rsp + 0x43f]
mov qword [rsp + 0x77], rax
cmp rdx, 2
jne 0x140059283
call fcn.14009e270
mov rcx, qword [rsi + 0x1a0]
mov rdx, rax
call fcn.1400c3e40
test rax, rax
je 0x140058f92
mov rdi, rdx
cmp rax, 1
test rdx, rdx
je 0x140058f92
mov rbx, qword [rdi + 0x58]
test rbx, rbx
je 0x140058f62
mov r14, qword [rdi + 0x60]
mov rcx, rbx
call qword [r14]
cmp qword [r14 + 8], 0
je 0x140058f62
cmp qword [r14 + 0x10], 0x11
jb 0x140058f50
mov rbx, qword [rbx - 8]
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rdi]
shl rax, 1
test rax, rax
je 0x140058f80
mov r8, qword [rdi + 8]
mov rcx, qword [0x14016b208]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [rsp + 0xc0]
call fcn.14005b110
cmp qword [rsi + 0x50], 0
je 0x140058fb9
mov r8, qword [rsi + 0x48]
mov rcx, qword [0x14016b208]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsi + 0x20]
mov r14, qword [rsi + 0x28]
test r14, r14
je 0x140059005
lea rbx, [rdi + 0x30]
jmp 0x140058feb
mov rax, qword [rbx - 0x18]
mov rdx, qword [rbx - 0x10]
mov r8, qword [rbx - 8]
mov rcx, rbx
call qword [rax + 0x10]
add rbx, 0x68
dec r14
je 0x140059005
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140058fd0
lea rcx, [rbx + 0x28]
mov rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
call qword [rax + 0x10]
jmp 0x140058fd0
cmp qword [rsi + 0x18], 0
je 0x14005901e
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsi + 0x38]
mov r14, qword [rsi + 0x40]
test r14, r14
je 0x14005904b
lea rbx, [rdi + 0x38]
nop
mov rax, qword [rbx - 0x18]
mov rdx, qword [rbx - 0x10]
mov r8, qword [rbx - 8]
mov rcx, rbx
call qword [rax + 0x10]
add rbx, 0x48
dec r14
jne 0x140059030
cmp qword [rsi + 0x30], 0
je 0x140059064
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsi + 0x80]
mov rdx, qword [rsi + 0x88]
mov rcx, rdi
call fcn.1400ba7a0
cmp qword [rsi + 0x78], 0
je 0x140059093
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsi + 0x60], 0
jne 0x1400590cb
mov rdi, qword [rsi + 0x68]
mov rbx, qword [rsi + 0x70]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1400590cb
cmp qword [rbx + 0x10], 0x11
jb 0x1400590b9
mov rdi, qword [rdi - 8]
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsi + 0x98]
mov rbx, qword [rsi + 0xa0]
test rbx, rbx
je 0x1400590ff
xor r14d, r14d
mov r15, qword [sym.imp.crypt32.dll_CertFreeCertificateContext]
nop dword [rax + rax]
mov rcx, qword [rdi + r14*8]
inc r14
call r15
cmp rbx, r14
jne 0x1400590f0
cmp qword [rsi + 0x90], 0
je 0x14005911b
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsi + 0x158]
test rdi, rdi
je 0x14005919a
mov rbx, qword [rdi + 0x58]
test rbx, rbx
je 0x14005915e
mov r14, qword [rdi + 0x60]
mov rcx, rbx
call qword [r14]
cmp qword [r14 + 8], 0
je 0x14005915e
cmp qword [r14 + 0x10], 0x11
jb 0x14005914c
mov rbx, qword [rbx - 8]
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rdi]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x140059188
test rax, rax
je 0x140059188
mov r8, qword [rdi + 8]
mov rcx, qword [0x14016b208]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [rsi + 0x120]
call fcn.14007fa40
mov rax, qword [rsi + 0x160]
test rax, rax
je 0x1400591cb
lock dec qword [rax]
jne 0x1400591cb
mov rcx, qword [rsi + 0x160]
mov rdx, qword [rsi + 0x168]
call fcn.140042a80
mov r15, qword [rsi + 0x198]
cmp byte [r15 + 0x198], 0
jne 0x1400591e4
mov byte [r15 + 0x198], 1
lea rdi, [r15 + 0x80]
lock or qword [r15 + 0x1c8], 1
lea rcx, [r15 + 0x1a0]
call fcn.1400e5a80
lea rbx, [r15 + 0x180]
lea r14, [rsp + 0x428]
nop
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.14007f280
cmp dword [rsp + 0x428], 1
ja 0x140059241
lock sub qword [r15 + 0x1c8], 2
jb 0x14005b103
mov rcx, r14
call fcn.1400437d0
jmp 0x140059210
lea rcx, [rsp + 0x428]
call fcn.1400437d0
mov rax, qword [rsi + 0x198]
lock dec qword [rax]
jne 0x140059267
mov rcx, qword [rsi + 0x198]
call fcn.140043710
movaps xmm6, xmmword [rsp + 0x600]
add rsp, 0x618
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x228], 0
mov byte [rsp + 0x230], 0
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x231], xmm0
mov rax, qword [rsp + 0x6f]
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x77]
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], 0
mov qword [rsp + 0x258], r13
mov qword [rsp + 0x260], rdi
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x218], 0
mov qword [rsp + 0x220], rcx
lea rdi, [rsp + 0xc0]
mov rcx, rdi
call fcn.14005b110
lea rbx, [rsp + 0x428]
mov r8d, 0x198
mov rcx, rbx
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rsi + 0x198]
movups xmmword [rsp + 0x5c0], xmm0
mov byte [rsp + 0x5f8], 0
lea rcx, [rsp + 0x218]
mov rdx, rbx
call fcn.14004e980
movups xmm0, xmmword [rsp + 0x218]
movups xmm1, xmmword [rsp + 0x228]
movups xmm2, xmmword [rsp + 0x238]
movups xmm3, xmmword [rsp + 0x248]
movaps xmmword [rsp + 0x330], xmm0
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0x380], rax
movdqu xmm0, xmmword [rsp + 0x258]
movdqa xmmword [rsp + 0x370], xmm0
movaps xmmword [rsp + 0x360], xmm3
movaps xmmword [rsp + 0x350], xmm2
movaps xmmword [rsp + 0x340], xmm1
cmp qword [rsp + 0x330], 0
je 0x14005942e
cmp qword [rsp + 0x368], 0
je 0x14005af38
mov rsi, qword [rsp + 0x370]
lea rdi, [rsi + 0xc8]
mov rcx, rdi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14016b298]
shl rax, 1
test rax, rax
jne 0x1400597d0
lea rbx, [rsi + 0xd0]
movzx eax, byte [rsi + 0xd0]
cmp byte [rsi + 0x100], 0
je 0x1400595b4
mov rax, qword [0x14016b298]
shl rax, 1
test rax, rax
jne 0x14005ac4a
mov rcx, rdi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jmp 0x14005980d
mov rdx, qword [rsp + 0x368]
mov r8, qword [rsp + 0x370]
lea rcx, [rsp + 0x60]
call fcn.1400e8be0
cmp qword [rsp + 0x368], 0
jne 0x14005afa4
xor esi, esi
xchg qword [rsp + 0x338], rsi
test rsi, rsi
je 0x14005ac5f
mov rax, qword [rsp + 0x370]
lock inc qword [rax]
jle 0x14005aeb6
lea rcx, [rsp + 0x338]
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x290], xmm0
mov qword [rsp + 0x270], 0
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x280], 0
mov qword [rsp + 0x288], rsi
mov qword [rsp + 0x2a0], 8
mov qword [rsp + 0x2a8], 0
mov qword [rsp + 0x2b0], rcx
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0xd8]
cmp eax, 1
je 0x140059529
test eax, eax
jne 0x140059573
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
lea rcx, [rbx + 0x88]
lea rdx, [0x1400e8270]
call fcn.1400d3ac0
mov byte [rbx + 0xd8], 1
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movabs rcx, 0x7fffffffffffffff
cmp qword [rax + 0x88], rcx
jae 0x14005b03a
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp dword [rax + 0x90], 2
jne 0x14005961b
mov qword [rsp + 0x288], 0
mov rdx, qword [rsp + 0x370]
add rdx, 0x10
mov rcx, rsi
call fcn.1400e53e0
mov qword [rsp + 0x288], rsi
mov qword [rsp + 0x280], 0
lea rsi, [rsp + 0x270]
jmp 0x140059788
mov byte [rsi + 0x100], 1
mov rax, qword [0x14016b298]
shl rax, 1
test rax, rax
jne 0x14005ad7d
mov rcx, rdi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov rdi, qword [rsi + 0x68]
test rdi, rdi
je 0x14005980d
mov rbx, qword [rsi + 0x60]
add rsi, 0x130
shl rdi, 4
xor r14d, r14d
nop word cs:[rax + rax]
mov rcx, qword [rbx + r14 + 8]
mov rdx, rsi
call fcn.1400e0550
add r14, 0x10
cmp rdi, r14
jne 0x140059600
jmp 0x14005980d
movdqu xmm0, xmmword [rsp + 0x270]
movups xmm1, xmmword [rsp + 0x280]
movups xmm2, xmmword [rsp + 0x290]
movups xmm3, xmmword [rsp + 0x2a0]
movdqa xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0x2b0]
mov qword [rsp + 0x100], rax
movaps xmmword [rsp + 0xf0], xmm3
movaps xmmword [rsp + 0xe0], xmm2
movaps xmmword [rsp + 0xd0], xmm1
cmp qword [rsp + 0xc0], 0
jne 0x14005b058
cmp qword [rsp + 0xd0], 0
jne 0x14005b0a3
mov qword [rsp + 0xd0], 0xffffffffffffffff
mov rsi, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], 0
test rsi, rsi
je 0x14005b0af
mov qword [rsp + 0xd0], 0
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
mov r14, qword [rbx + 0xc0]
mov qword [rbx + 0xc0], rdi
mov rdx, qword [rsp + 0x370]
add rdx, 0x10
mov rcx, rsi
call fcn.1400e53e0
mov qword [rbx + 0xc0], r14
cmp qword [rsp + 0xd0], 0
jne 0x14005b0c7
mov qword [rsp + 0xd0], 0xffffffffffffffff
mov rdi, qword [rsp + 0xd8]
test rdi, rdi
je 0x14005976e
lea rcx, [rdi + 0x40]
call fcn.1400e1050
cmp qword [rdi + 0x40], 0
je 0x140059747
mov r8, qword [rdi + 0x48]
mov rcx, qword [0x14016b208]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, rdi
call fcn.1400e5170
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0xd0]
inc rax
jmp 0x140059770
xor eax, eax
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xd0], rax
lea rsi, [rsp + 0xc0]
mov rcx, rsi
call fcn.1400e5210
mov rcx, rsi
call fcn.1400e5000
cmp dword [rsp + 0x60], 3
je 0x14005980d
lea rcx, [rsp + 0x60]
call fcn.1400e8d80
mov rax, qword [rsp + 0x60]
cmp rax, 2
je 0x14005980d
lea rcx, [rsp + 0x68]
test rax, rax
je 0x1400597fd
mov rax, qword [rsp + 0x68]
lock dec qword [rax]
jne 0x14005980d
call fcn.1400e68e0
jmp 0x14005980d
call fcn.1400ff8c0
lea rbx, [rsi + 0xd0]
movzx ecx, byte [rsi + 0xd0]
cmp byte [rsi + 0x100], 0
je 0x14005ad69
test al, al
jne 0x14005940d
jmp 0x140059420
mov rax, qword [rsp + 0x68]
lock dec qword [rax]
jne 0x14005980d
call fcn.1400e6820
cmp qword [rsp + 0x330], 0
je 0x140059840
cmp qword [rsp + 0x368], 0
lea rcx, [rsp + 0x370]
je 0x140059872
mov rax, qword [rsp + 0x370]
lock dec qword [rax]
jne 0x140059885
call fcn.140043040
jmp 0x140059885
xor eax, eax
xchg qword [rsp + 0x338], rax
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0xc0]
call fcn.140096d20
cmp qword [rsp + 0x368], 0
lea rcx, [rsp + 0x370]
jne 0x14005982b
mov rax, qword [rsp + 0x370]
lock dec qword [rax]
jne 0x140059885
call fcn.14002b340
mov rbx, qword [rsp + 0x378]
lea rsi, [rbx + 0x40]
mov rcx, rsi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14016b298]
shl rax, 1
test rax, rax
jne 0x14005a27b
movzx eax, byte [rbx + 0x48]
cmp byte [rbx + 0xcc], 0
je 0x1400598df
add rbx, 0x48
mov rax, qword [0x14016b298]
shl rax, 1
test rax, rax
jne 0x14005a2b1
mov rcx, rsi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jmp 0x14005abb2
xor edi, edi
mov byte [rbx + 0xcc], 1
mov rax, qword [rbx + 0xa0]
test rax, rax
je 0x140059906
lock dec qword [rax]
jne 0x140059906
lea rcx, [rbx + 0xa0]
call fcn.1400e6780
mov qword [rbx + 0xa0], 0
mov ecx, 0xd0
add rcx, qword [rsp + 0x378]
call qword [sym.imp.kernel32.dll_WakeAllConditionVariable]
mov rax, qword [rbx + 0xb8]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rbx + 0xa8]
movaps xmmword [rsp + 0x80], xmm0
mov qword [rbx + 0xa8], 0
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x60], 0
jne 0x14005996e
call fcn.140019960
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x68]
mov rdx, qword [rax + 0x70]
lea r8, [rcx + 1]
mov qword [rax + 0x68], r8
movups xmm0, xmmword [rbx + 0x70]
movups xmm1, xmmword [rbx + 0x80]
movups xmm2, xmmword [rbx + 0x90]
movaps xmmword [rsp + 0x1e0], xmm2
movaps xmmword [rsp + 0x1d0], xmm1
movaps xmmword [rsp + 0x1c0], xmm0
movups xmm0, xmmword [0x140139970]
movups xmmword [rbx + 0x80], xmm0
movdqu xmm0, xmmword [0x140139960]
movdqu xmmword [rbx + 0x70], xmm0
mov qword [rbx + 0x90], rcx
mov qword [rbx + 0x98], rdx
test dil, dil
jne 0x140059a05
mov rax, qword [0x14016b298]
shl rax, 1
test rax, rax
jne 0x14005ad92
mov rcx, rsi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0xd8]
cmp eax, 1
je 0x140059a5e
test eax, eax
jne 0x140059a7e
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rsi, qword [rcx + rax*8]
lea rcx, [rsi + 0x88]
lea rdx, [0x1400e8270]
call fcn.1400d3ac0
mov byte [rsi + 0xd8], 1
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0xd6], 2
jne 0x14005ace6
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x78]
test rsi, rsi
jne 0x140059aae
call fcn.1400e16a0
test rax, rax
je 0x140059eaf
mov rsi, qword [rax]
lock inc qword [rsi]
jle 0x14005aeb6
add rsi, 0x10
xor ebx, ebx
lea rdi, [0x1400e8270]
jmp 0x140059adc
mov rcx, qword [rax]
add rcx, 0x10
call fcn.1400e4ab0
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0xd8]
cmp eax, 1
je 0x140059b29
test eax, eax
jne 0x140059b70
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov r14, qword [rcx + rax*8]
lea rcx, [r14 + 0x88]
mov rdx, rdi
call fcn.1400d3ac0
mov byte [r14 + 0xd8], 1
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx ebp, byte [rax + 0xd4]
movzx r13d, byte [rax + 0xd5]
mov word [rax + 0xd4], 0x8001
mov al, 1
mov r12, qword [rsp + 0x380]
test r12, r12
jne 0x140059b84
jmp 0x14005ae5c
mov bpl, 2
mov r12, qword [rsp + 0x380]
test r12, r12
je 0x14005ae5c
cmp al, 1
je 0x140059bbd
movzx eax, al
test eax, eax
jne 0x140059c40
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov r14, qword [rcx + rax*8]
lea rcx, [r14 + 0x88]
mov rdx, rdi
call fcn.1400d3ac0
mov byte [r14 + 0xd8], 1
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx r14d, byte [rax + 0xd4]
movzx r15d, byte [rax + 0xd5]
test r14b, r14b
je 0x140059c00
test r15b, r15b
jne 0x140059c00
mov rcx, rsi
call fcn.1400e4fd0
mov r12b, 1
jmp 0x140059dd1
mov eax, r15d
sub al, 1
movzx eax, al
cmovb eax, ebx
test r14b, r14b
movzx ecx, r15b
cmovne ecx, eax
mov eax, dword [0x14016b2a4]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov byte [rax + 0xd5], cl
mov rax, qword [r12 + 0x30]
test al, 2
je 0x140059c53
jmp 0x140059d90
xor r14d, r14d
xor r15d, r15d
mov rax, qword [r12 + 0x30]
test al, 2
jne 0x140059d90
test al, 4
jne 0x140059dce
test al, 1
je 0x140059cd5
cmp rsi, qword [r12 + 0x28]
jne 0x140059c9e
mov rax, qword [r12 + 0x20]
lea rcx, [fcn.1400e4f80]
cmp qword [rax], rcx
jne 0x140059c9e
lea rcx, [0x1400e4fa0]
cmp qword [rax + 8], rcx
jne 0x140059c9e
lea rcx, [fcn.1400e4fd0]
cmp qword [rax + 0x10], rcx
jne 0x140059c9e
lea rcx, [fcn.1400e4fe0]
cmp qword [rax + 0x18], rcx
je 0x140059d08
mov rax, qword [r12 + 0x30]
nop word cs:[rax + rax]
mov rcx, rax
and rcx, 0xfffffffffffffffe
lock cmpxchg qword [r12 + 0x30], rcx
jne 0x140059cb0
test al, 2
jne 0x140059d88
mov rax, qword [r12 + 0x20]
mov rcx, qword [r12 + 0x28]
call qword [rax + 0x18]
mov rcx, rsi
call fcn.1400e4f80
mov qword [r12 + 0x20], rax
mov qword [r12 + 0x28], rdx
mov rax, qword [r12 + 0x30]
nop dword [rax]
mov rcx, rax
or rcx, 1
lock cmpxchg qword [r12 + 0x30], rcx
jne 0x140059cf0
test al, 2
jne 0x140059d90
mov r12b, 1
test r14b, r14b
je 0x140059dd1
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0xd8]
cmp eax, 1
je 0x140059d65
test eax, eax
jne 0x140059dd1
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov r14, qword [rcx + rax*8]
lea rcx, [r14 + 0x88]
mov rdx, rdi
call fcn.1400d3ac0
mov byte [r14 + 0xd8], 1
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0xd4], 1
mov byte [rax + 0xd5], r15b
jmp 0x140059dd1
lock or qword [r12 + 0x30], 1
nop
movzx eax, byte [r12 + 0x38]
mov byte [r12 + 0x38], 0
xor al, 1
test al, al
jne 0x140059dce
mov rax, qword [rsp + 0x380]
test rax, rax
je 0x140059dc2
lock dec qword [rax]
jne 0x140059dc2
mov rcx, qword [rsp + 0x380]
call fcn.14003c3f0
mov qword [rsp + 0x380], 0
xor r12d, r12d
cmp bpl, 2
je 0x140059e45
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0xd8]
cmp eax, 1
je 0x140059e24
test eax, eax
jne 0x140059e45
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov r14, qword [rcx + rax*8]
lea rcx, [r14 + 0x88]
mov rdx, rdi
call fcn.1400d3ac0
mov byte [r14 + 0xd8], 1
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0xd4], bpl
mov byte [rax + 0xd5], r13b
test r12b, r12b
je 0x140059ea7
mov eax, dword [0x14016b2a4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x78]
test rcx, rcx
jne 0x140059ad3
call fcn.1400e16a0
test rax, rax
jne 0x140059ad0
lea rax, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtimepark.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x14015d0ee]
lea r9, [0x140138528]
lea r8, [rsp + 0xc0]
mov edx, 0x2b
call fcn.1400fa4a0
mov rcx, rsi
call fcn.1400e4fe0
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140059f17
movdqu xmm0, xmmword [rsp + 0x88]
movdqu xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0xc0]
call fcn.1400e7e20
test rax, rax
je 0x140059f17
mov rsi, rax
mov rdi, rdx
mov rcx, rax
call qword [rdx]
cmp qword [rdi + 8], 0
je 0x140059f17
cmp qword [rdi + 0x10], 0x11
jb 0x140059f05
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [rsp + 0x1c0]
mov r9, qword [rsp + 0x1c8]
mov rax, qword [rsp + 0x1d8]
movdqa xmm0, xmmword [rcx]
test r9, r9
je 0x140059f73
lea rdx, [r9 + 1]
mov r8, rdx
shr r8, 0x3b
jne 0x140059f68
mov r8, rdx
shl r8, 5
add r9, 0x11
add r9, r8
jb 0x140059f68
movabs r10, 0x7ffffffffffffff1
cmp r9, r10
jb 0x14005ac3f
xor r10d, r10d
mov rdi, rcx
sub rdi, r8
jmp 0x140059f7b
mov edx, 1
xor r10d, r10d
lea r11, [rcx + 0x10]
pmovmskb esi, xmm0
mov r8d, esi
not r8d
add rdx, rcx
mov qword [rsp + 0x270], r10
mov qword [rsp + 0x278], r9
mov qword [rsp + 0x280], rdi
mov qword [rsp + 0x288], rcx
mov qword [rsp + 0x290], r11
mov qword [rsp + 0x298], rdx
mov word [rsp + 0x2a0], r8w
mov qword [rsp + 0x2a8], rax
test rax, rax
je 0x14005a269
cmp si, 0xffff
je 0x140059ff0
mov r9d, 0xfffffffe
sub r9d, esi
jmp 0x14005a02a
movdqa xmm0, xmmword [r11]
pmovmskb r8d, xmm0
add rcx, 0xfffffffffffffe00
add r11, 0x10
cmp r8d, 0xffff
je 0x140059ff0
mov qword [rsp + 0x290], r11
mov qword [rsp + 0x288], rcx
mov r9d, 0xfffffffe
sub r9d, r8d
not r8d
mov edx, r8d
and edx, r9d
mov word [rsp + 0x2a0], dx
dec rax
mov qword [rsp + 0x2a8], rax
tzcnt edx, r8d
shl rdx, 5
sub rcx, rdx
mov rdi, qword [rcx - 0x20]
mov rbx, qword [rcx - 0x18]
movdqu xmm0, xmmword [rcx - 0x10]
movdqa xmmword [rsp + 0xc0], xmm0
test rbx, rbx
je 0x14005a269
inc rax
mov rcx, 0xffffffffffffffff
cmovne rcx, rax
cmp rcx, 5
mov r14d, 4
cmovae r14, rcx
mov rax, r14
shr rax, 0x3a
jne 0x14005b053
mov rsi, r14
shl rsi, 5
movzx eax, byte [0x14016b2a0]
mov rcx, qword [0x14016b208]
test rcx, rcx
jne 0x14005a0ca
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14005b046
mov rcx, rax
mov qword [0x14016b208], rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14005b046
mov qword [rax], rdi
mov qword [rax + 8], rbx
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rax + 0x10], xmm0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 1
movdqu xmm0, xmmword [rsp + 0x270]
movups xmm1, xmmword [rsp + 0x280]
movups xmm2, xmmword [rsp + 0x290]
movups xmm3, xmmword [rsp + 0x2a0]
movaps xmmword [rsp + 0xf0], xmm3
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xe0], xmm2
movdqa xmmword [rsp + 0xc0], xmm0
mov rdi, qword [rsp + 0xf8]
movzx ecx, word [rsp + 0xf0]
mov r14, qword [rsp + 0xd8]
mov r15d, 1
mov rbx, qword [rsp + 0xe0]
mov r10, 0xffffffffffffffff
lea rsi, [rsp + 0x60]
mov edx, 1
jmp 0x14005a1ac
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r12
mov qword [rax + rcx + 8], r13
movdqa xmm0, xmmword [rsp + 0x200]
movdqu xmmword [rax + rcx + 0x10], xmm0
inc rdx
mov qword [rsp + 0x70], rdx
dec r15
mov ecx, ebp
test rdi, rdi
mov qword [rsp + 0x30], rdx
je 0x14005a2a1
test cx, cx
je 0x14005a1e0
lea ebp, [rcx - 1]
and ebp, ecx
dec rdi
test r14, r14
jne 0x14005a20e
jmp 0x14005a2c6
movdqa xmm0, xmmword [rbx]
pmovmskb ecx, xmm0
add r14, 0xfffffffffffffe00
add rbx, 0x10
cmp ecx, 0xffff
je 0x14005a1e0
mov r8d, 0xfffffffe
sub r8d, ecx
not ecx
mov ebp, ecx
and ebp, r8d
dec rdi
tzcnt ecx, ecx
shl rcx, 5
mov r8, r14
sub r8, rcx
mov r12, qword [r8 - 0x20]
mov r13, qword [r8 - 0x18]
movups xmm0, xmmword [r8 - 0x10]
movaps xmmword [rsp + 0x200], xmm0
test r13, r13
je 0x14005a2aa
cmp rdx, qword [rsp + 0x60]
jne 0x14005a180
mov r8, rdi
inc r8
cmove r8, r10
mov rcx, rsi
call fcn.1401002a0
mov r10, 0xffffffffffffffff
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x68]
jmp 0x14005a180
lea rcx, [rsp + 0x270]
call fcn.1400e2440
jmp 0x14005abb2
call fcn.1400ff8c0
mov edi, eax
movzx eax, byte [rbx + 0x48]
cmp byte [rbx + 0xcc], 0
je 0x14005acc6
test dil, dil
jne 0x1400598ba
jmp 0x1400598d1
mov qword [rsp + 0x50], r15
xor edi, edi
jmp 0x14005a2d0
mov qword [rsp + 0x50], r15
jmp 0x14005a2ce
call fcn.1400ff8c0
test al, al
jne 0x1400598d1
mov byte [rbx], 1
jmp 0x1400598d1
mov qword [rsp + 0x50], r15
xor r14d, r14d
mov ecx, ebp
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xe0], rbx
mov word [rsp + 0xf0], cx
mov qword [rsp + 0xf8], rdi
lea rcx, [rsp + 0xc0]
call fcn.1400e2440
mov rsi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x30]
cmp rdx, 0x15
mov qword [rsp + 0x210], rsi
jae 0x14005a34b
cmp rdx, 1
jbe 0x14005aa8e
mov r8d, 1
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
mov r15, rdx
call fcn.1400e2210
shl r15, 5
add r15, rsi
jmp 0x14005aaa6
movzx eax, byte [0x14016b2a0]
mov rcx, qword [0x14016b208]
test rcx, rcx
jne 0x14005a37c
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14005b0d3
mov rcx, rax
mov qword [0x14016b208], rax
mov rdx, qword [rsp + 0x30]
mov rax, rdx
shl rax, 4
movabs r8, 0x7fffffffffffffe0
and r8, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14005b0d3
mov rbp, rax
movzx eax, byte [0x14016b2a0]
mov rcx, qword [0x14016b208]
test rcx, rcx
jne 0x14005a3cf
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14005b0eb
mov rcx, rax
mov qword [0x14016b208], rax
mov r8d, 0x100
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14005b0eb
mov r12, rax
mov rax, qword [rsp + 0x38]
lea rcx, [rax + 0x40]
mov qword [rsp + 0x1f8], rcx
add rax, 0xffffffffffffffe0
mov qword [rsp + 0xb0], rax
mov eax, 0x10
mov qword [rsp + 0xa8], rax
xor r13d, r13d
xor r14d, r14d
mov rdx, qword [rsp + 0x30]
jmp 0x14005a433
mov r14d, 1
mov r13, qword [rsp + 0x58]
cmp r13, rdx
jae 0x14005aa66
mov r8, rdx
sub r8, r13
mov r9, r13
shl r9, 5
mov rax, qword [rsp + 0x38]
lea rcx, [rax + r9]
cmp r8, 2
jae 0x14005a460
mov rax, rdx
jmp 0x14005a5d0
mov rax, qword [rcx]
mov rbx, qword [rcx + 0x20]
cmp rbx, rax
jae 0x14005a481
cmp r8, 2
jne 0x14005a496
lea rax, [r13 + 2]
mov r8d, 2
jmp 0x14005a52a
cmp r8, 2
jne 0x14005a4d1
lea rax, [r13 + 2]
mov r8d, 2
jmp 0x14005a5d0
mov rdx, qword [rsp + 0x50]
lea r11, [rdx + r13]
add r9, qword [rsp + 0x1f8]
mov r10d, 2
mov rsi, rbx
mov rdi, rsi
mov rsi, qword [r9]
cmp rsi, rdi
jae 0x14005a512
lea rdi, [r11 + r10]
inc rdi
inc r10
add r9, 0x20
cmp rdi, 2
jne 0x14005a4b0
jmp 0x14005a50f
mov rdx, qword [rsp + 0x50]
lea r11, [rdx + r13]
add r9, qword [rsp + 0x1f8]
mov r10d, 2
mov rsi, rbx
nop dword [rax + rax]
mov rdi, rsi
mov rsi, qword [r9]
cmp rsi, rdi
jb 0x14005a512
lea rdi, [r11 + r10]
inc rdi
inc r10
add r9, 0x20
cmp rdi, 2
jne 0x14005a4f0
mov r10, r8
lea rdx, [r10 + r13]
mov r8, r10
cmp rbx, rax
mov rax, rdx
mov rdx, qword [rsp + 0x30]
jae 0x14005a5d0
cmp r13, rax
ja 0x14005af83
cmp rax, rdx
ja 0x14005af95
cmp r8, 2
jb 0x14005a5d0
mov r11, rax
mov rax, r8
shr rax, 1
lea r10, [r8 + r13]
shl r10, 5
add r10, qword [rsp + 0xb0]
mov r9, rcx
nop word cs:[rax + rax]
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [r10]
movups xmm1, xmmword [r10 + 0x10]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
movdqa xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [r10 + 0x10], xmm1
movdqu xmmword [r10], xmm0
add r9, 0x20
add r10, 0xffffffffffffffe0
dec rax
jne 0x14005a570
mov rax, r11
nop word cs:[rax + rax]
mov rsi, rax
sub rsi, r13
jb 0x14005aef4
cmp rax, rdx
ja 0x14005aef4
jae 0x14005a630
cmp r8, 0xa
jae 0x14005a630
lea rsi, [r13 + 0xa]
cmp rsi, rdx
cmovae rsi, rdx
mov qword [rsp + 0x58], rsi
sub rsi, r13
jb 0x14005af24
cmp r8, 1
adc r8, 0
mov rdx, rsi
call fcn.1400e2210
mov rdx, qword [rsp + 0x30]
cmp r14, qword [rsp + 0xa8]
je 0x14005a63f
jmp 0x14005a6bd
mov qword [rsp + 0x58], rax
cmp r14, qword [rsp + 0xa8]
jne 0x14005a6bd
movzx eax, byte [0x14016b2a0]
mov rax, qword [0x14016b208]
test rax, rax
jne 0x14005a668
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14005af0c
mov qword [0x14016b208], rax
mov r8, r14
shl r8, 5
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14005af0c
mov rdi, rax
lea rax, [r14 + r14]
mov qword [rsp + 0xa8], rax
mov r8, r14
shl r8, 4
mov rcx, rdi
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
mov r12, rdi
mov rdx, qword [rsp + 0x30]
mov rax, r14
shl rax, 4
mov qword [r12 + rax], rsi
mov qword [r12 + rax + 8], r13
inc r14
mov rax, r14
cmp r14, 2
mov qword [rsp + 0x190], r12
jae 0x14005a76a
jmp 0x14005a425
mov rdi, r13
mov rdx, rbp
sub r12, rdx
mov rcx, rdi
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x1a8]
add rax, r14
mov rcx, qword [rsp + 0x1a0]
mov qword [rcx], rax
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x198]
mov qword [rcx], rax
lea rdx, [r15 + 0x10]
not rbx
mov r8, qword [rsp + 0xb8]
add r8, rbx
shl r8, 4
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [rsp + 0x1b8]
cmp rax, 1
mov rdx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x190]
jbe 0x14005a41f
mov r14, rax
lea r11, [rax - 1]
mov rcx, r11
shl rcx, 4
mov rax, qword [r12 + rcx]
mov rcx, qword [r12 + rcx + 8]
add rcx, rax
cmp rcx, rdx
je 0x14005a7e0
mov r10, r14
shl r10, 4
mov r8, qword [r10 + r12 - 0x20]
cmp r8, rax
jbe 0x14005a7e0
cmp r14, 2
jbe 0x14005aa50
lea rdi, [r14 - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [r12 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x14005a7f5
cmp r14, 3
jbe 0x14005aa5b
add r8, rcx
cmp qword [r10 + r12 - 0x40], r8
jbe 0x14005a7f5
jmp 0x14005a425
cmp r14, 3
jb 0x14005a7fa
lea rdi, [r14 - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [r12 + rcx]
cmp rcx, rax
jb 0x14005a7fe
lea rdi, [r14 - 2]
cmp r14, rdi
jbe 0x14005ada8
lea rax, [rdi + 1]
mov qword [rsp + 0xb8], r14
cmp r14, rax
jbe 0x14005adf3
mov r15, rbp
mov r8, rdi
shl r8, 4
mov rcx, qword [r12 + r8 + 8]
shl rax, 4
mov r9, qword [r12 + rax]
mov rsi, qword [r12 + rax + 8]
add rsi, r9
mov rbp, rsi
sub rbp, rcx
jb 0x14005ae3e
mov qword [rsp + 0x48], rdi
cmp rsi, rdx
ja 0x14005ae4d
mov qword [rsp + 0x1a8], r9
mov qword [rsp + 0x1b8], r11
lea rdx, [r12 + r8]
mov qword [rsp + 0x40], rdx
mov r14, qword [r12 + r8]
lea rdx, [r12 + rax]
mov qword [rsp + 0x1a0], rdx
lea rax, [r12 + rax + 8]
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1b0], rcx
mov rdi, rcx
shl rdi, 5
add rdi, qword [rsp + 0x38]
mov r12, r14
shl r12, 5
lea r13, [rdi + r12]
shl rsi, 5
mov rbx, rbp
sub rbx, r14
cmp rbx, r14
jae 0x14005a970
mov r12, rbx
shl r12, 5
mov rbp, r15
mov rcx, r15
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add r12, r15
test r14, r14
jle 0x14005aa20
test rbx, rbx
jle 0x14005aa20
add rsi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
nop dword [rax]
mov rax, r13
mov rcx, r12
mov rdx, qword [r12 - 0x20]
mov r8, qword [r13 - 0x20]
cmp rdx, r8
mov r13d, 0
sbb r13, r13
cmp rdx, r8
mov r12d, 0
adc r12, 0xffffffffffffffff
shl r13, 5
add r13, rax
shl r12, 5
add r12, rcx
cmp rdx, r8
mov rax, r12
cmovb rax, r13
movdqu xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x10], xmm1
movdqu xmmword [rsi], xmm0
cmp r13, rdi
jbe 0x14005a6f0
add rsi, 0xffffffffffffffe0
cmp r12, rbp
ja 0x14005a900
jmp 0x14005a6f0
mov rbx, r15
mov rcx, r15
mov rdx, rdi
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add r12, r15
test r14, r14
jle 0x14005aa28
mov rax, r14
cmp rbp, r14
mov rbx, qword [rsp + 0x48]
jle 0x14005aa3d
add rsi, qword [rsp + 0x38]
mov rbp, r15
mov rdx, r15
mov r15, qword [rsp + 0x40]
mov r14, rax
nop word cs:[rax + rax]
mov r8, rdx
mov rcx, qword [r13]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, r13
movdqu xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmmword [rdi + 0x10], xmm1
movdqu xmmword [rdi], xmm0
add rdi, 0x20
shl rdx, 5
add rdx, r8
cmp rdx, r12
jae 0x14005a6f6
mov al, cl
shl rax, 5
add r13, rax
cmp r13, rsi
jb 0x14005a9c0
jmp 0x14005a6f6
mov rdi, r13
mov rdx, rbp
jmp 0x14005aa2e
mov rbp, r15
mov rdx, r15
mov rbx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
jmp 0x14005a6f6
mov rbp, r15
mov rdx, r15
mov r15, qword [rsp + 0x40]
mov r14, rax
jmp 0x14005a6f6
mov r14d, 2
jmp 0x14005a425
mov r14d, 3
jmp 0x14005a425
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, r12
mov rsi, qword [sym.imp.kernel32.dll_HeapFree]
call rsi
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rbp
call rsi
mov rdx, qword [rsp + 0x30]
mov r15, rdx
shl r15, 5
mov rsi, qword [rsp + 0x38]
add r15, rsi
test rdx, rdx
je 0x14005ab2c
lea r12, [rsp + 0xc8]
lea rdi, [rsp + 0xc0]
mov r13, qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [rsp + 0x38]
jmp 0x14005aae0
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, rbx
call r13
add rsi, 0x20
cmp rsi, r15
je 0x14005ab93
mov rax, qword [rsi + 8]
test rax, rax
je 0x14005ab28
movdqu xmm0, xmmword [rsi + 0x10]
movdqu xmmword [r12], xmm0
mov qword [rsp + 0xc0], rax
mov rcx, rdi
call fcn.1400e7e20
test rax, rax
je 0x14005aad3
mov rbx, rax
mov r14, rdx
mov rcx, rax
call qword [rdx]
cmp qword [r14 + 8], 0
je 0x14005aad3
cmp qword [r14 + 0x10], 0x11
jb 0x14005aac4
mov rbx, qword [rbx - 8]
jmp 0x14005aac4
add rsi, 0x20
sub r15, rsi
je 0x14005ab93
shr r15, 5
add rsi, 0x10
mov rdi, qword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x14005ab59
add rsi, 0x20
dec r15
je 0x14005ab93
mov rcx, qword [rsi + 8]
call rdi
mov rax, qword [rsi - 8]
lock dec qword [rax]
jne 0x14005ab80
mov rcx, qword [rsi - 8]
call fcn.14002b2e0
mov rax, qword [rsi]
lock dec qword [rax]
jne 0x14005ab50
jmp 0x14005ab89
mov rax, qword [rsi]
lock dec qword [rax]
jne 0x14005ab50
mov rcx, rsi
call fcn.1400e6cb0
jmp 0x14005ab50
cmp qword [rsp + 0x210], 0
je 0x14005abb2
mov rcx, qword [0x14016b208]
xor edx, edx
mov r8, qword [rsp + 0x38]
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x378]
lock dec qword [rax]
jne 0x14005abcd
lea rcx, [rsp + 0x378]
call fcn.14003bfe0
mov rcx, qword [rsp + 0x380]
test rcx, rcx
je 0x140059267
mov rax, qword [rcx + 0x30]
nop word cs:[rax + rax]
mov rdx, rax
or rdx, 4
lock cmpxchg qword [rcx + 0x30], rdx
jne 0x14005abf0
and eax, 0xa
cmp eax, 8
jne 0x14005ac12
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x380]
test rax, rax
je 0x140059267
lock dec qword [rax]
jne 0x140059267
mov rcx, qword [rsp + 0x380]
call fcn.14003c3f0
jmp 0x140059267
mov r10d, 0x10
jmp 0x140059f6b
call fcn.1400ff8c0
test al, al
jne 0x140059420
mov byte [rbx], 1
jmp 0x140059420
mov rax, qword [0x14016b298]
shl rax, 1
test rax, rax
je 0x14005ac7b
call fcn.1400ff8c0
test al, al
je 0x140059798
lea rax, str.Oh_no__We_never_placed_the_Core_back__this_is_a_bug_
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rax, [0x14015dbe8]
mov qword [rsp + 0xd0], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd8], xmm0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_schedulercurrent_threadmod.rs
lea rcx, [rsp + 0xc0]
call fcn.1400f9f90
xor dil, 1
mov byte [rbx + 0xcc], 1
mov rax, qword [rbx + 0xa0]
test rax, rax
jne 0x1400598f4
jmp 0x140059906
mov rax, qword [0x14016b298]
shl rax, 1
test rax, rax
je 0x14005afef
call fcn.1400ff8c0
test al, al
jne 0x14005afef
mov rsi, qword [rsp + 0x80]
lea rcx, [rsp + 0x1c0]
call fcn.1400e2310
test rsi, rsi
je 0x14005abb2
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.kernel32.dll_CloseHandle]
lock dec qword [rsi]
jne 0x14005ad45
mov rcx, qword [rsp + 0x80]
call fcn.14002b2e0
mov rax, qword [rsp + 0x88]
lock dec qword [rax]
jne 0x14005abb2
lea rcx, [rsp + 0x88]
call fcn.1400e6cb0
jmp 0x14005abb2
mov byte [rsi + 0x100], 1
test al, al
jne 0x1400595bb
jmp 0x1400595ce
call fcn.1400ff8c0
test al, al
jne 0x1400595ce
mov byte [rbx], 1
jmp 0x1400595ce
call fcn.1400ff8c0
test al, al
jne 0x140059a05
mov byte [rbx + 0x48], 1
jmp 0x140059a05
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rax, [0x14015dbe8]
mov qword [rsp + 0xd0], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd8], xmm0
lea rdx, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
lea rcx, [rsp + 0xc0]
call fcn.1400f9f90
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rax, [0x14015dbe8]
mov qword [rsp + 0xd0], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd8], xmm0
lea rdx, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
lea rcx, [rsp + 0xc0]
call fcn.1400f9f90
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
mov rdx, rsi
call fcn.1400fa360
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
mov rcx, rsi
call fcn.1400fa0d0
lea rax, str.called_after_complete
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rax, [0x14015dbe8]
mov qword [rsp + 0xd0], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd8], xmm0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_synconeshot.rs
lea rcx, [rsp + 0xc0]
call fcn.1400f9f90
mov ecx, 8
mov edx, 0x10
call fcn.1400f9ca0
ud2
mov ecx, 8
mov edx, 0x80
call fcn.1400f9ca0
mov ecx, 8
mov edx, 0x1a8
call fcn.1400f9ca0
mov ecx, 8
mov edx, 0x200
call fcn.1400f9ca0
mov ecx, 8
mov edx, 0x70
call fcn.1400f9ca0
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
mov edx, 0x2c
call fcn.1400fa150
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
mov edx, 0x2b
call fcn.1400fa150
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
mov rcx, r13
mov rdx, qword [rsp + 0x58]
call fcn.1400fa360
lea rax, str.expected_MultiThread_scheduler
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rax, [0x14015dbe8]
mov qword [rsp + 0xd0], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd8], xmm0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_schedulermulti_threadmod.rs
lea rcx, [rsp + 0xc0]
call fcn.1400f9f90
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
mov rcx, r13
mov rdx, rax
call fcn.1400fa360
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
mov rcx, rax
call fcn.1400fa0d0
lea rax, str.not_a_CurrentThread_handle
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rax, [0x14015dbe8]
mov qword [rsp + 0xd0], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd8], xmm0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_schedulermod.rs
lea rcx, [rsp + 0xc0]
call fcn.1400f9f90
lea rax, [0x140136cb8]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rax, [0x14015dbe8]
mov qword [rsp + 0xd0], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd8], xmm0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_blocking_shutdown.rsCannot_drop_a_runtime_in_a_context_where_blocking_is_not_allowed._This_happens_when_a_runtime_is_dropped_from_within_an_asynchronous_context.
lea rcx, [rsp + 0xc0]
call fcn.1400f9f90
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtimecontextcurrent.rs
call fcn.1400fa440
mov ecx, 8
mov rdx, rsi
call fcn.1400f9ca0
call fcn.1400061d0
lea rax, str.expected__CurrentThread::Context_
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], 1
lea rax, [0x14015dbe8]
mov qword [rsp + 0x1d0], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x1d8], xmm0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_schedulercurrent_threadmod.rs
lea rcx, [rsp + 0x1c0]
call fcn.1400f9f90
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_schedulercurrent_threadmod.rs
call fcn.1400fa3e0
lea rcx, str.core_missing
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_schedulercurrent_threadmod.rs
mov edx, 0xc
call fcn.1400fa540
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_schedulercurrent_threadmod.rs
call fcn.1400fa3e0
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
mov edx, 0x2b
call fcn.1400fa150
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
mov edx, 0x2b
call fcn.1400fa150
mov ecx, 7
int 0x29
ud2