Function at 0x180191550
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 0x180191585
cmp qword [rdi], 0
je 0x18019189b
mov r13, qword [rdi + 8]
jmp 0x1801918a3
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.1801938a0
mov r14, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x228]
cmp r14, 2
je 0x180191907
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x98]
mov r8d, 0xb8
call fcn.1801f0cd0
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.1801f0cd0
mov rdx, qword [rdi + 0x50]
mov rcx, rdi
call fcn.180194f20
lock inc qword [rax]
jle 0x180191f38
mov r9, rax
mov qword [rsp + 0x58], rdx
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x180191ecb
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 0x180191ee2
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x180191f06
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 0x180191f1d
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 0x18019178d
lock inc qword [rax]
jle 0x180191f38
movups xmm1, xmmword [rdi + 0x78]
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x1801917aa
lock inc qword [rax]
jle 0x180191f38
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.18019a020
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 0x180191e70
call fcn.18018d3a0
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.1801938a0
mov r14, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x228]
cmp r14, 2
jne 0x180191917
mov qword [rsi + 8], rbx
mov qword [rsi], 2
jmp 0x180191e70
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x98]
mov r8d, 0xb8
call fcn.1801f0cd0
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.1801f0cd0
mov rdx, qword [rdi + 0x50]
add rdx, r13
mov rcx, rdi
call fcn.180194f20
lock inc qword [rax]
jle 0x180191f38
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 0x180191e87
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 0x180191e98
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x58], r15
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x180191ea9
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 0x180191eba
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 0x180191adc
lock inc qword [rax]
jle 0x180191f38
movups xmm1, xmmword [rdi + 0x78]
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x180191af9
lock inc qword [rax]
jle 0x180191f38
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 [0x180281288]
mov ecx, 0x58
mov edx, 8
call fcn.180057670
test rax, rax
je 0x180191f3a
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 [0x180281288]
mov ecx, 0x30
mov edx, 8
call fcn.180057670
test rax, rax
lea rcx, [rsp + 0x98]
je 0x180191f49
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.18019da80
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 [0x18028152c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0xd8]
test rax, rax
je 0x180191c94
cmp eax, 1
je 0x180191cc1
jmp 0x180191f38
mov eax, dword [0x18028152c]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
lea rcx, [rbx + 0x88]
lea rdx, [0x18018c280]
call fcn.1801b0bf0
mov byte [rbx + 0xd8], 1
mov eax, dword [0x18028152c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x88], 0
jne 0x180191f58
mov eax, dword [0x18028152c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x88], 0xffffffffffffffff
lock inc qword [rdi]
jle 0x180191f38
mov eax, dword [0x18028152c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0x90]
mov r14, qword [rax + 0x98]
mov qword [rax + 0x90], 1
mov qword [rax + 0x98], rdi
inc qword [rax + 0x88]
mov r15, qword [rax + 0xa0]
cmp r15, 0xffffffffffffffff
je 0x180191f38
lea r12, [r15 + 1]
mov eax, dword [0x18028152c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0xa0], r12
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], r12
lea rcx, [rsp + 0x60]
call fcn.18019e360
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.18018c2c0
test rax, rax
je 0x180191f38
mov rdi, rax
cmp qword [rax + 0x18], r12
jne 0x180191f38
mov qword [rsp + 0x98], 2
cmp qword [rdi], 0
jne 0x180191f64
mov qword [rdi], 0xffffffffffffffff
mov rax, qword [rdi + 8]
cmp rax, 2
je 0x180191e1e
mov rcx, rdi
add rcx, 0x10
test rax, rax
je 0x180191e10
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x180191e1e
call fcn.180190530
jmp 0x180191e1e
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x180191e1e
call fcn.18018fe90
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 0x180191e70
lea rcx, [rsp + 0xa0]
test rax, rax
je 0x180191e5d
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x180191e70
call fcn.180190530
jmp 0x180191e70
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x180191e70
call fcn.18018fe90
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.1801fdc90
jmp 0x1801919c0
lea rcx, [rdi + 0xa4]
call fcn.1801fdd50
jmp 0x180191a22
lea rcx, [rdi + 0xa4]
call fcn.1801fdc90
jmp 0x180191a41
lea rcx, [rdi + 0xa4]
call fcn.1801fdd50
jmp 0x180191aa3
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.1801fdc90
mov r9, rbx
jmp 0x180191685
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.1801fdd50
mov r9, rbx
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
je 0x1801916f9
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.1801fdc90
mov r9, rbx
jmp 0x1801916f9
lea rcx, [rdi + 0xa4]
mov qword [rsp + 0x50], r9
call fcn.1801fdd50
mov r9, qword [rsp + 0x50]
jmp 0x180191758
ud2
mov ecx, 8
mov edx, 0x58
call fcn.18018dc30
mov ecx, 8
mov edx, 0x30
call fcn.18018dc30
lea rcx, [0x1802600c0]
call fcn.18018dc30
lea rcx, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.39.2_src_runtimecontextcurrent.rs
call fcn.18018dc30
int3