Function at 0x180045d80
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 0x180045db5
cmp qword [rdi], 0
je 0x1800460cb
mov r13, qword [rdi + 8]
jmp 0x1800460d3
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.180043340
mov r14, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x228]
cmp r14, 2
je 0x180046137
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x98]
mov r8d, 0xb8
call fcn.18008d9a0
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.18008d9a0
mov rdx, qword [rdi + 0x50]
mov rcx, rdi
call fcn.1800486f0
lock inc qword [rax]
jle 0x180046768
mov r9, rax
mov qword [rsp + 0x58], rdx
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x1800466fb
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 0x180046712
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x180046736
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 0x18004674d
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 0x180045fbd
lock inc qword [rax]
jle 0x180046768
movups xmm1, xmmword [rdi + 0x78]
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x180045fda
lock inc qword [rax]
jle 0x180046768
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.18004d910
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 0x1800466a0
call fcn.18003ff70
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.180043340
mov r14, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x228]
cmp r14, 2
jne 0x180046147
mov qword [rsi + 8], rbx
mov qword [rsi], 2
jmp 0x1800466a0
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x98]
mov r8d, 0xb8
call fcn.18008d9a0
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.18008d9a0
mov rdx, qword [rdi + 0x50]
add rdx, r13
mov rcx, rdi
call fcn.1800486f0
lock inc qword [rax]
jle 0x180046768
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 0x1800466b7
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 0x1800466c8
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x58], r15
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x1800466d9
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 0x1800466ea
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 0x18004630c
lock inc qword [rax]
jle 0x180046768
movups xmm1, xmmword [rdi + 0x78]
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x180046329
lock inc qword [rax]
jle 0x180046768
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 [0x1800b4b10]
mov ecx, 0x58
mov edx, 8
call fcn.180034a30
test rax, rax
je 0x18004676a
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 [0x1800b4b10]
mov ecx, 0x30
mov edx, 8
call fcn.180034a30
test rax, rax
lea rcx, [rsp + 0x98]
je 0x180046779
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.18004f760
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 [0x1800b4bec]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x68]
test rax, rax
je 0x1800464c4
cmp eax, 1
je 0x1800464f1
jmp 0x180046768
mov eax, dword [0x1800b4bec]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
lea rcx, [rbx + 0x18]
lea rdx, [0x18003f050]
call fcn.180059c50
mov byte [rbx + 0x68], 1
mov eax, dword [0x1800b4bec]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x18], 0
jne 0x180046788
mov eax, dword [0x1800b4bec]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x18], 0xffffffffffffffff
lock inc qword [rdi]
jle 0x180046768
mov eax, dword [0x1800b4bec]
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 0x180046768
lea r12, [r15 + 1]
mov eax, dword [0x1800b4bec]
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.180050040
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.18003f090
test rax, rax
je 0x180046768
mov rdi, rax
cmp qword [rax + 0x18], r12
jne 0x180046768
mov qword [rsp + 0x98], 2
cmp qword [rdi], 0
jne 0x180046794
mov qword [rdi], 0xffffffffffffffff
mov rax, qword [rdi + 8]
cmp rax, 2
je 0x18004664e
mov rcx, rdi
add rcx, 0x10
test rax, rax
je 0x180046640
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x18004664e
call fcn.180044ad0
jmp 0x18004664e
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x18004664e
call fcn.180044eb0
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 0x1800466a0
lea rcx, [rsp + 0xa0]
test rax, rax
je 0x18004668d
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x1800466a0
call fcn.180044ad0
jmp 0x1800466a0
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x1800466a0
call fcn.180044eb0
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.180092bc0
jmp 0x1800461f0
lea rcx, [rdi + 0xa4]
call fcn.180092c80
jmp 0x180046252
lea rcx, [rdi + 0xa4]
call fcn.180092bc0
jmp 0x180046271
lea rcx, [rdi + 0xa4]
call fcn.180092c80
jmp 0x1800462d3
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.180092bc0
mov r9, rbx
jmp 0x180045eb5
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.180092c80
mov r9, rbx
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
je 0x180045f29
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.180092bc0
mov r9, rbx
jmp 0x180045f29
lea rcx, [rdi + 0xa4]
mov qword [rsp + 0x50], r9
call fcn.180092c80
mov r9, qword [rsp + 0x50]
jmp 0x180045f88
ud2
mov ecx, 8
mov edx, 0x58
call fcn.180040620
mov ecx, 8
mov edx, 0x30
call fcn.180040620
lea rcx, [0x180098f98]
call fcn.180040620
lea rcx, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.39.2_src_runtimecontextcurrent.rs
call fcn.180040620
int3