Function at 0x140065010
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2e8
mov rdi, rdx
mov rsi, rcx
cmp byte [rdx + 0xb0], 0
je 0x140065045
cmp qword [rdi], 0
je 0x14006535b
mov r13, qword [rdi + 8]
jmp 0x140065363
movzx eax, word [rdi + 0xb1]
movzx ecx, byte [rdi + 0xb3]
mov rdx, qword [rdi + 0x48]
mov word [rsp + 0x70], ax
mov byte [rsp + 0x72], 1
mov byte [rsp + 0x73], cl
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], 1
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x60]
call fcn.1400624a0
mov r14, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x228]
cmp r14, 2
je 0x1400653c7
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x98]
mov r8d, 0xb8
call fcn.1400ae6d0
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], rbx
movups xmm0, xmmword [rsp + 0x98]
movups xmm1, xmmword [rsp + 0xa8]
movups xmm2, xmmword [rsp + 0xb8]
movups xmmword [rsp + 0x160], xmm0
movups xmmword [rsp + 0x170], xmm1
movups xmmword [rsp + 0x180], xmm2
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x190]
mov r8d, 0x88
call fcn.1400ae6d0
mov rdx, qword [rdi + 0x50]
mov rcx, rdi
call fcn.140067980
lock inc qword [rax]
jle 0x1400659f8
mov r9, rax
mov qword [rsp + 0x58], rdx
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x14006598b
mov eax, dword [rdi + 0xa8]
mov ebp, dword [rdi + 0xac]
mov r12d, eax
shl r12d, 0x11
xor r12d, eax
mov eax, ebp
shr eax, 0x10
xor eax, ebp
xor eax, r12d
shr r12d, 7
xor r12d, eax
mov eax, ebp
shl eax, 0x11
xor eax, ebp
mov r13d, eax
shr r13d, 7
mov ecx, r12d
shr ecx, 0x10
xor r13d, eax
xor r13d, r12d
xor r13d, ecx
mov dword [rdi + 0xa8], r12d
mov dword [rdi + 0xac], r13d
xor eax, eax
xchg byte [rdi + 0xa4], al
cmp al, 2
je 0x1400659a2
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x1400659c6
mov eax, dword [rdi + 0xa8]
mov r15d, dword [rdi + 0xac]
mov ebx, eax
shl ebx, 0x11
xor ebx, eax
mov eax, r15d
shr eax, 0x10
xor eax, r15d
xor eax, ebx
shr ebx, 7
xor ebx, eax
mov eax, r15d
shl eax, 0x11
xor eax, r15d
mov r14d, eax
shr r14d, 7
mov ecx, ebx
shr ecx, 0x10
xor r14d, eax
xor r14d, ebx
xor r14d, ecx
mov dword [rdi + 0xa8], ebx
mov dword [rdi + 0xac], r14d
xor eax, eax
xchg byte [rdi + 0xa4], al
cmp al, 2
je 0x1400659dd
add r14d, ebx
add r15d, ebx
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], r14d
mov rax, qword [rdi + 0x78]
xorps xmm0, xmm0
xorps xmm1, xmm1
test rax, rax
je 0x14006524d
lock inc qword [rax]
jle 0x1400659f8
movups xmm1, xmmword [rdi + 0x78]
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x14006526a
lock inc qword [rax]
jle 0x1400659f8
movups xmm0, xmmword [rdi + 0x88]
add r13d, r12d
add ebp, r12d
mov eax, dword [rdi + 0xa0]
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x98]
movzx r8d, word [rdi + 0xb4]
mov qword [rsp + 0x220], rcx
mov dword [rsp + 0x250], eax
mov qword [rsp + 0x228], rdx
movups xmmword [rsp + 0x230], xmm1
movups xmmword [rsp + 0x240], xmm0
mov word [rsp + 0x260], r8w
mov dword [rsp + 0x254], 0
mov dword [rsp + 0x258], ebp
mov dword [rsp + 0x25c], r13d
lea rax, [rsp + 0x220]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x98]
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x190]
mov rdi, r9
call fcn.14006eab0
mov rax, qword [rsp + 0xb8]
mov qword [rsi + 0x28], rax
movups xmm0, xmmword [rsp + 0x98]
movups xmm1, xmmword [rsp + 0xa8]
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsi], 0
mov qword [rsi + 0x30], 0
mov qword [rsi + 0x38], rax
mov qword [rsi + 0x40], rdi
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x48], rax
jmp 0x140065930
call fcn.14005f0d0
mov r13, rax
movzx eax, word [rdi + 0xb1]
movzx ecx, byte [rdi + 0xb3]
mov rdx, qword [rdi + 0x48]
mov word [rsp + 0x1a0], ax
mov byte [rsp + 0x1a2], 0
mov byte [rsp + 0x1a3], cl
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x198], r13
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x190]
call fcn.1400624a0
mov r14, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x228]
cmp r14, 2
jne 0x1400653d7
mov qword [rsi + 8], rbx
mov qword [rsi], 2
jmp 0x140065930
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x98]
mov r8d, 0xb8
call fcn.1400ae6d0
movups xmm0, xmmword [rsp + 0x98]
movups xmm1, xmmword [rsp + 0xa8]
movups xmm2, xmmword [rsp + 0xb8]
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x1a0], xmm1
movaps xmmword [rsp + 0x1b0], xmm2
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x220]
mov r8d, 0x88
call fcn.1400ae6d0
mov rdx, qword [rdi + 0x50]
add rdx, r13
mov rcx, rdi
call fcn.140067980
lock inc qword [rax]
jle 0x1400659f8
mov r15, rax
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x80], rdx
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x140065947
mov eax, dword [rdi + 0xa8]
mov r12d, dword [rdi + 0xac]
mov r14d, eax
shl r14d, 0x11
xor r14d, eax
mov eax, r12d
shr eax, 0x10
xor eax, r12d
xor eax, r14d
shr r14d, 7
xor r14d, eax
mov eax, r12d
shl eax, 0x11
xor eax, r12d
mov ebx, eax
shr ebx, 7
mov ecx, r14d
shr ecx, 0x10
xor ebx, eax
xor ebx, r14d
xor ebx, ecx
mov dword [rdi + 0xa8], r14d
mov dword [rdi + 0xac], ebx
xor eax, eax
xchg byte [rdi + 0xa4], al
cmp al, 2
je 0x140065958
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x58], r15
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x140065969
mov eax, dword [rdi + 0xa8]
mov r13d, dword [rdi + 0xac]
mov r15d, eax
shl r15d, 0x11
xor r15d, eax
mov eax, r13d
shr eax, 0x10
xor eax, r13d
xor eax, r15d
shr r15d, 7
xor r15d, eax
mov eax, r13d
shl eax, 0x11
xor eax, r13d
mov ebp, eax
shr ebp, 7
mov ecx, r15d
shr ecx, 0x10
xor ebp, eax
xor ebp, r15d
xor ebp, ecx
mov dword [rdi + 0xa8], r15d
mov dword [rdi + 0xac], ebp
xor eax, eax
xchg byte [rdi + 0xa4], al
cmp al, 2
je 0x14006597a
add ebp, r15d
add r13d, r15d
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x4c], ebp
mov rax, qword [rdi + 0x78]
xorps xmm0, xmm0
xorps xmm1, xmm1
test rax, rax
mov r13, qword [rsp + 0x58]
je 0x14006559c
lock inc qword [rax]
jle 0x1400659f8
movups xmm1, xmmword [rdi + 0x78]
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x1400655b9
lock inc qword [rax]
jle 0x1400659f8
movups xmm0, xmmword [rdi + 0x88]
add ebx, r14d
add r12d, r14d
mov eax, dword [rdi + 0xa0]
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x98]
movzx r8d, word [rdi + 0xb4]
mov qword [rsp + 0x98], rcx
mov dword [rsp + 0xc8], eax
mov qword [rsp + 0xa0], rdx
movups xmmword [rsp + 0xa8], xmm1
movups xmmword [rsp + 0xb8], xmm0
mov word [rsp + 0xd8], r8w
mov dword [rsp + 0xcc], 0
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0xd4], ebx
movzx eax, byte [0x1400d7030]
mov ecx, 0x58
mov edx, 8
call fcn.1400541c0
test rax, rax
je 0x1400659fa
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov rax, qword [rsp + 0x90]
mov qword [rdi + 0x10], rax
mov rax, qword [rsp + 0x50]
mov qword [rdi + 0x18], rax
movaps xmm0, xmmword [rsp + 0x190]
movaps xmm1, xmmword [rsp + 0x1a0]
movaps xmm2, xmmword [rsp + 0x1b0]
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm1
movups xmmword [rdi + 0x40], xmm2
mov byte [rdi + 0x50], 0
movzx eax, byte [0x1400d7030]
mov ecx, 0x30
mov edx, 8
call fcn.1400541c0
test rax, rax
lea rcx, [rsp + 0x98]
je 0x140065a09
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], rdi
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
mov byte [rax + 0x28], 0
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x44]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x150]
lea r9, [rsp + 0x220]
mov rdx, qword [rsp + 0x88]
mov r8, rax
call fcn.14006b150
mov rdi, qword [rsp + 0x150]
movups xmm0, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x70], rax
mov eax, dword [0x1400d7110]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x68]
test rax, rax
je 0x140065754
cmp eax, 1
je 0x140065781
jmp 0x1400659f8
mov eax, dword [0x1400d7110]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
lea rcx, [rbx + 0x18]
lea rdx, [0x14005e1b0]
call fcn.140078ee0
mov byte [rbx + 0x68], 1
mov eax, dword [0x1400d7110]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x18], 0
jne 0x140065a18
mov eax, dword [0x1400d7110]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x18], 0xffffffffffffffff
lock inc qword [rdi]
jle 0x1400659f8
mov eax, dword [0x1400d7110]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0x20]
mov r14, qword [rax + 0x28]
mov qword [rax + 0x20], 1
mov qword [rax + 0x28], rdi
inc qword [rax + 0x18]
mov r15, qword [rax + 0x30]
cmp r15, 0xffffffffffffffff
je 0x1400659f8
lea r12, [r15 + 1]
mov eax, dword [0x1400d7110]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x30], r12
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], r12
lea rcx, [rsp + 0x60]
call fcn.14006ba30
mov qword [rsi], 1
mov qword [rsi + 0x30], 1
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x40], r13
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x48], rax
xor ecx, ecx
call fcn.14005e1f0
test rax, rax
je 0x1400659f8
mov rdi, rax
cmp qword [rax + 0x18], r12
jne 0x1400659f8
mov qword [rsp + 0x98], 2
cmp qword [rdi], 0
jne 0x140065a24
mov qword [rdi], 0xffffffffffffffff
mov rax, qword [rdi + 8]
cmp rax, 2
je 0x1400658de
mov rcx, rdi
add rcx, 0x10
test rax, rax
je 0x1400658d0
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x1400658de
call fcn.140063d10
jmp 0x1400658de
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x1400658de
call fcn.140064140
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r14
inc qword [rdi]
mov qword [rdi + 0x18], r15
mov rax, qword [rsp + 0x98]
cmp rax, 2
je 0x140065930
lea rcx, [rsp + 0xa0]
test rax, rax
je 0x14006591d
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x140065930
call fcn.140063d10
jmp 0x140065930
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x140065930
call fcn.140064140
mov rax, rsi
add rsp, 0x2e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rdi + 0xa4]
call fcn.1400b23a0
jmp 0x140065480
lea rcx, [rdi + 0xa4]
call fcn.1400b2460
jmp 0x1400654e2
lea rcx, [rdi + 0xa4]
call fcn.1400b23a0
jmp 0x140065501
lea rcx, [rdi + 0xa4]
call fcn.1400b2460
jmp 0x140065563
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.1400b23a0
mov r9, rbx
jmp 0x140065145
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.1400b2460
mov r9, rbx
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
je 0x1400651b9
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.1400b23a0
mov r9, rbx
jmp 0x1400651b9
lea rcx, [rdi + 0xa4]
mov qword [rsp + 0x50], r9
call fcn.1400b2460
mov r9, qword [rsp + 0x50]
jmp 0x140065218
ud2
mov ecx, 8
mov edx, 0x58
call fcn.14005f780
mov ecx, 8
mov edx, 0x30
call fcn.14005f780
lea rcx, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.39.2_src_runtimecontextcurrent.rs
call fcn.14005f780
lea rcx, [0x1400b94d8]
call fcn.14005f780
int3