Function at 0x14010b010
Capabilities:
Check os version

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
mov rdi, rcx
mov r15, qword [rcx + 8]
mov cl, 1
xor eax, eax
lock cmpxchg byte [r15 + 0x60], cl
jne 0x14010b06f
cmp byte [r15 + 0xe4], 0
je 0x14010b082
xor ecx, ecx
mov al, 1
lock cmpxchg byte [r15 + 0x60], cl
je 0x14010c2cb
add r15, 0x60
mov rcx, r15
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140148870
lea rcx, [r15 + 0x60]
call fcn.140148540
cmp byte [r15 + 0xe4], 0
jne 0x14010b040
mov byte [r15 + 0xe4], 1
mov rax, qword [r15 + 0xb8]
test rax, rax
je 0x14010b0a8
lock dec qword [rax]
jne 0x14010b0a8
mov rcx, qword [r15 + 0xb8]
call fcn.140108250
mov qword [r15 + 0xb8], 0
mov rcx, qword [rdi + 8]
mov rdx, qword [rcx + 0xe8]
test rdx, rdx
jne 0x14010c2e0
mov r12, qword [r15 + 0xc0]
mov r14, qword [r15 + 0xc8]
mov rbx, qword [r15 + 0xd0]
mov qword [r15 + 0xc8], 0
lea rsi, [r15 + 0x88]
mov eax, dword [0x1401e4c88]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x48], 0
jne 0x14010b112
xor ecx, ecx
call fcn.1400810d0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movaps xmmword [rsp + 0x170], xmm2
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
lea rax, [0x1401a88d0]
mov qword [r15 + 0xa0], rax
mov eax, dword [0x1401e4c88]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movdqu xmm0, xmmword [rax + 0x50]
inc qword [rax + 0x50]
movdqu xmmword [r15 + 0xa8], xmm0
xor ecx, ecx
mov al, 1
lock cmpxchg byte [r15 + 0x60], cl
jne 0x14010c2f1
mov eax, dword [0x1401e4c88]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0xd0]
lea rax, [rax + 0xd8]
test rcx, rcx
cmove rax, rcx
je 0x14010b1bd
test rax, rax
jne 0x14010b1c9
jmp 0x14010b1d3
xor ecx, ecx
call fcn.140102ac0
test rax, rax
je 0x14010b1d3
cmp byte [rax + 0x5a], 2
jne 0x14010c302
mov eax, dword [0x1401e4c88]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
lea rax, [rcx + 0xc0]
mov rcx, qword [rcx + 0xc0]
test rcx, rcx
cmove rax, rcx
je 0x14010b210
test rax, rax
jne 0x14010b21a
test r14, r14
jne 0x14010b5f5
jmp 0x14010b642
call fcn.140102970
test rax, rax
je 0x14010b202
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], r14
mov qword [rsp + 0xb0], rbx
mov r15, qword [rax]
lock inc qword [r15]
jle 0x14010c590
add r15, 0x10
xor r13d, r13d
nop word cs:[rax + rax]
mov eax, dword [0x1401e4c88]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0xd0]
lea rax, [rax + 0xd8]
test rcx, rcx
cmove rax, rcx
je 0x14010b2a0
test rax, rax
je 0x14010b2ac
movzx ebp, byte [rax + 0x58]
movzx esi, byte [rax + 0x59]
mov word [rax + 0x58], 0x8001
mov r14, qword [rdi]
test r14, r14
jne 0x14010b2bb
jmp 0x14010c411
xor ecx, ecx
call fcn.140102ac0
test rax, rax
jne 0x14010b27f
mov bpl, 2
mov r14, qword [rdi]
test r14, r14
je 0x14010c411
mov eax, dword [0x1401e4c88]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0xd0]
lea r12, [rax + 0xd8]
test rcx, rcx
cmove r12, rcx
je 0x14010b310
test r12, r12
je 0x14010b31f
movzx ecx, byte [r12 + 0x59]
cmp byte [r12 + 0x58], 0
je 0x14010b2fe
test cl, cl
je 0x14010b323
dec cl
movzx eax, word [r12 + 0x58]
mov byte [r12 + 0x59], cl
xor ecx, ecx
jmp 0x14010b330
xor ecx, ecx
call fcn.140102ac0
mov r12, rax
test r12, r12
jne 0x14010b2ea
mov cl, 2
jmp 0x14010b330
mov rcx, r15
call fcn.140103bf0
mov cl, 1
xor eax, eax
nop
shl eax, 8
movzx ebx, cl
or ebx, eax
test r12, r12
cmove ebx, r13d
mov r12b, 1
test bl, 1
jne 0x14010b460
mov rax, qword [r14 + 0x30]
test al, 2
jne 0x14010b430
test al, 4
jne 0x14010b45d
test al, 1
je 0x14010b3a2
cmp r15, qword [r14 + 0x20]
je 0x14010b584
mov rax, qword [r14 + 0x30]
nop word cs:[rax + rax]
mov rcx, rax
and rcx, 0xfffffffffffffffe
lock cmpxchg qword [r14 + 0x30], rcx
jne 0x14010b380
test al, 2
jne 0x14010b425
mov rcx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
call qword [rax + 0x18]
mov rcx, r15
call fcn.140103af0
mov qword [r14 + 0x20], rax
mov qword [r14 + 0x28], rdx
mov rax, qword [r14 + 0x30]
nop word cs:[rax + rax]
mov rcx, rax
or rcx, 1
lock cmpxchg qword [r14 + 0x30], rcx
jne 0x14010b3c0
test al, 2
jne 0x14010b430
mov r14d, ebx
shr r14d, 8
test r14b, r14b
je 0x14010b460
mov eax, dword [0x1401e4c88]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0xd0]
lea rax, [rax + 0xd8]
test rcx, rcx
cmove rax, rcx
jne 0x14010b414
xor ecx, ecx
call fcn.140102ac0
test rax, rax
je 0x14010b460
shr ebx, 0x10
mov byte [rax + 0x58], r14b
mov byte [rax + 0x59], bl
jmp 0x14010b460
lock or qword [r14 + 0x30], 1
nop dword [rax + rax]
movzx eax, byte [r14 + 0x38]
mov byte [r14 + 0x38], 0
xor al, 1
test al, al
jne 0x14010b45d
mov rax, qword [rdi]
test rax, rax
je 0x14010b456
lock dec qword [rax]
jne 0x14010b456
mov rcx, qword [rdi]
call fcn.1400cf080
mov qword [rdi], 0
xor r12d, r12d
cmp bpl, 2
je 0x14010b4a1
mov eax, dword [0x1401e4c88]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0xd0]
lea rax, [rax + 0xd8]
test rcx, rcx
cmove rax, rcx
je 0x14010b56f
test rax, rax
je 0x14010b4a1
mov byte [rax + 0x58], bpl
mov byte [rax + 0x59], sil
test r12b, r12b
je 0x14010b5d0
mov eax, dword [0x1401e4c88]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0xd0]
lea r12, [rax + 0xd8]
test rcx, rcx
cmove r12, rcx
jne 0x14010b4de
xor ecx, ecx
call fcn.140102ac0
mov r12, rax
test r12, r12
je 0x14010c457
cmp qword [r12], 0
jne 0x14010c482
mov qword [r12], 0xffffffffffffffff
cmp qword [r12 + 0x10], 0
je 0x14010b520
lea rcx, [r12 + 8]
call fcn.14010d450
mov rax, qword [r12]
inc rax
jmp 0x14010b522
xor eax, eax
mov qword [r12], rax
mov eax, dword [0x1401e4c88]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
lea rax, [rcx + 0xc0]
mov rcx, qword [rcx + 0xc0]
test rcx, rcx
cmove rax, rcx
jne 0x14010b555
call fcn.140102970
test rax, rax
je 0x14010c4ad
mov rcx, qword [rax]
add rcx, 0x10
call fcn.140103810
jmp 0x14010b250
xor ecx, ecx
call fcn.140102ac0
test rax, rax
jne 0x14010b499
jmp 0x14010b4a1
mov rax, qword [r14 + 0x28]
lea rcx, [fcn.140103af0]
cmp qword [rax], rcx
jne 0x14010b36d
lea rcx, [0x140103b10]
cmp qword [rax + 8], rcx
jne 0x14010b36d
lea rcx, [fcn.140103bf0]
cmp qword [rax + 0x10], rcx
jne 0x14010b36d
lea rcx, [fcn.140103cc0]
cmp qword [rax + 0x18], rcx
jne 0x14010b36d
jmp 0x14010b3d3
mov rcx, r15
call fcn.140103cc0
mov rbx, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
test r14, r14
je 0x14010b642
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x40]
call fcn.140108a30
test rax, rax
je 0x14010b642
mov rsi, rax
mov rdi, rdx
mov rcx, rax
call qword [rdx]
cmp qword [rdi + 8], 0
je 0x14010b642
cmp qword [rdi + 0x10], 0x11
jb 0x14010b630
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1401e4bf8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov r8, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x160]
mov rax, qword [rsp + 0x168]
lea rdx, [r8 + 1]
movdqa xmm0, xmmword [rax]
test r8, r8
je 0x14010b685
mov r9, rdx
shr r9, 0x3b
jne 0x14010b680
mov r9, rdx
shl r9, 5
add r8, 0x11
add r8, r9
jae 0x14010b68a
xor r11d, r11d
jmp 0x14010b690
xor r11d, r11d
jmp 0x14010b696
mov r11d, 0x10
mov rdi, rax
sub rdi, r9
lea rsi, [rax + 0x10]
pmovmskb r9d, xmm0
mov r10d, r9d
not r10d
add rdx, rax
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], rax
mov word [rsp + 0x100], r10w
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x118], r8
mov qword [rsp + 0x120], r11
test rcx, rcx
je 0x14010b97a
cmp r9w, 0xffff
jne 0x14010b730
nop dword [rax]
movdqa xmm0, xmmword [rsi]
pmovmskb r9d, xmm0
add rax, 0xfffffffffffffe00
add rsi, 0x10
cmp r9w, 0xffff
je 0x14010b700
mov r10d, r9d
not r10d
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xe8], rsi
mov edx, 0xfffffffe
sub edx, r9d
and edx, r10d
mov word [rsp + 0x100], dx
dec rcx
mov qword [rsp + 0x108], rcx
tzcnt edx, r10d
shl rdx, 5
sub rax, rdx
movdqu xmm0, xmmword [rax - 0x20]
movdqa xmmword [rsp + 0x40], xmm0
mov rbx, qword [rax - 0x10]
test rbx, rbx
je 0x14010b97a
inc rcx
mov rdx, 0xffffffffffffffff
cmovne rdx, rcx
cmp rdx, 5
mov r14d, 4
cmovae r14, rdx
xor esi, esi
mov rcx, r14
shr rcx, 0x3a
sete cl
jne 0x14010c594
mov r15, qword [rax - 8]
mov rdi, r14
shl rdi, 5
mov sil, cl
shl rsi, 3
test rdi, rdi
je 0x14010b999
mov rcx, qword [0x1401e4bf8]
test rcx, rcx
jne 0x14010b7e0
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14010b9a5
mov rcx, rax
mov qword [0x1401e4bf8], rax
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14010b9a5
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r15
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], 1
movdqu xmm0, xmmword [rsp + 0xe8]
movups xmm1, xmmword [rsp + 0xf8]
movups xmm2, xmmword [rsp + 0x108]
movups xmm3, xmmword [rsp + 0x118]
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movdqa xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x70], xmm3
mov r8, qword [rsp + 0x60]
movzx ecx, word [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14d, 1
mov rdi, qword [rsp + 0x40]
mov r10, 0xffffffffffffffff
lea rsi, [rsp + 0xd0]
mov edx, 1
mov r15, r8
jmp 0x14010b8c2
mov rcx, rdx
shl rcx, 5
movdqa xmm0, xmmword [rsp + 0x180]
movdqu xmmword [rax + rcx], xmm0
mov qword [rax + rcx + 0x10], r12
mov qword [rax + rcx + 0x18], r13
inc rdx
mov qword [rsp + 0xe0], rdx
dec r14
mov r8, r15
mov ecx, ebp
sub r15, 1
mov qword [rsp + 0x30], rdx
jb 0x14010b98c
test cx, cx
je 0x14010b8f0
lea ebp, [rcx - 1]
and ebp, ecx
test rbx, rbx
jne 0x14010b919
jmp 0x14010b9c1
movdqa xmm0, xmmword [rdi]
pmovmskb ecx, xmm0
add rbx, 0xfffffffffffffe00
add rdi, 0x10
cmp cx, 0xffff
je 0x14010b8f0
mov r8d, 0xfffffffe
sub r8d, ecx
not ecx
mov ebp, ecx
and ebp, r8d
tzcnt r8d, ecx
shl r8, 5
mov rcx, rbx
sub rcx, r8
movups xmm0, xmmword [rcx - 0x20]
movaps xmmword [rsp + 0x180], xmm0
mov r12, qword [rcx - 0x10]
test r12, r12
je 0x14010b9b2
mov r13, qword [rcx - 8]
cmp rdx, qword [rsp + 0xd0]
jne 0x14010b890
mov r8, r15
inc r8
cmove r8, r10
mov rcx, rsi
call fcn.14014dcb0
mov r10, 0xffffffffffffffff
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0xd8]
jmp 0x14010b890
lea rcx, [rsp + 0xe8]
call fcn.140102500
jmp 0x14010c2cb
mov qword [rsp + 0x90], r14
xor r8d, r8d
jmp 0x14010b9cd
mov rax, rsi
test rax, rax
jne 0x14010b7f4
mov rcx, rdi
mov rdx, rsi
call fcn.140144b00
ud2
mov qword [rsp + 0x90], r14
mov ecx, ebp
mov r8, r15
jmp 0x14010b9cd
mov qword [rsp + 0x90], r14
mov ecx, ebp
xor ebx, ebx
mov word [rsp + 0x58], cx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x60], r8
lea rcx, [rsp + 0x40]
call fcn.140102500
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x30]
cmp rdx, 0x15
jae 0x14010ba3f
cmp rdx, 2
jb 0x14010c19d
mov r8d, 1
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
mov r14, rdx
call fcn.1400fede0
shl r14, 5
add r14, rsi
jmp 0x14010c1b5
mov rcx, qword [0x1401e4bf8]
test rcx, rcx
jne 0x14010ba69
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14010c59b
mov rcx, rax
mov qword [0x1401e4bf8], rax
mov rdx, qword [rsp + 0x30]
mov rax, rdx
shl rax, 4
movabs r8, 0x7fffffffffffffe0
and r8, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14010c59b
mov rbp, rax
mov rcx, qword [0x1401e4bf8]
test rcx, rcx
jne 0x14010bab6
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14010c5b5
mov rcx, rax
mov qword [0x1401e4bf8], rax
mov r8d, pe_nt_image_headers64
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14010c5b5
mov rbx, rax
mov rax, qword [rsp + 0x38]
lea rcx, [rax + 0x40]
mov qword [rsp + 0xb8], rcx
add rax, 0xffffffffffffffe0
mov qword [rsp + 0xc8], rax
mov eax, 0x10
mov qword [rsp + 0xc0], rax
xor r13d, r13d
xor r12d, r12d
mov rdx, qword [rsp + 0x30]
jmp 0x14010bb27
mov r12d, 1
mov r13, qword [rsp + 0x98]
cmp r13, rdx
jae 0x14010c175
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 0x14010bbb0
mov rax, rdx
mov rsi, rax
sub rsi, r13
jb 0x14010c4d8
cmp rax, rdx
ja 0x14010c4d8
jae 0x14010bbe0
cmp r8, 0xa
jae 0x14010bbe0
lea rsi, [r13 + 0xa]
cmp rsi, rdx
cmovae rsi, rdx
mov qword [rsp + 0x98], rsi
sub rsi, r13
jb 0x14010c50c
cmp r8, 2
mov eax, 1
cmovb r8, rax
mov rdx, rsi
call fcn.1400fede0
mov rdx, qword [rsp + 0x30]
cmp r12, qword [rsp + 0xc0]
je 0x14010bbf2
jmp 0x14010bc6a
mov r14, rbx
mov rax, qword [rcx]
mov rbx, qword [rcx + 0x20]
cmp rbx, rax
jae 0x14010c010
cmp r8, 2
jne 0x14010c028
lea rax, [r13 + 2]
mov r8d, 2
mov rbx, r14
jmp 0x14010c0cd
mov qword [rsp + 0x98], rax
cmp r12, qword [rsp + 0xc0]
jne 0x14010bc6a
mov rax, qword [0x1401e4bf8]
test rax, rax
jne 0x14010bc14
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14010c4f2
mov qword [0x1401e4bf8], rax
mov r8, r12
shl r8, 5
mov rcx, rax
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14010c4f2
mov rdi, rax
lea rax, [r12 + r12]
mov qword [rsp + 0xc0], rax
mov r8, r12
shl r8, 4
mov rcx, rdi
mov rdx, rbx
call fcn.140137a60
mov rcx, qword [0x1401e4bf8]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rbx, rdi
mov rdx, qword [rsp + 0x30]
mov rax, r12
shl rax, 4
mov qword [rbx + rax], rsi
mov qword [rbx + rax + 8], r13
inc r12
mov rax, r12
cmp r12, 2
mov qword [rsp + 0x80], rbx
jae 0x14010bd1a
jmp 0x14010bb16
mov rsi, r13
mov rdx, rbp
sub rdi, rdx
mov rcx, rsi
mov r8, rdi
call fcn.140137a60
mov rax, qword [rsp + 0x140]
add rax, r14
mov rcx, qword [rsp + 0x138]
mov qword [rcx], rax
mov rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x130]
mov qword [rcx], rax
lea rdx, [r15 + 0x10]
mov rax, qword [rsp + 0xa8]
not rax
mov r8, qword [rsp + 0xb0]
add r8, rax
shl r8, 4
mov rcx, r15
call fcn.140137a60
mov rax, qword [rsp + 0xa0]
cmp rax, 1
mov rdx, qword [rsp + 0x30]
jbe 0x14010bb10
mov r12, rax
lea r11, [rax - 1]
mov rcx, r11
shl rcx, 4
mov rax, qword [rbx + rcx]
mov rcx, qword [rbx + rcx + 8]
add rcx, rax
cmp rcx, rdx
je 0x14010bd90
mov r10, r12
shl r10, 4
mov r8, qword [r10 + rbx - 0x20]
cmp r8, rax
jbe 0x14010bd90
cmp r12, 3
jb 0x14010c15f
lea rsi, [r12 - 3]
mov rcx, rsi
shl rcx, 4
mov rcx, qword [rbx + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x14010bda6
cmp r12, 4
jb 0x14010c16a
add r8, rcx
cmp qword [r10 + rbx - 0x40], r8
jbe 0x14010bda6
jmp 0x14010bb16
cmp r12, 3
jb 0x14010bdab
lea rsi, [r12 - 3]
mov rcx, rsi
shl rcx, 4
mov rcx, qword [rbx + rcx]
cmp rcx, rax
jb 0x14010bdb0
lea rsi, [r12 - 2]
cmp r12, rsi
jbe 0x14010c363
lea rax, [rsi + 1]
mov qword [rsp + 0xb0], r12
cmp r12, rax
jbe 0x14010c3a9
mov r15, rbp
mov r8, rsi
shl r8, 4
mov rcx, qword [rbx + r8 + 8]
shl rax, 4
mov r9, qword [rbx + rax]
mov r12, qword [rbx + rax + 8]
add r12, r9
mov rbp, r12
sub rbp, rcx
jb 0x14010c3ef
mov qword [rsp + 0xa8], rsi
cmp r12, rdx
ja 0x14010c400
mov qword [rsp + 0x140], r9
mov qword [rsp + 0xa0], r11
lea rdx, [rbx + r8]
mov qword [rsp + 0x88], rdx
mov r14, qword [rbx + r8]
lea rdx, [rbx + rax]
mov qword [rsp + 0x138], rdx
lea rax, [rbx + rax + 8]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x148], rcx
mov rsi, rcx
shl rsi, 5
add rsi, qword [rsp + 0x38]
mov rdi, r14
shl rdi, 5
lea r13, [rsi + rdi]
shl r12, 5
mov rbx, rbp
sub rbx, r14
cmp rbx, r14
jae 0x14010bf20
mov rdi, rbx
shl rdi, 5
mov rbp, r15
mov rcx, r15
mov rdx, r13
mov r8, rdi
call fcn.140137a60
add rdi, r15
test r14, r14
jle 0x14010bfc4
test rbx, rbx
mov r15, qword [rsp + 0x88]
jle 0x14010bfcc
add r12, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x80]
nop word [rax + rax]
mov rax, qword [rdi - 0x20]
cmp rax, qword [r13 - 0x20]
jb 0x14010bee0
add rdi, 0xffffffffffffffe0
mov rax, rdi
jmp 0x14010bee7
add r13, 0xffffffffffffffe0
mov rax, r13
movdqu xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r12 + 0x10], xmm1
movdqu xmmword [r12], xmm0
cmp r13, rsi
jbe 0x14010bca0
add r12, 0xffffffffffffffe0
cmp rdi, rbp
ja 0x14010bec0
jmp 0x14010bca0
mov rbx, r15
mov rcx, r15
mov rdx, rsi
mov r8, rdi
call fcn.140137a60
add rdi, r15
test r14, r14
jle 0x14010bfdf
cmp rbp, r14
mov rbx, qword [rsp + 0x80]
jle 0x14010bffa
add r12, qword [rsp + 0x38]
mov rbp, r15
mov rdx, r15
mov r15, qword [rsp + 0x88]
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
shl rdx, 5
add rdx, r8
movdqu xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmmword [rsi + 0x10], xmm1
movdqu xmmword [rsi], xmm0
add rsi, 0x20
cmp rdx, rdi
jae 0x14010bca6
mov al, cl
shl rax, 5
add r13, rax
cmp r13, r12
jb 0x14010bf70
jmp 0x14010bca6
mov rsi, r13
mov rdx, rbp
jmp 0x14010bfe5
mov rsi, r13
mov rdx, rbp
mov rbx, qword [rsp + 0x80]
jmp 0x14010bca6
mov rbp, r15
mov rdx, r15
mov rbx, qword [rsp + 0x80]
mov r15, qword [rsp + 0x88]
jmp 0x14010bca6
mov rbp, r15
mov rdx, r15
mov r15, qword [rsp + 0x88]
jmp 0x14010bca6
cmp r8, 2
jne 0x14010c071
lea rax, [r13 + 2]
mov r8d, 2
mov rbx, r14
jmp 0x14010bb46
mov rdx, qword [rsp + 0x90]
lea r11, [rdx + r13]
add r9, qword [rsp + 0xb8]
mov r10d, 2
mov rsi, rbx
nop word cs:[rax + rax]
mov rdi, rsi
mov rsi, qword [r9]
cmp rsi, rdi
jae 0x14010c0b2
lea rdi, [r11 + r10]
inc rdi
inc r10
add r9, 0x20
cmp rdi, 2
jne 0x14010c050
jmp 0x14010c0af
mov rdx, qword [rsp + 0x90]
lea r11, [rdx + r13]
add r9, qword [rsp + 0xb8]
mov r10d, 2
mov rsi, rbx
nop
mov rdi, rsi
mov rsi, qword [r9]
cmp rsi, rdi
jb 0x14010c0b2
lea rdi, [r11 + r10]
inc rdi
inc r10
add r9, 0x20
cmp rdi, 2
jne 0x14010c090
mov r10, r8
lea rdx, [r10 + r13]
mov r8, r10
cmp rbx, rax
mov rax, rdx
mov rdx, qword [rsp + 0x30]
mov rbx, r14
jae 0x14010bb46
cmp rax, r13
jb 0x14010c525
cmp rax, rdx
ja 0x14010c539
cmp r8, 2
jb 0x14010bb46
mov r11, rax
mov rax, r8
shr rax, 1
lea r10, [r8 + r13]
shl r10, 5
add r10, qword [rsp + 0xc8]
mov r9, rcx
nop word cs:[rax + rax]
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [r10]
movups xmm1, xmmword [r10 + 0x10]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
movdqa xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [r10 + 0x10], xmm1
movdqu xmmword [r10], xmm0
add r9, 0x20
add r10, 0xffffffffffffffe0
dec rax
jne 0x14010c110
mov rax, r11
jmp 0x14010bb46
mov r12d, 2
jmp 0x14010bb16
mov r12d, 3
jmp 0x14010bb16
mov rcx, qword [0x1401e4bf8]
xor edx, edx
mov r8, rbx
mov rsi, qword [sym.imp.kernel32.dll_HeapFree]
call rsi
mov rcx, qword [0x1401e4bf8]
xor edx, edx
mov r8, rbp
call rsi
mov rdx, qword [rsp + 0x30]
mov r14, rdx
shl r14, 5
mov r15, qword [rsp + 0x38]
add r14, r15
test rdx, rdx
je 0x14010c23b
mov rax, qword [rsp + 0x38]
lea r15, [rax + 0x20]
lea rsi, [rsp + 0x40]
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14010c1ef
mov rcx, qword [0x1401e4bf8]
xor edx, edx
mov r8, rdi
call r12
lea rax, [r15 + 0x20]
cmp r15, r14
mov r15, rax
je 0x14010c2ac
mov rax, qword [r15 - 0x10]
test rax, rax
je 0x14010c23b
mov rcx, qword [r15 - 0x18]
mov rdx, qword [r15 - 8]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rdx
mov rcx, rsi
call fcn.140108a30
test rax, rax
je 0x14010c1df
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call qword [rdx]
cmp qword [rbx + 8], 0
je 0x14010c1df
cmp qword [rbx + 0x10], 0x11
jb 0x14010c1d0
mov rdi, qword [rdi - 8]
jmp 0x14010c1d0
sub r14, r15
je 0x14010c2ac
shr r14, 5
add r15, 0x18
mov rsi, qword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x14010c269
add r15, 0x20
dec r14
je 0x14010c2ac
mov rcx, qword [r15 - 0x10]
call rsi
mov rax, qword [r15 - 8]
lock dec qword [rax]
je 0x14010c290
mov rax, qword [r15]
lock dec qword [rax]
jne 0x14010c260
jmp 0x14010c2a2
mov rcx, qword [r15 - 8]
call fcn.14004bdc0
mov rax, qword [r15]
lock dec qword [rax]
jne 0x14010c260
mov rcx, qword [r15]
call fcn.140003480
jmp 0x14010c260
cmp qword [rsp + 0x128], 0
je 0x14010c2cb
mov rcx, qword [0x1401e4bf8]
xor edx, edx
mov r8, qword [rsp + 0x38]
call qword [sym.imp.kernel32.dll_HeapFree]
nop
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add rcx, 0xe8
call fcn.140149050
jmp 0x14010b0c7
add r15, 0x60
mov rcx, r15
call fcn.140148870
jmp 0x14010b18c
mov rax, qword [0x1401e4c80]
shl rax, 1
test rax, rax
je 0x14010c54a
call fcn.14014ca40
test al, al
jne 0x14010c54a
lea rcx, [rsp + 0x150]
call fcn.1401023b0
test r14, r14
je 0x14010c2cb
mov rcx, r12
call qword [sym.imp.kernel32.dll_CloseHandle]
lock dec qword [r14]
jne 0x14010c34c
mov rcx, r14
call fcn.14004bdc0
lock dec qword [rbx]
jne 0x14010c2cb
mov rcx, rbx
call fcn.140003480
jmp 0x14010c2cb
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x40], 0
lea rax, [0x1401d1ba8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 0
lea rdx, [0x1401a8698]
lea rcx, [rsp + 0x40]
call fcn.140144de0
ud2
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x40], 0
lea rax, [0x1401d1ba8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 0
lea rdx, [0x1401a86b0]
lea rcx, [rsp + 0x40]
call fcn.140144de0
ud2
lea r8, [0x1401a86c8]
mov rdx, r12
call fcn.1401450d0
ud2
lea r8, [0x1401a86c8]
mov rcx, r12
call fcn.140144eb0
ud2
lea rax, [0x1401a8418]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x40], 0
lea rax, [0x1401d1ba8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.28.2_src_synconeshot.rs
lea rcx, [rsp + 0x40]
call fcn.140144de0
ud2
lea rax, [0x1401d15c0]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_90c541806f23a127002de5b4038be731ba1458calibrary_std_src_threadlocal.rs
lea r9, [0x1401a8190]
lea r8, [rsp + 0x40]
mov edx, 0x46
call fcn.1401450e0
ud2
lea rax, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.28.2_src_runtimecontext.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401d1c23]
lea r9, [0x1401a81b0]
lea r8, [rsp + 0x40]
mov edx, 0x10
call fcn.1401450e0
ud2
lea rax, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.28.2_src_runtimepark.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x1401a9570]
lea r8, [rsp + 0x40]
mov edx, 0x2b
call fcn.1401450e0
ud2
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, [0x1401a8758]
mov edx, 0x2c
call fcn.140144ec0
ud2
lea rcx, [0x1401d1846]
lea r8, [0x1401a8710]
mov edx, 0x2b
call fcn.140144ec0
ud2
lea r8, [0x1401a8770]
mov rcx, r13
mov rdx, qword [rsp + 0x98]
call fcn.1401450d0
ud2
lea r8, [0x1401a8680]
mov rcx, r13
mov rdx, rax
call fcn.1401450d0
ud2
lea r8, [0x1401a8680]
mov rcx, rax
call fcn.140144eb0
ud2
lea rax, [0x1401aac78]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x40], 0
lea rax, [0x1401d1ba8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.28.2_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 + 0x40]
call fcn.140144de0
ud2
ud2
call fcn.1400048d0
ud2
lea rcx, [0x1401d1846]
lea r8, [0x1401a86e0]
mov edx, 0x2b
call fcn.140144ec0
ud2
lea rcx, [0x1401d1846]
lea r8, [0x1401a86f8]
mov edx, 0x2b
call fcn.140144ec0
ud2