Function at 0x140016890
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1c8
movapd xmmword [rsp + 0x1b0], xmm12
movapd xmmword [rsp + 0x1a0], xmm11
movapd xmmword [rsp + 0x190], xmm10
movapd xmmword [rsp + 0x180], xmm9
movdqa xmmword [rsp + 0x170], xmm8
movapd xmmword [rsp + 0x160], xmm7
movapd xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0x80], rcx
xor esi, esi
xchg qword [rcx + 0x20], rsi
test rsi, rsi
je 0x1400169fc
mov rax, qword [rsp + 0x80]
mov r15, qword [rax + 0x10]
lock inc qword [r15]
jle 0x140018197
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0x98], 1
mov r14, qword [rsp + 0x80]
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x68]
cmp eax, 1
je 0x140016984
test eax, eax
jne 0x140018262
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rdi, qword [rcx + rax*8]
lea rcx, [rdi + 0x18]
lea rdx, [0x140014c80]
call fcn.140027e10
mov byte [rdi + 0x68], 1
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x66], 2
jne 0x1400181b1
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov r12, qword [rcx + rax*8]
mov byte [r12 + 0x66], 1
lea rcx, [r15 + 0x1f8]
call fcn.1400137d0
mov edi, eax
mov ebx, edx
cmp dword [r12 + 0x58], 0
je 0x140016a20
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov edx, dword [rax + 0x60]
mov eax, dword [rax + 0x5c]
jmp 0x140016a25
mov rax, qword [rsp + 0x80]
lock dec qword [rax]
jne 0x140017fe8
lea rcx, [rsp + 0x80]
call fcn.14000f2b0
jmp 0x140017fe8
call fcn.14000fbe0
mov ecx, dword [0x14004a290]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
mov dword [rcx + 0x58], 1
mov dword [rcx + 0x5c], edi
mov dword [rcx + 0x60], ebx
cmp qword [rcx + 0x18], 0
jne 0x1400181eb
mov ecx, dword [0x14004a290]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
mov qword [rcx + 0x18], 0xffffffffffffffff
lock inc qword [r15]
jle 0x140018197
mov ecx, dword [0x14004a290]
mov r8, qword gs:[0x58]
mov r9, qword [r8 + rcx*8]
mov rcx, qword [r9 + 0x20]
mov r8, qword [r9 + 0x28]
mov qword [r9 + 0x20], 1
mov qword [r9 + 0x28], r15
inc qword [r9 + 0x18]
mov r9, qword [r9 + 0x30]
cmp r9, 0xffffffffffffffff
je 0x1400181f7
inc r9
mov r10d, dword [0x14004a290]
mov r11, qword gs:[0x58]
mov r10, qword [r11 + r10*8]
mov qword [r10 + 0x30], r9
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xb8], r9
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xc4], edx
mov qword [rsp + 0x48], r14
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x50], xmm0
movupd xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 8
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x40], 1
lea rdi, [rsp + 0x40]
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x148], rsi
movzx eax, byte [r10 + 0x68]
test eax, eax
je 0x140016ba0
cmp eax, 1
jne 0x140018255
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x50]
mov qword [rsp + 0x90], rcx
mov qword [rax + 0x50], rdi
jmp 0x140016bf4
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
lea rcx, [rbx + 0x18]
lea rdx, [0x140014c80]
call fcn.140027e10
mov byte [rbx + 0x68], 1
mov rax, qword [rbx + 0x50]
mov qword [rbx + 0x50], rdi
cmp qword [rsp + 0x40], 0
je 0x14001828e
mov qword [rsp + 0x90], rax
mov r14, qword [rsp + 0x48]
mov rax, qword [r14 + 0x10]
movzx eax, byte [rax + 0x5c]
xor al, 1
mov byte [rsi + 0x48], al
call fcn.140022e50
mov qword [rsi + 0x30], rax
mov dword [rsi + 0x38], edx
mov qword [rsi + 0x20], 0
cmp byte [rsi + 0x4a], 0
je 0x140017246
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x10]
mov edx, dword [rcx + 0x88]
add rcx, 0x70
inc edx
mov eax, dword [rsi + 0x10]
mov r8d, dword [rsi + 0x14]
mov r9d, eax
shl r9d, 0x11
xor r9d, eax
mov eax, r8d
shr eax, 0x10
xor eax, r8d
xor eax, r9d
shr r9d, 7
xor r9d, eax
mov dword [rsi + 0x10], r8d
mov dword [rsi + 0x14], r9d
add r9d, r8d
imul rdx, r9
shr rdx, 0x20
call fcn.14001b1c0
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
mov rdx, qword [rax + 0xa8]
cmp rcx, rdx
jae 0x1400180cc
mov rax, qword [rsp + 0x48]
mov rbp, qword [rax + 0x10]
lea rdi, [rbp + 0x108]
mov rcx, rdi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rbx, qword [0x14004a068]
mov rax, qword [rbx]
shl rax, 1
test rax, rax
jne 0x140018039
xor r14d, r14d
movzx eax, byte [rbp + 0x110]
mov rdx, qword [rbp + 0x128]
cmp rdx, qword [rbp + 0x118]
jne 0x140016ce4
lea rcx, [rbp + 0x118]
call fcn.14000c8b0
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x120]
mov qword [rax + rdx*8], rsi
mov rax, qword [rbp + 0x128]
inc rax
mov qword [rbp + 0x128], rax
cmp rax, qword [rbp + 0x68]
jne 0x140016f34
mov dword [rsp + 0x88], r14d
mov qword [rsp + 0xf8], rdi
mov qword [rbp + 0x128], 0
test rax, rax
je 0x140016f51
mov r14, qword [rbp + 0x120]
lea rdi, [r14 + rax*8]
lea rax, [rbp + 0x130]
mov qword [rsp + 0x108], rax
lea rax, [rbp + 0x190]
mov qword [rsp + 0x100], rax
mov bl, 1
lea r12, [rsp + 0x28]
movabs r15, 0xffffffff00000000
jmp 0x140016d81
mov rcx, r12
call fcn.1400141a0
cmp r14, rdi
je 0x140016f51
mov r13, qword [r14]
mov qword [rsp + 0x28], r13
mov rax, qword [r13 + 8]
mov qword [r13 + 8], 0
test rax, rax
je 0x14001813c
add r14, 8
mov qword [rsp + 0x30], rax
nop word [rax + rax]
mov rcx, qword [r13]
mov qword [r13], 0
test rcx, rcx
jne 0x140016e65
mov rdx, qword [r13 + 0x18]
mov rax, qword [rdx + 0x18]
mov r8, rax
shr r8, 0x20
mov dword [rsp + 0x3c], r8d
mov ecx, dword [rdx + 0x20]
cmp ecx, eax
je 0x140016ea0
mov rcx, rax
jmp 0x140016e24
mov eax, r9d
mov r8, rax
shl r8, 0x20
or r8, rax
mov rax, rcx
lock cmpxchg qword [rdx + 0x18], r8
je 0x140016e55
mov r8, rax
shr r8, 0x20
mov dword [rsp + 0x3c], r8d
mov r9d, dword [rdx + 0x20]
mov rcx, rax
cmp r9d, eax
je 0x140016ea0
lea r9d, [rax + 1]
mov dword [rsp + 0x8c], r9d
cmp r8d, eax
je 0x140016df0
cmp r9d, r8d
je 0x1400180f0
mov eax, r9d
mov r8, rcx
and r8, r15
or r8, rax
mov rax, rcx
lock cmpxchg qword [rdx + 0x18], r8
jne 0x140016e08
movzx eax, cl
mov rcx, qword [rdx + 0x10]
mov rcx, qword [rcx + rax*8]
test rcx, rcx
je 0x140016ea0
mov rax, 0xffffffffffffffc0
lock xadd qword [rcx], rax
cmp rax, 0x3f
jbe 0x140018124
and rax, 0xffffffffffffffc0
cmp rax, 0x40
jne 0x140016db0
mov rax, qword [rcx + 0x10]
call qword [rax + 0x10]
jmp 0x140016db0
mov r13, qword [rsp + 0x30]
mov rsi, qword [r13 + 0x10]
xor eax, eax
lock cmpxchg byte [rsi + 0x50], bl
jne 0x140016eec
cmp qword [rsi + 0x10], 0
je 0x140016ecc
lea rcx, [rsi + 0x18]
mov rdx, qword [rsp + 0x108]
call fcn.140010ab0
jmp 0x140016ee7
cmp dword [rbp + 0x1e8], 0x3b9aca00
je 0x140018199
movzx eax, byte [rbp + 0x1d8]
test al, al
je 0x140016f16
xor eax, eax
xchg byte [rsi + 0x50], al
add r13, 0x30
mov rcx, r13
call sub.kernel32.dll_WakeAllConditionVariable
mov rax, qword [rsp + 0x30]
lock dec qword [rax]
jne 0x140016d70
lea rcx, [rsp + 0x30]
call fcn.14000f650
jmp 0x140016d70
mov al, 1
xchg byte [rbp + 0x1d8], al
mov rcx, qword [rsp + 0x100]
mov rdx, 0xffffffffffffffff
call fcn.14001a940
jmp 0x140016eb9
test r14b, r14b
jne 0x1400170aa
mov rax, qword [rbx]
shl rax, 1
test rax, rax
je 0x1400170aa
jmp 0x140018065
mov rax, qword [rbp + 0xb0]
test rax, rax
mov r15, qword [0x14004a068]
je 0x140017089
lea rsi, [rbp + 0xc8]
mov rdi, qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rbx, qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
jmp 0x140016f90
mov rax, qword [rbp + 0xb0]
test rax, rax
je 0x140017089
mov rcx, rsi
call rdi
mov rax, qword [r15]
shl rax, 1
test rax, rax
jne 0x14001707d
xor eax, eax
movzx ecx, byte [rbp + 0xd0]
mov rcx, qword [rbp + 0xb0]
xor edx, edx
test rcx, rcx
setne dl
mov r8, rcx
sub r8, rdx
mov qword [rbp + 0xb0], r8
test rcx, rcx
je 0x140017000
mov r14, qword [rbp + 0xf0]
test r14, r14
je 0x140017000
mov rcx, qword [r14 + 8]
mov qword [rbp + 0xf0], rcx
test rcx, rcx
je 0x140017024
mov qword [r14 + 8], 0
test al, al
jne 0x140017040
jmp 0x140017007
xor r14d, r14d
test al, al
jne 0x140017040
mov rax, qword [r15]
shl rax, 1
test rax, rax
je 0x140017040
call fcn.140038370
test al, al
jne 0x140017040
mov byte [rbp + 0xd0], 1
jmp 0x140017040
mov qword [rbp + 0xf8], 0
mov qword [r14 + 8], 0
test al, al
je 0x140017007
nop dword [rax + rax]
mov rcx, rsi
call rbx
test r14, r14
je 0x140017089
mov rax, 0xffffffffffffffc0
lock xadd qword [r14], rax
cmp rax, 0x3f
jbe 0x140018124
and rax, 0xffffffffffffffc0
cmp rax, 0x40
jne 0x140016f80
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [rax + 0x10]
jmp 0x140016f80
call fcn.140038370
xor al, 1
jmp 0x140016fa6
cmp byte [rsp + 0x88], 0
mov rdi, qword [rsp + 0xf8]
jne 0x1400170aa
mov rax, qword [r15]
shl rax, 1
test rax, rax
jne 0x140018065
mov rcx, rdi
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
cmp qword [rsp + 0x60], 0
jne 0x140017107
lea rsi, [rsp + 0xa0]
lea rdi, [rsp + 0xb0]
nop dword [rax + rax]
mov qword [rsp + 0x60], 0xffffffffffffffff
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140017113
dec rax
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x70]
shl rax, 4
mov rdx, qword [rcx + rax]
mov rcx, qword [rcx + rax + 8]
call qword [rdx + 8]
inc qword [rsp + 0x60]
je 0x1400170d0
lea rcx, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulerdefer.rs
call fcn.1400388a0
mov qword [rsp + 0x60], 0
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
mov rax, qword [rsp + 0x90]
mov qword [rbx + 0x50], rax
lea rcx, [rsp + 0x40]
call fcn.140013fe0
movsd xmm6, qword [rsp + 0xc0]
movzx eax, byte [rbx + 0x68]
cmp eax, 1
je 0x140017192
test eax, eax
jne 0x140018262
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
lea rcx, [rbx + 0x18]
lea rdx, [0x140014c80]
call fcn.140027e10
mov byte [rbx + 0x68], 1
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x66], 2
je 0x140018231
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x66], 2
cmp dword [rax + 0x58], 0
jne 0x1400171da
call fcn.14000fbe0
mov eax, dword [0x14004a290]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov dword [rax + 0x58], 1
movlpd qword [rax + 0x5c], xmm6
lea rcx, [rsp + 0xa8]
call fcn.140014930
mov rax, qword [rsp + 0xa8]
cmp rax, 2
je 0x140017faf
test rax, rax
je 0x140017f99
mov rax, qword [rsp + 0xb0]
lock dec qword [rax]
jne 0x140017faf
mov rcx, rdi
call fcn.14000f4c0
jmp 0x140017faf
lea rbp, [rsp + 0x48]
movdqa xmm8, xmmword [0x14003d950]
movapd xmm9, xmmword [0x14003d960]
movsd xmm6, qword [0x14003d970]
movsd xmm10, qword [0x14003d978]
movsd xmm11, qword [0x14003d980]
movsd xmm12, qword [0x14003d988]
movabs r14, 0xffffffff00000000
nop word [rax + rax]
mov eax, dword [rsi + 0x40]
inc eax
mov dword [rsi + 0x40], eax
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x10]
mov ecx, dword [rcx + 0x58]
test ecx, ecx
je 0x140018090
xor edx, edx
div ecx
test edx, edx
jne 0x1400173b5
mov rdi, qword [rsi + 0x20]
test rdi, rdi
je 0x14001735a
call fcn.140022e50
mov r8, qword [rsi + 0x30]
mov r9d, dword [rsi + 0x38]
mov rcx, rax
call fcn.1400231d0
mov ecx, edx
mov edx, 0x3b9aca00
mul rdx
mov ecx, ecx
add rcx, rax
adc rdx, 0
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rdx
lea rcx, [rsp + 0x120]
call fcn.140036700
movapd xmm7, xmm0
movq xmm0, rdi
punpckldq xmm0, xmm8
subpd xmm0, xmm9
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
divsd xmm7, xmm1
movapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movapd xmm1, xmm10
subsd xmm1, xmm0
mulsd xmm7, xmm1
movapd xmm0, xmm10
subsd xmm0, xmm1
mulsd xmm0, qword [rsi + 0x28]
addsd xmm0, xmm7
movsd qword [rsi + 0x28], xmm0
mov rcx, rbp
mov rdx, rsi
xor r8d, r8d
call fcn.1400186b0
mov rsi, rax
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rdx, qword [rdi + 0xa8]
cmp rdx, rcx
jbe 0x1400180c0
cmp byte [rsi + 0x4a], 0
je 0x140017476
cmp byte [rsi + 0x4b], 0
je 0x1400174e7
call fcn.140022e50
mov qword [rsi + 0x30], rax
mov dword [rsi + 0x38], edx
mov qword [rsi + 0x20], 0
mov rbx, qword [rsp + 0x48]
mov ecx, dword [rsi + 0x44]
test ecx, ecx
je 0x1400180a8
mov eax, dword [rsi + 0x40]
xor edx, edx
div ecx
test edx, edx
je 0x140017460
mov r15, qword [rsi]
mov qword [rsi], 0
test r15, r15
jne 0x1400177e0
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + 0x18]
mov r8, rax
shr r8, 0x20
mov dword [rsp + 0x28], r8d
mov ecx, dword [rdx + 0x20]
cmp ecx, eax
jne 0x14001760b
mov rax, qword [rbx + 0x10]
mov rax, qword [rax + 0xb0]
test rax, rax
je 0x140017828
lea r12, [rsi + 0x18]
mov rax, qword [r12]
mov r8, qword [rax + 0x18]
mov ecx, dword [rax + 0x20]
mov rdi, qword [rbx + 0x10]
mov rax, qword [rdi + 0xb0]
mov r9, qword [rdi + 0x68]
test r9, r9
je 0x1400180d8
mov rdx, rax
or rdx, r9
shr rdx, 0x20
je 0x14001768b
xor edx, edx
div r9
mov r13, rax
jmp 0x140017693
mov rdi, qword [rbx + 0x10]
cmp dword [rdi + 0x10], 0
je 0x1400174f0
mov eax, dword [rdi + 0x14]
jmp 0x140017526
lea r14, [rdi + 0xc8]
mov rcx, r14
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
jne 0x140017c8f
lea rbx, [rdi + 0xd0]
movzx eax, byte [rdi + 0xd0]
movzx eax, byte [rdi + 0x100]
mov byte [rsi + 0x4a], al
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
jne 0x140017cbc
mov rcx, r14
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
movabs r14, 0xffffffff00000000
cmp byte [rsi + 0x4b], 0
jne 0x14001739c
mov byte [rsi + 0x4b], 0
jmp 0x14001739c
movapd xmm0, xmm11
divsd xmm0, qword [rsi + 0x28]
xorpd xmm1, xmm1
maxsd xmm1, xmm0
movapd xmm0, xmm12
minsd xmm0, xmm1
cvttsd2si rax, xmm0
cmp eax, 0x7f
mov edx, 0x7f
cmovae eax, edx
cmp eax, 3
mov edx, 2
cmovb eax, edx
mov edx, eax
sub edx, ecx
neg edx
mov r8d, eax
sub r8d, ecx
cmovb r8d, edx
cmp r8d, 3
jb 0x14001753f
mov dword [rsi + 0x44], eax
mov rax, qword [rdi + 0xb0]
test rax, rax
je 0x1400177ce
lea r12, [rdi + 0xc8]
mov rcx, r12
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
jne 0x140017c83
xor eax, eax
movzx ecx, byte [rdi + 0xd0]
mov rcx, qword [rdi + 0xb0]
xor edx, edx
test rcx, rcx
setne dl
mov r8, rcx
sub r8, rdx
mov qword [rdi + 0xb0], r8
test rcx, rcx
je 0x1400175d1
mov r15, qword [rdi + 0xf0]
test r15, r15
je 0x1400175d1
mov rcx, qword [r15 + 8]
mov qword [rdi + 0xf0], rcx
test rcx, rcx
je 0x140017796
mov qword [r15 + 8], 0
test al, al
jne 0x1400177c0
jmp 0x1400175dc
xor r15d, r15d
test al, al
jne 0x1400177c0
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
je 0x1400177c0
call fcn.140038370
test al, al
jne 0x1400177c0
mov byte [rdi + 0xd0], 1
jmp 0x1400177c0
mov rcx, rax
jmp 0x140017644
mov eax, r9d
mov r8, rax
shl r8, 0x20
or r8, rax
mov rax, rcx
lock cmpxchg qword [rdx + 0x18], r8
je 0x140017672
mov r8, rax
shr r8, 0x20
mov dword [rsp + 0x28], r8d
mov r9d, dword [rdx + 0x20]
mov rcx, rax
cmp r9d, eax
je 0x140017401
lea r9d, [rax + 1]
mov dword [rsp + 0x30], r9d
cmp r8d, eax
je 0x140017610
cmp r9d, r8d
je 0x140018154
mov eax, r9d
mov r8, rcx
and r8, r14
or r8, rax
mov rax, rcx
lock cmpxchg qword [rdx + 0x18], r8
jne 0x140017628
movzx eax, cl
mov rcx, qword [rdx + 0x10]
mov r15, qword [rcx + rax*8]
test r15, r15
jne 0x1400177e0
jmp 0x140017401
xor edx, edx
div r9d
mov r13d, eax
shr r8, 0x20
sub ecx, r8d
mov eax, 0x100
sub rax, rcx
inc r13
cmp rax, r13
cmovb r13, rax
cmp r13, 0x80
mov eax, 0x80
cmovae r13, rax
cmp r13, 1
adc r13, 0
lea rbp, [rdi + 0xc8]
mov rcx, rbp
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
jne 0x140017cd1
xor r14d, r14d
movzx eax, byte [rdi + 0xd0]
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax + 0xb0]
cmp r13, rcx
cmovae r13, rcx
lea rdx, [rdi + 0xf0]
sub rcx, r13
mov qword [rax + 0xb0], rcx
test r13, r13
je 0x140017748
mov r15, qword [rdx]
test r15, r15
je 0x140017743
mov rax, qword [r15 + 8]
mov qword [rdx], rax
test rax, rax
jne 0x14001773b
mov qword [rdi + 0xf8], 0
mov qword [r15 + 8], 0
dec r13
jmp 0x14001774e
xor r13d, r13d
xor r15d, r15d
mov rcx, r12
mov r8, r13
call fcn.140011510
test r14b, r14b
jne 0x140017774
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
jne 0x140017cee
mov rcx, rbp
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
lea rbp, [rsp + 0x48]
movabs r14, 0xffffffff00000000
test r15, r15
jne 0x1400177e0
jmp 0x140017828
mov qword [rdi + 0xf8], 0
mov qword [r15 + 8], 0
test al, al
je 0x1400175dc
nop word cs:[rax + rax]
mov rcx, r12
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test r15, r15
jne 0x1400177e0
mov r15, qword [rsi]
mov qword [rsi], 0
test r15, r15
je 0x140017809
nop dword [rax]
mov rcx, rbp
mov rdx, r15
mov r8, rsi
call fcn.1400182e0
mov rsi, rax
test rax, rax
je 0x1400170b3
cmp byte [rsi + 0x4a], 0
je 0x140017290
jmp 0x140016c1f
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + 0x18]
mov r8, rax
shr r8, 0x20
mov dword [rsp + 0x28], r8d
mov ecx, dword [rdx + 0x20]
cmp ecx, eax
jne 0x140017ac7
mov rdi, qword [rsi + 0x20]
test rdi, rdi
je 0x1400178ca
call fcn.140022e50
mov r8, qword [rsi + 0x30]
mov r9d, dword [rsi + 0x38]
mov rcx, rax
call fcn.1400231d0
mov ecx, edx
mov edx, 0x3b9aca00
mul rdx
mov ecx, ecx
add rcx, rax
adc rdx, 0
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdx
lea rcx, [rsp + 0x110]
call fcn.140036700
movapd xmm7, xmm0
movq xmm0, rdi
punpckldq xmm0, xmm8
subpd xmm0, xmm9
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
divsd xmm7, xmm1
movapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movapd xmm1, xmm10
subsd xmm1, xmm0
mulsd xmm7, xmm1
movapd xmm0, xmm10
subsd xmm0, xmm1
mulsd xmm0, qword [rsi + 0x28]
addsd xmm0, xmm7
movsd qword [rsi + 0x28], xmm0
mov rdi, qword [rsp + 0x48]
cmp byte [rsi + 0x49], 0
jne 0x1400178fe
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0xb8]
movzx ecx, cx
add ecx, ecx
cmp rcx, qword [rax + 0xc0]
jae 0x140017b4b
lock inc qword [rax + 0xb8]
mov byte [rsi + 0x49], 1
mov rbx, qword [rdi + 0x10]
mov r14, qword [rbx + 0x68]
mov edx, dword [rsi + 0x10]
mov ecx, dword [rsi + 0x14]
mov eax, edx
shl eax, 0x11
xor eax, edx
mov edx, ecx
shr edx, 0x10
xor edx, ecx
xor edx, eax
shr eax, 7
xor eax, edx
mov dword [rsi + 0x10], ecx
mov dword [rsi + 0x14], eax
test r14, r14
je 0x1400179da
lea r15, [rsi + 0x20]
add eax, ecx
mov r12d, r14d
imul r12, rax
shr r12, 0x20
lea rbp, [rsi + 0x18]
mov rbx, r14
jmp 0x140017958
inc r12
dec rbx
je 0x1400179d1
mov rax, r12
or rax, r14
shr rax, 0x20
je 0x140017980
mov rax, r12
xor edx, edx
div r14
cmp rdx, qword [rdi + 0x18]
je 0x140017950
jmp 0x14001798e
mov eax, r12d
xor edx, edx
div r14d
cmp rdx, qword [rdi + 0x18]
je 0x140017950
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx + 0x68]
cmp rdx, rax
jae 0x14001807e
shl rdx, 4
add rdx, qword [rcx + 0x60]
mov rcx, rdx
mov rdx, rbp
mov r8, r15
call fcn.140011760
test rax, rax
je 0x140017950
mov r13, rax
lea rbp, [rsp + 0x48]
movabs r14, 0xffffffff00000000
jmp 0x140017aa8
mov rbx, qword [rdi + 0x10]
lea rbp, [rsp + 0x48]
mov rax, qword [rbx + 0xb0]
test rax, rax
movabs r14, 0xffffffff00000000
je 0x140017b4f
lea r15, [rbx + 0xc8]
mov rcx, r15
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
jne 0x140017ce2
xor eax, eax
movzx ecx, byte [rbx + 0xd0]
mov rcx, qword [rbx + 0xb0]
xor edx, edx
test rcx, rcx
setne dl
mov r8, rcx
sub r8, rdx
mov qword [rbx + 0xb0], r8
test rcx, rcx
je 0x140017a79
mov r13, qword [rbx + 0xf0]
test r13, r13
je 0x140017a79
mov rcx, qword [r13 + 8]
mov qword [rbx + 0xf0], rcx
test rcx, rcx
jne 0x140017a6b
mov qword [rbx + 0xf8], 0
mov qword [r13 + 8], 0
test al, al
jne 0x140017a96
jmp 0x140017a80
xor r13d, r13d
test al, al
jne 0x140017a96
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
jne 0x140017f77
mov rcx, r15
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test r13, r13
je 0x140017b4f
call fcn.140022e50
mov qword [rsi + 0x30], rax
mov dword [rsi + 0x38], edx
mov qword [rsi + 0x20], 0
mov rcx, rbp
mov rdx, r13
jmp 0x1400177e6
mov rcx, rax
jmp 0x140017b04
mov eax, r9d
mov r8, rax
shl r8, 0x20
or r8, rax
mov rax, rcx
lock cmpxchg qword [rdx + 0x18], r8
je 0x140017b32
mov r8, rax
shr r8, 0x20
mov dword [rsp + 0x28], r8d
mov r9d, dword [rdx + 0x20]
mov rcx, rax
cmp r9d, eax
je 0x140017828
lea r9d, [rax + 1]
mov dword [rsp + 0x30], r9d
cmp r8d, eax
je 0x140017ad0
cmp r9d, r8d
je 0x140018154
mov eax, r9d
mov r8, rcx
and r8, r14
or r8, rax
mov rax, rcx
lock cmpxchg qword [rdx + 0x18], r8
jne 0x140017ae8
movzx eax, cl
mov rcx, qword [rdx + 0x10]
mov r15, qword [rcx + rax*8]
test r15, r15
jne 0x1400177e0
jmp 0x140017828
mov byte [rsi + 0x49], 0
movabs rax, 0x7fffffffffffffff
cmp qword [rsp + 0x60], rax
jae 0x140018249
cmp qword [rsp + 0x78], 0
je 0x140017b7f
mov rcx, rbp
mov rdx, rsi
xor r8d, r8d
call fcn.1400186b0
mov rsi, rax
jmp 0x140017be0
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x140017baf
mov rdx, qword [rcx + 0x28]
mov rcx, qword [rdx + 0x10]
dec rcx
and rcx, 0xfffffffffffffff0
add rcx, rax
add rcx, 0x10
call qword [rdx + 0x28]
mov rdi, qword [rsp + 0x48]
cmp qword [rsi], 0
je 0x140017c03
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x140017be0
mov rdx, qword [rcx + 0x38]
mov rcx, qword [rdx + 0x10]
dec rcx
and rcx, 0xfffffffffffffff0
add rcx, rax
add rcx, 0x10
call qword [rdx + 0x28]
call fcn.140022e50
mov qword [rsi + 0x30], rax
mov dword [rsi + 0x38], edx
mov qword [rsi + 0x20], 0
cmp byte [rsi + 0x4a], 0
je 0x140017290
jmp 0x140016c1f
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x18]
mov eax, dword [rax + 0x20]
cmp eax, ecx
jne 0x140017bb5
cmp byte [rsi + 0x4b], 0
jne 0x140017bb5
mov rcx, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
lea rdx, [rcx + 0x10]
add rcx, 0xb8
movzx r9d, byte [rsi + 0x49]
call fcn.14001a130
mov byte [rsi + 0x49], 0
test al, al
je 0x140017d6f
mov r15, qword [rdi + 0x10]
lea rdx, [r15 + 0x10]
mov rax, qword [r15 + 0x60]
mov rcx, qword [r15 + 0x68]
shl rcx, 4
xor r8d, r8d
nop dword [rax + rax]
cmp rcx, r8
je 0x140017d07
mov r9, qword [rax + r8]
mov r10, qword [r9 + 0x18]
mov r9d, dword [r9 + 0x20]
add r8, 0x10
cmp r9d, r10d
je 0x140017c60
jmp 0x140017d13
call fcn.140038370
xor al, 1
jmp 0x140017577
call fcn.140038370
movzx ecx, byte [rdi + 0xd0]
movzx ecx, byte [rdi + 0x100]
mov byte [rsi + 0x4a], cl
test al, al
je 0x1400174ca
add rdi, 0xd0
mov rbx, rdi
jmp 0x1400174b4
call fcn.140038370
test al, al
jne 0x1400174ca
mov byte [rbx], 1
jmp 0x1400174ca
call fcn.140038370
mov r14d, eax
xor r14b, 1
jmp 0x1400176ed
call fcn.140038370
xor al, 1
jmp 0x140017a1c
call fcn.140038370
test al, al
jne 0x140017774
mov byte [rdi + 0xd0], 1
jmp 0x140017774
mov rax, qword [r15 + 0xb0]
test rax, rax
je 0x140017d6f
lea rcx, [r15 + 0xb8]
call fcn.14001a020
cmp rax, 1
jne 0x140017d6f
mov rax, qword [r15 + 0x68]
cmp rdx, rax
jae 0x140018185
mov rax, qword [r15 + 0x60]
shl rdx, 4
lea rcx, [rax + rdx]
add rcx, 8
add r15, 0x130
mov rdx, r15
call fcn.140011200
jmp 0x140017d6f
mov rcx, r15
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
cmp r14, r12
movabs r14, 0xffffffff00000000
je 0x140017f90
cmp byte [rsi + 0x4a], 0
jne 0x140017bb5
cmp byte [rsi + 0x4b], 0
jne 0x140017bb5
mov rcx, rbp
mov rdx, rsi
mov r8d, 0x3b9aca00
call fcn.1400186b0
mov rsi, rax
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rdx, qword [rdi + 0xa8]
cmp rdx, rcx
jbe 0x1400180c0
cmp byte [rsi + 0x4a], 0
je 0x140017dd8
cmp byte [rsi + 0x4b], 0
je 0x140017e49
mov rax, qword [rsp + 0x48]
cmp qword [rsi], 0
je 0x140017e5c
jmp 0x140017f55
lea r14, [rdi + 0xc8]
mov rcx, r14
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
jne 0x140017f13
lea rbx, [rdi + 0xd0]
movzx eax, byte [rdi + 0xd0]
movzx eax, byte [rdi + 0x100]
mov byte [rsi + 0x4a], al
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
jne 0x140017f40
mov rcx, r14
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
movabs r14, 0xffffffff00000000
cmp byte [rsi + 0x4b], 0
jne 0x140017dc4
mov byte [rsi + 0x4b], 0
mov rax, qword [rsp + 0x48]
cmp qword [rsi], 0
jne 0x140017f55
mov rcx, qword [rsi + 0x18]
mov rdx, qword [rcx + 0x18]
mov ecx, dword [rcx + 0x20]
cmp ecx, edx
jne 0x140017f55
mov rdi, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
lea r15, [rdi + 0xc8]
mov rcx, r15
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
jne 0x140017f0a
xor eax, eax
movzx ecx, byte [rdi + 0xd0]
mov rcx, qword [rdi + 0xe0]
mov r14, qword [rdi + 0xe8]
shl r14, 3
xor edx, edx
nop word cs:[rax + rax]
mov r12, rdx
cmp r14, rdx
je 0x140017ed3
lea rdx, [r12 + 8]
cmp qword [rcx + r12], rbx
jne 0x140017ec0
test al, al
jne 0x140017d53
mov rax, qword [0x14004a068]
mov rax, qword [rax]
shl rax, 1
test rax, rax
je 0x140017d53
call fcn.140038370
test al, al
jne 0x140017d53
mov byte [rdi + 0xd0], 1
jmp 0x140017d53
call fcn.140038370
xor al, 1
jmp 0x140017e9b
call fcn.140038370
movzx ecx, byte [rdi + 0xd0]
movzx ecx, byte [rdi + 0x100]
mov byte [rsi + 0x4a], cl
test al, al
je 0x140017e2c
add rdi, 0xd0
mov rbx, rdi
jmp 0x140017e16
call fcn.140038370
test al, al
jne 0x140017e2c
mov byte [rbx], 1
jmp 0x140017e2c
mov rcx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
lea rdx, [rcx + 0x10]
add rcx, 0xb8
call fcn.14001a220
xor al, 1
mov byte [rsi + 0x49], al
jmp 0x140017bb5
call fcn.140038370
test al, al
jne 0x140017a96
mov byte [rbx + 0xd0], 1
jmp 0x140017a96
mov byte [rsi + 0x49], 1
jmp 0x140017bb5
mov rax, qword [rsp + 0xb0]
lock dec qword [rax]
jne 0x140017faf
mov rcx, rdi
call fcn.14000f870
cmp qword [rsp + 0x98], 0
je 0x140017fd2
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x140017fe8
mov rcx, rsi
call fcn.14000f4c0
jmp 0x140017fe8
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x140017fe8
mov rcx, rsi
call fcn.14000f870
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
movaps xmm9, xmmword [rsp + 0x180]
movaps xmm10, xmmword [rsp + 0x190]
movaps xmm11, xmmword [rsp + 0x1a0]
movaps xmm12, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140038370
mov r14d, eax
xor r14b, 1
movzx eax, byte [rbp + 0x110]
mov rdx, qword [rbp + 0x128]
cmp rdx, qword [rbp + 0x118]
je 0x140016cd1
jmp 0x140016ce4
call fcn.140038370
test al, al
jne 0x1400170aa
mov byte [rbp + 0x110], 1
jmp 0x1400170aa
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadworker.rs
mov rcx, rdx
mov rdx, rax
call fcn.140038ba0
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadworker.rs
mov edx, 0x39
call fcn.140038aa0
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadworker.rs
mov edx, 0x39
call fcn.140038aa0
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadworker.rs
call fcn.140038ba0
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadworker.rs
call fcn.140038ba0
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadworker.rs
mov edx, 0x19
call fcn.140038aa0
mov qword [rsp + 0xc8], 0
lea rax, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadqueue.rs
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x3c]
lea r8, [rsp + 0x8c]
lea r9, [rsp + 0xc8]
mov cl, 1
call fcn.1400376e0
lea rcx, str.assertion_failed:_prev.ref_count_____1
lea r8, [0x14003c090]
mov edx, 0x27
call fcn.140038aa0
lea rcx, str.park_missing
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadworker.rs
mov edx, 0xc
call fcn.140038960
mov qword [rsp + 0xc8], 0
lea rax, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadqueue.rs
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x30]
lea r9, [rsp + 0xc8]
mov cl, 1
call fcn.1400376e0
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadworker.rs
mov rcx, rdx
mov rdx, rax
call fcn.140038ba0
ud2
lea rcx, [0x14003ca18]
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_timemod.rs
mov edx, 0x73
call fcn.140038960
lea rax, str.Cannot_start_a_runtime_from_within_a_runtime._This_happens_because_a_function__like__block_on___attempted_to_block_the_current_thread_while_the_thread_is_being_used_to_drive_asynchronous_tasks.
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
lea rax, [0x14003d990]
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
lea rdx, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadworker.rs
lea rcx, [rsp + 0x40]
call fcn.1400389d0
lea rcx, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtimecontextcurrent.rs
call fcn.1400388a0
lea rax, str.reached_max__enter__depth
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
lea rax, [0x14003d990]
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
lea rdx, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtimecontextcurrent.rs
lea rcx, [rsp + 0x40]
call fcn.1400389d0
lea rcx, str.assertion_failed:_c.runtime.get__.is_entered__C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtimecontext_runtime.rs
lea r8, [0x14003e158]
mov edx, 0x2e
call fcn.140038aa0
lea rcx, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulerdefer.rs
call fcn.140038900
lea rcx, [rsp + 0x148]
call fcn.1400141a0
lea rax, [0x14003de00]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_5ac4c8a63ee305742071ac6dd11817f7c24adce2library_std_src_threadlocal.rs
lea r9, [0x14003db20]
lea r8, [rsp + 0xc8]
mov edx, 0x46
call fcn.140038e70
lea rax, str.expected__MultiThread::Context_
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], 1
lea rax, [0x14003d990]
mov qword [rsp + 0xd8], rax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0xe0], xmm0
lea rdx, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtime_schedulermulti_threadworker.rs
lea rcx, [rsp + 0xc8]
call fcn.1400389d0
int3