Function at 0x1400a5f50
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, 0x1d8
movdqa xmmword [rsp + 0x1c0], xmm8
movdqa xmmword [rsp + 0x1b0], xmm7
movdqa xmmword [rsp + 0x1a0], xmm6
mov qword [rsp + 0x168], r9
mov rsi, rdx
mov qword [rsp + 0x20], r8
cmp byte [r8 + 0x10], 2
mov qword [rsp + 0x30], rcx
jne 0x1400a6097
cmp qword [rcx + 0x58], 0
je 0x1400a6097
mov rdi, rcx
mov rcx, qword [rcx + 0x60]
mov rdx, qword [rdi + 0x68]
mov r8, rsi
call fcn.14008d750
mov rcx, qword [rdi + 0x40]
mov r12, qword [rdi + 0x48]
mov r13, r12
and r13, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
mov qword [rsp + 0x38], rcx
lea rbp, [rcx - 0x48]
lea r14, [rsi + 0x10]
xor edi, edi
pcmpeqd xmm7, xmm7
mov rax, qword [rsp + 0x38]
movdqu xmm8, xmmword [rax + r13]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x1400a604a
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
mov rcx, qword [rsp + 0x30]
jne 0x1400a6097
add r13, rdi
add r13, 0x10
add rdi, 0x10
and r13, r12
jmp 0x1400a5ff4
lea eax, [rbx - 1]
and ax, bx
mov ebx, eax
je 0x1400a6010
tzcnt eax, ebx
add rax, r13
and rax, r12
neg rax
lea rax, [rax + rax*8]
lea r15, [rax*8]
add r15, rbp
mov rcx, rsi
mov rdx, r15
call fcn.140026aa0
test al, al
je 0x1400a6040
add r15, 0x10
mov rcx, r14
mov rdx, r15
call fcn.140024380
test al, al
je 0x1400a6040
mov rcx, qword [rsp + 0x20]
call fcn.1400a5980
jmp 0x1400a764d
mov rdx, qword [rsp + 0x20]
mov rax, qword [rdx + 0x30]
mov qword [rsp + 0x110], rax
movdqu xmm0, xmmword [rdx]
movdqu xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movaps xmmword [rsp + 0x100], xmm2
movdqa xmmword [rsp + 0xf0], xmm1
movdqa xmmword [rsp + 0xe0], xmm0
cmp qword [rcx + 0x88], 0
je 0x1400a6ad0
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rdi + 0x90]
mov rdx, qword [rdi + 0x98]
mov r8, rsi
call fcn.14008d750
mov r12, qword [rdi + 0x70]
mov rdi, qword [rdi + 0x78]
mov r15, rdi
and r15, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
lea r13, [r12 - 0x50]
lea rax, [rsi + 0x10]
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x20], rax
pcmpeqd xmm7, xmm7
movdqu xmm8, xmmword [r12 + r15]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb r14d, xmm0
test r14d, r14d
jne 0x1400a618d
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x1400a6ad0
mov rax, qword [rsp + 0x20]
add r15, rax
add r15, 0x10
add rax, 0x10
mov qword [rsp + 0x20], rax
and r15, rdi
jmp 0x1400a6135
lea eax, [r14 - 1]
and ax, r14w
mov r14d, eax
je 0x1400a614e
tzcnt eax, r14d
add rax, r15
and rax, rdi
neg rax
lea rbp, [rax + rax*4]
shl rbp, 4
mov rbx, r13
add rbx, rbp
mov rcx, rsi
mov rdx, rbx
call fcn.140026aa0
test al, al
je 0x1400a6180
add rbx, 0x10
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call fcn.140024380
test al, al
je 0x1400a6180
mov rax, qword [r12 + rbp - 8]
test rax, rax
je 0x1400a686b
add r12, rbp
lea r14, [rsp + 0x112]
xor ebx, ebx
nop dword [rax + rax]
mov rcx, qword [r12 - 0x10]
lea rdx, [rcx + 1]
mov r8, qword [r12 - 0x20]
mov r9, qword [r12 - 0x18]
cmp rdx, r8
cmovb r8, rbx
neg r8
lea rdx, [rcx + r8]
inc rdx
mov qword [r12 - 0x10], rdx
dec rax
mov qword [r12 - 8], rax
mov rax, qword [r9 + rcx*8]
mov qword [rsp + 0x130], rax
movzx eax, byte [rax + 0x80]
test al, al
je 0x1400a6280
mov rdi, qword [rsp + 0x130]
mov al, 1
xchg byte [rdi + 0x80], al
mov al, 1
xchg byte [rdi + 0x60], al
test al, al
je 0x1400a6310
mov al, 1
xchg byte [rdi + 0x78], al
test al, al
je 0x1400a633e
mov rax, qword [rsp + 0x130]
lock dec qword [rax]
jne 0x1400a65c9
jmp 0x1400a636d
movzx r13d, byte [rsp + 0x111]
mov byte [rsp + 0x111], 2
cmp r13b, 2
je 0x1400a76f3
mov rbp, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x20], rax
movzx r15d, byte [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x100]
mov r9, qword [rsp + 0x108]
movzx edi, byte [rsp + 0x110]
cmp r15b, 2
jne 0x1400a637f
test rcx, rcx
je 0x1400a63e9
mov r15, r9
call qword [rdx + 0x18]
mov r9, r15
lock inc qword [r9]
jg 0x1400a63f5
jmp 0x1400a76f1
mov rax, qword [rdi + 0x50]
mov rcx, qword [rdi + 0x58]
mov qword [rdi + 0x50], 0
test rax, rax
je 0x1400a63d2
xor edx, edx
xchg byte [rdi + 0x60], dl
call qword [rax + 8]
mov al, 1
xchg byte [rdi + 0x78], al
test al, al
jne 0x1400a6262
mov rax, qword [rdi + 0x68]
mov rcx, qword [rdi + 0x70]
mov qword [rdi + 0x68], 0
test rax, rax
je 0x1400a6356
call qword [rax + 0x18]
xor eax, eax
xchg byte [rdi + 0x78], al
mov rax, qword [rsp + 0x130]
lock dec qword [rax]
jne 0x1400a65c9
lea rcx, [rsp + 0x130]
call fcn.1400c2540
jmp 0x1400a65c9
mov qword [rsp + 0x40], rcx
movzx eax, word [r14 + 4]
mov word [rsp + 0xac], ax
mov ecx, dword [r14]
mov dword [rsp + 0xa8], ecx
mov r10d, dword [r14 - 0x21]
mov r8d, dword [r14 - 0x1e]
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x53], r8d
mov r10d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x53]
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x4b], r8d
mov dword [rsp + 0xc8], ecx
mov word [rsp + 0xcc], ax
jmp 0x1400a6446
xor eax, eax
xchg byte [rdi + 0x60], al
mov al, 1
xchg byte [rdi + 0x78], al
test al, al
jne 0x1400a6262
jmp 0x1400a633e
xor eax, eax
lock inc qword [r9]
jle 0x1400a76f1
lock inc qword [rbp]
jle 0x1400a76f1
mov rcx, qword [rsp + 0x20]
lock inc qword [rcx + 0x1c8]
lock inc qword [rcx]
jle 0x1400a76f1
mov qword [rsp + 0x40], rax
movzx eax, word [r14 + 4]
mov word [rsp + 0xac], ax
mov eax, dword [r14]
mov dword [rsp + 0xa8], eax
mov byte [rsp + 0xf0], 2
mov byte [rsp + 0x111], r13b
mov r15b, 2
mov rax, qword [rsp + 0x130]
mov ecx, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x4b]
mov dword [rsp + 0xa8], ecx
mov dword [rsp + 0xab], r8d
mov ecx, dword [rsp + 0xc8]
mov dword [rsp + 0x28], ecx
movzx ecx, word [rsp + 0xcc]
mov word [rsp + 0x2c], cx
mov qword [rsp + 0x50], rax
movzx ecx, byte [rax + 0x80]
test cl, cl
jne 0x1400a649b
mov cl, 1
xchg byte [rax + 0x48], cl
test cl, cl
je 0x1400a666b
mov qword [rsp + 0x128], rbp
mov ebp, edi
mov rdi, r14
mov eax, dword [rsp + 0xa8]
mov ecx, dword [rsp + 0xab]
mov dword [rsp + 0xdb], ecx
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0xd0], eax
movzx eax, word [rsp + 0x2c]
mov word [rsp + 0xd4], ax
mov r14, qword [rsp + 0x50]
mov al, 1
xchg byte [r14 + 0x80], al
mov al, 1
xchg byte [r14 + 0x60], al
test al, al
je 0x1400a65dc
mov al, 1
xchg byte [r14 + 0x78], al
test al, al
je 0x1400a6623
mov rax, qword [rsp + 0x50]
lock dec qword [rax]
jne 0x1400a6527
lea rcx, [rsp + 0x50]
mov rbx, r9
mov r14, rdx
call fcn.1400c2540
mov rdx, r14
mov r9, rbx
movq xmm0, r9
movq xmm6, rdx
punpcklqdq xmm6, xmm0
mov r14, rdi
xor ebx, ebx
cmp byte [rsp + 0x111], 2
je 0x1400a6551
lea rcx, [rsp + 0xe0]
call fcn.1400a5980
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xe8], rax
mov byte [rsp + 0xf0], r15b
mov eax, dword [rsp + 0xd8]
mov ecx, dword [rsp + 0xdb]
mov dword [r14 - 0x1e], ecx
mov dword [r14 - 0x21], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xf8], rax
movdqa xmmword [rsp + 0x100], xmm6
mov byte [rsp + 0x110], bpl
mov byte [rsp + 0x111], r13b
movzx eax, word [rsp + 0xd4]
mov word [r14 + 4], ax
mov eax, dword [rsp + 0xd0]
mov dword [r14], eax
mov rax, qword [r12 - 8]
test rax, rax
jne 0x1400a61f0
jmp 0x1400a686b
mov rax, qword [r14 + 0x50]
mov rcx, qword [r14 + 0x58]
mov qword [r14 + 0x50], 0
test rax, rax
je 0x1400a674b
xor r8d, r8d
xchg byte [r14 + 0x60], r8b
mov qword [rsp + 0x120], r9
mov rbx, rdx
call qword [rax + 8]
mov rdx, rbx
mov r9, qword [rsp + 0x120]
mov al, 1
xchg byte [r14 + 0x78], al
test al, al
jne 0x1400a6506
mov rax, qword [r14 + 0x68]
mov rcx, qword [r14 + 0x70]
mov qword [r14 + 0x68], 0
test rax, rax
je 0x1400a6651
mov qword [rsp + 0x120], r9
mov rbx, rdx
call qword [rax + 0x18]
mov rdx, rbx
mov r9, qword [rsp + 0x120]
xor eax, eax
xchg byte [r14 + 0x78], al
mov rax, qword [rsp + 0x50]
lock dec qword [rax]
je 0x1400a6511
jmp 0x1400a6527
cmp byte [rax + 0x41], 2
jne 0x1400a7710
mov qword [rax + 0x10], rbp
mov rcx, qword [rsp + 0x20]
mov qword [rax + 0x18], rcx
mov byte [rax + 0x20], r15b
mov ecx, dword [rsp + 0xa8]
mov r8d, dword [rsp + 0xab]
mov dword [rax + 0x21], ecx
mov dword [rax + 0x24], r8d
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rdx
mov qword [rax + 0x38], r9
mov byte [rax + 0x40], dil
mov byte [rax + 0x41], r13b
mov ecx, dword [rsp + 0x28]
mov dword [rax + 0x42], ecx
movzx ecx, word [rsp + 0x2c]
mov word [rax + 0x46], cx
xor ecx, ecx
xchg byte [rax + 0x48], cl
movzx ecx, byte [rax + 0x80]
test cl, cl
mov ebx, 0
je 0x1400a66fb
mov cl, 1
xchg byte [rax + 0x48], cl
test cl, cl
jne 0x1400a66fb
movzx r13d, byte [rax + 0x41]
mov byte [rax + 0x41], 2
cmp r13b, 2
jne 0x1400a67e2
xor ecx, ecx
xchg byte [rax + 0x48], cl
mov rdi, qword [rsp + 0x50]
mov al, 1
xchg byte [rdi + 0x80], al
mov al, 1
xchg byte [rdi + 0x60], al
test al, al
je 0x1400a6764
mov al, 1
xchg byte [rdi + 0x78], al
test al, al
je 0x1400a678a
mov rax, qword [rsp + 0x50]
lock dec qword [rax]
jne 0x1400a67b6
lea rcx, [rsp + 0x50]
call fcn.1400c2540
cmp byte [rsp + 0x111], 2
mov rax, qword [r12 - 8]
jne 0x1400a65ce
jmp 0x1400a6862
xor eax, eax
xchg byte [r14 + 0x60], al
mov al, 1
xchg byte [r14 + 0x78], al
test al, al
jne 0x1400a6506
jmp 0x1400a6623
mov rax, qword [rdi + 0x50]
mov rcx, qword [rdi + 0x58]
mov qword [rdi + 0x50], 0
test rax, rax
je 0x1400a67ce
xor edx, edx
xchg byte [rdi + 0x60], dl
call qword [rax + 8]
mov al, 1
xchg byte [rdi + 0x78], al
test al, al
jne 0x1400a671a
mov rax, qword [rdi + 0x68]
mov rcx, qword [rdi + 0x70]
mov qword [rdi + 0x68], 0
test rax, rax
je 0x1400a67a2
call qword [rax + 0x18]
xor eax, eax
xchg byte [rdi + 0x78], al
mov rax, qword [rsp + 0x50]
lock dec qword [rax]
je 0x1400a6729
cmp byte [rsp + 0x111], 2
mov rax, qword [r12 - 8]
jne 0x1400a65ce
jmp 0x1400a6862
xor eax, eax
xchg byte [rdi + 0x60], al
mov al, 1
xchg byte [rdi + 0x78], al
test al, al
jne 0x1400a671a
jmp 0x1400a678a
lea rcx, [rax + 0x21]
lea rdx, [rax + 0x42]
mov r8, qword [rax + 0x10]
mov qword [rsp + 0x128], r8
mov r8, qword [rax + 0x18]
mov qword [rsp + 0x20], r8
movzx r15d, byte [rax + 0x20]
mov r8d, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rsp + 0xdb], ecx
mov dword [rsp + 0xd8], r8d
mov rcx, qword [rax + 0x28]
mov qword [rsp + 0x40], rcx
movdqu xmm6, xmmword [rax + 0x30]
movzx ebp, byte [rax + 0x40]
movzx ecx, word [rdx + 4]
mov word [rsp + 0xd4], cx
mov ecx, dword [rdx]
mov dword [rsp + 0xd0], ecx
xor ecx, ecx
xchg byte [rax + 0x48], cl
lea rcx, [rsp + 0x50]
call fcn.1400a4290
cmp byte [rsp + 0x111], 2
jne 0x1400a6544
jmp 0x1400a6551
test rax, rax
jne 0x1400a6ad0
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rdi + 0x90]
mov rdx, qword [rdi + 0x98]
mov r8, rsi
call fcn.14008d750
mov rcx, qword [rdi + 0x70]
mov r15, qword [rdi + 0x78]
mov r13, r15
and r13, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
mov qword [rsp + 0x20], rcx
lea rbp, [rcx - 0x50]
xor eax, eax
pcmpeqd xmm7, xmm7
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x20]
movdqu xmm8, xmmword [rax + r13]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb r14d, xmm0
test r14d, r14d
jne 0x1400a691d
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
mov rax, qword [rsp + 0x40]
jne 0x1400a6f20
add r13, rax
add r13, 0x10
add rax, 0x10
and r13, r15
jmp 0x1400a68b9
lea eax, [r14 - 1]
and ax, r14w
mov r14d, eax
je 0x1400a68dc
tzcnt edi, r14d
add rdi, r13
and rdi, r15
mov rax, rdi
neg rax
lea r12, [rax + rax*4]
shl r12, 4
lea rbx, [r12 + rbp]
mov rcx, rsi
mov rdx, rbx
call fcn.140026aa0
test al, al
je 0x1400a6910
add rbx, 0x10
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call fcn.140024380
test al, al
je 0x1400a6910
shl rdi, 4
lea rcx, [rdi + rdi*4]
sar rcx, 4
movabs rax, 0xcccccccccccccccd
imul rax, rcx
lea rcx, [rax - 0x10]
and rcx, r15
mov rdx, qword [rsp + 0x20]
movdqu xmm0, xmmword [rdx + rcx]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb r8d, xmm0
movdqu xmm0, xmmword [rdx + rax]
pcmpeqb xmm0, xmm1
pmovmskb edx, xmm0
test r8d, r8d
je 0x1400a69b8
bsr r8w, r8w
xor r8d, 0xf
jmp 0x1400a69bd
mov r8w, 0x10
mov r9, qword [rsp + 0x30]
add r12, qword [rsp + 0x20]
or edx, 0x10000
tzcnt edx, edx
add r8d, edx
mov dl, 0x80
cmp r8w, 0xf
ja 0x1400a69e6
inc qword [r9 + 0x80]
mov dl, 0xff
mov r8, qword [rsp + 0x20]
mov byte [r8 + rax], dl
mov byte [r8 + rcx + 0x10], dl
dec qword [r9 + 0x88]
movdqu xmm0, xmmword [r12 - 0x50]
movdqu xmm1, xmmword [r12 - 0x40]
movups xmm2, xmmword [r12 - 0x30]
movups xmm3, xmmword [r12 - 0x20]
movaps xmmword [rsp + 0x80], xmm3
movups xmm3, xmmword [r12 - 0x10]
movaps xmmword [rsp + 0x90], xmm3
movaps xmmword [rsp + 0x70], xmm2
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x50], xmm0
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x80], rax
jne 0x1400a6a5a
mov qword [rsp + 0x130], rax
jmp 0x1400a6ac3
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x140], xmm0
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x130], xmm0
cmp byte [rsp + 0x50], 2
jb 0x1400a6aac
mov rbx, qword [rsp + 0x58]
lea rcx, [rbx + 0x18]
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x140198260]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [rsp + 0x78]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
call qword [rax + 0x10]
lea rcx, [rsp + 0x130]
call fcn.1400a4060
cmp byte [rsp + 0x111], 2
je 0x1400a764d
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x160], rax
movaps xmm0, xmmword [rsp + 0xe0]
movdqa xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x150], xmm2
movdqa xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], xmm0
movzx edi, byte [rsi]
test edi, edi
je 0x1400a6b37
cmp edi, 1
mov r15, qword [rsp + 0x30]
jne 0x1400a6b3e
movzx eax, byte [rsi + 1]
jmp 0x1400a6b93
mov r15, qword [rsp + 0x30]
jmp 0x1400a6b93
mov r14, qword [rsi + 8]
movzx eax, byte [0x140198310]
mov edx, 0x20
xor ecx, ecx
call fcn.1400f3050
test rax, rax
je 0x1400a7728
mov rbx, rax
lea rdx, [r14 + 0x18]
mov rax, qword [r14]
mov r8, qword [r14 + 8]
mov r9, qword [r14 + 0x10]
lea rcx, [rsp + 0xa8]
call qword [rax]
movups xmm0, xmmword [rsp + 0xa8]
movdqu xmm1, xmmword [rsp + 0xb8]
movdqu xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov byte [rsp + 0x50], dil
mov byte [rsp + 0x51], al
mov qword [rsp + 0x58], rbx
lea rcx, [rsp + 0x60]
lea rdx, [rsi + 0x28]
mov rax, qword [rsi + 0x10]
mov r8, qword [rsi + 0x18]
mov r9, qword [rsi + 0x20]
call qword [rax]
lea rax, [r15 + 0x40]
mov qword [rsp + 0x20], rax
mov rcx, qword [r15 + 0x60]
mov rdx, qword [r15 + 0x68]
lea r12, [rsp + 0x50]
mov r8, r12
call fcn.14008d750
mov rbx, rax
shr rax, 0x39
mov rbp, qword [r15 + 0x40]
mov rdi, qword [r15 + 0x48]
mov r14, rdi
and r14, rbx
mov qword [rsp + 0x40], rax
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
xor eax, eax
pcmpeqd xmm7, xmm7
mov qword [rsp + 0x38], rax
movdqu xmm8, xmmword [rbp + r14]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb r15d, xmm0
test r15d, r15d
jne 0x1400a6c5d
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
mov rax, qword [rsp + 0x38]
jne 0x1400a6f3f
add r14, rax
add r14, 0x10
add rax, 0x10
and r14, rdi
jmp 0x1400a6c08
lea eax, [r15 - 1]
and ax, r15w
mov r15d, eax
je 0x1400a6c27
tzcnt eax, r15d
add rax, r14
and rax, rdi
neg rax
lea r13, [rax + rax*8]
lea rcx, [r13*8 - 0x48]
add rcx, rbp
mov rdx, r12
call fcn.140026aa0
test al, al
je 0x1400a6c50
lea r13, [r13*8]
add r13, rbp
lea rcx, [r13 - 0x38]
lea rdx, [rsp + 0x60]
call fcn.140024380
test al, al
je 0x1400a6c50
movups xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x60]
movups xmm2, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x190], xmm2
movaps xmmword [rsp + 0x180], xmm1
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x80], r13
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x88], rax
movzx eax, byte [rsp + 0x50]
cmp al, 3
mov r15, qword [rsp + 0x30]
je 0x1400a6d40
cmp al, 2
jb 0x1400a6d29
mov rbx, qword [rsp + 0x58]
lea rcx, [rbx + 0x18]
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x140198260]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [rsp + 0x78]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
call qword [rax + 0x10]
mov rax, qword [r15 + 0xa0]
cmp rax, qword [r13 - 8]
jbe 0x1400a705e
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x80], rax
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
call fcn.1400f2ea0
mov rbx, rax
mov ebp, edx
mov rdi, qword [r13 - 8]
cmp rdi, qword [r13 - 0x18]
jne 0x1400a6da5
lea rcx, [r13 - 0x18]
call fcn.14008e3d0
mov rax, qword [r13 - 0x10]
lea rcx, [rdi + rdi*8]
mov rdx, qword [rsp + 0x80]
mov qword [rax + rcx*8 + 0x30], rdx
movdqa xmm0, xmmword [rsp + 0x50]
movdqa xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rax + rcx*8 + 0x20], xmm2
movdqu xmmword [rax + rcx*8 + 0x10], xmm1
movdqu xmmword [rax + rcx*8], xmm0
mov qword [rax + rcx*8 + 0x38], rbx
mov dword [rax + rcx*8 + 0x40], ebp
inc rdi
mov qword [r13 - 8], rdi
cmp qword [r15 + 0xa8], 0
jne 0x1400a764d
mov edi, dword [r15 + 0xb8]
cmp edi, 0x3b9aca00
je 0x1400a764d
mov r13, qword [r15 + 0xb0]
movzx eax, byte [0x140198310]
mov edx, 0x48
xor ecx, ecx
call fcn.1400f3050
test rax, rax
je 0x1400a7737
mov r14, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], 0
mov byte [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov byte [rax + 0x38], 0
mov word [rax + 0x40], 0
lock inc qword [rax]
jle 0x1400a76f1
mov qword [r15 + 0xa8], r14
test r13, r13
jne 0x1400a6e7d
test edi, edi
je 0x1400a7746
call fcn.1400f2ea0
mov rbx, rax
mov ebp, edx
lea rcx, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_timeinterval.rs
call fcn.1400fc460
mov r12, rdx
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rdx
lea rcx, [rdx + 0x118]
add rdx, 0xb8
test rax, rax
cmove rcx, rdx
cmp dword [rcx + 0xa8], 0x3b9aca00
je 0x1400a777f
lea rcx, [rsp + 0xb0]
mov edx, 1
lock xadd qword [r12], rdx
test rax, rax
mov qword [rsp + 0x38], r13
je 0x1400a7070
test rdx, rdx
js 0x1400a76f1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x64], xmm0
movdqu xmmword [rsp + 0x54], xmm0
lock dec qword [r12]
mov r13d, 1
jne 0x1400a7098
call fcn.1401023c0
jmp 0x1400a7098
movabs rax, 0x8000000000000000
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x130], rax
jmp 0x1400a6ac3
mov r15, qword [rsp + 0x30]
cmp qword [r15 + 0x50], 0
je 0x1400a76ba
movups xmm0, xmmword [rsp + 0x50]
movdqu xmm1, xmmword [rsp + 0x60]
movups xmm2, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x190], xmm2
movdqa xmmword [rsp + 0x180], xmm1
movaps xmmword [rsp + 0x170], xmm0
mov rax, qword [r15 + 0x40]
mov rcx, qword [r15 + 0x48]
and rbx, rcx
movdqu xmm0, xmmword [rax + rbx]
pmovmskb edx, xmm0
test edx, edx
jne 0x1400a6fb7
mov r8d, 0x10
nop word cs:[rax + rax]
add rbx, r8
and rbx, rcx
movdqu xmm0, xmmword [rax + rbx]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x1400a6fa0
tzcnt edx, edx
add rdx, rbx
and rdx, rcx
movzx r8d, byte [rax + rdx]
test r8b, r8b
js 0x1400a6fdc
movdqa xmm0, xmmword [rax]
pmovmskb edx, xmm0
tzcnt edx, edx
movzx r8d, byte [rax + rdx]
lea r9, [rdx - 0x10]
and r9, rcx
mov rcx, qword [rsp + 0x40]
mov byte [rax + rdx], cl
mov byte [rax + r9 + 0x10], cl
neg rdx
lea rcx, [rdx + rdx*8]
lea r13, [rax + rcx*8]
and r8b, 1
movzx edx, r8b
sub qword [r15 + 0x50], rdx
movaps xmm0, xmmword [rsp + 0x170]
movaps xmm1, xmmword [rsp + 0x180]
movaps xmm2, xmmword [rsp + 0x190]
movups xmmword [rax + rcx*8 - 0x28], xmm2
movups xmmword [rax + rcx*8 - 0x38], xmm1
movups xmmword [rax + rcx*8 - 0x48], xmm0
mov qword [rax + rcx*8 - 0x18], 0
mov qword [rax + rcx*8 - 0x10], 8
mov qword [rax + rcx*8 - 8], 0
inc qword [r15 + 0x58]
mov rax, qword [r15 + 0xa0]
cmp rax, qword [r13 - 8]
ja 0x1400a6d51
lea rcx, [rsp + 0x130]
call fcn.1400a5980
jmp 0x1400a764d
test rdx, rdx
js 0x1400a76f1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x64], xmm0
movdqu xmmword [rsp + 0x54], xmm0
lock dec qword [r12]
jne 0x1400a7095
call fcn.140102300
xor r13d, r13d
movzx eax, byte [0x140198310]
mov edx, 0x70
xor ecx, ecx
call fcn.1400f3050
test rax, rax
je 0x1400a7797
mov r15, rax
mov qword [rax], r13
mov qword [rax + 8], r12
mov qword [rax + 0x10], rbx
mov dword [rax + 0x18], ebp
movdqu xmm0, xmmword [rsp + 0x50]
movdqu xmm1, xmmword [rsp + 0x60]
movdqu xmmword [rax + 0x1c], xmm0
movdqu xmmword [rax + 0x2c], xmm1
mov eax, dword [rsp + 0x70]
mov dword [r15 + 0x3c], eax
mov qword [r15 + 0x40], 0xffffffffffffffff
pxor xmm0, xmm0
movdqu xmmword [r15 + 0x48], xmm0
movdqu xmmword [r15 + 0x51], xmm0
mov eax, dword [rsp + 0xa8]
mov ecx, dword [rsp + 0xab]
mov dword [r15 + 0x61], eax
mov dword [r15 + 0x64], ecx
mov byte [r15 + 0x68], 0
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4b]
mov dword [r15 + 0x69], eax
mov dword [r15 + 0x6c], ecx
mov rax, qword [rsp + 0x168]
mov rbx, qword [rax]
jmp 0x1400a7135
pause
mov rax, qword [rbx + 8]
nop dword [rax]
cmp rax, 0xffffffffffffffff
je 0x1400a7133
test rax, rax
js 0x1400a770b
lea rcx, [rax + 1]
lock cmpxchg qword [rbx + 8], rcx
jne 0x1400a7140
mov rax, qword [rsp + 0x30]
mov r13, qword [rax]
test r13, r13
je 0x1400a71de
mov r12, qword [rax + 8]
mov rbp, qword [r12 + 0x10]
movzx eax, byte [0x140198310]
mov edx, 0x30
xor ecx, ecx
call fcn.1400f3050
test rax, rax
je 0x1400a77a6
dec rbp
and rbp, 0xfffffffffffffff0
lea rcx, [rbp + 0x10]
add rcx, r13
mov rdx, qword [rsp + 0x38]
mov qword [rax], rdx
mov dword [rax + 8], edi
mov qword [rax + 0x10], r15
mov byte [rax + 0x18], 0
mov edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x2b]
mov dword [rax + 0x19], edx
mov dword [rax + 0x1c], r8d
mov qword [rax + 0x20], r14
mov qword [rax + 0x28], rbx
lea r8, fcn.14007c120
mov rdx, rax
call qword [r12 + 0x18]
jmp 0x1400a764d
mov eax, 1
lock xadd qword [0x140198050], rax
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], edi
mov qword [rsp + 0x60], r15
mov byte [rsp + 0x68], 0
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x2b]
mov dword [rsp + 0x69], eax
mov dword [rsp + 0x6c], ecx
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], rbx
lea rax, [rsp + 0x48]
mov qword [rsp + 0x80], rax
mov eax, dword [0x140198314]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x120]
test eax, eax
je 0x1400a7274
cmp eax, 1
je 0x1400a72a1
lea rcx, [rsp + 0x50]
call fcn.14007c120
mov al, 1
mov byte [rsp + 0x50], al
lea rdx, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srccommonexec.rs
lea rcx, [rsp + 0x50]
call fcn.140121780
mov eax, dword [0x140198314]
mov rcx, qword gs:[0x58]
mov rdi, qword [rcx + rax*8]
lea rcx, [rdi + 0xd0]
lea rdx, [0x14009f000]
call fcn.1400e8540
mov byte [rdi + 0x120], 1
mov eax, dword [0x140198314]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0xd0]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x1400a77b5
inc rax
mov ecx, dword [0x140198314]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0xd0], rax
mov rax, qword [rcx + 0xd8]
cmp rax, 2
je 0x1400a77c1
mov r14, qword [rsp + 0x48]
test rax, rax
je 0x1400a747e
mov eax, dword [0x140198314]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r15, qword [rax + 0xe0]
lock inc qword [r15]
jle 0x1400a76f1
movzx eax, byte [0x140198310]
mov edx, 0x100
xor ecx, ecx
call fcn.1400f3050
test rax, rax
je 0x1400a77fc
mov rdi, rax
and rdi, 0xffffffffffffff80
mov qword [rdi + 0x78], rax
mov qword [rdi + 0x80], 0xcc
mov qword [rdi + 0x88], 0
lea rax, str._A_b_
mov qword [rdi + 0x90], rax
mov qword [rdi + 0x98], 0
mov qword [rdi + 0xa0], r15
mov qword [rdi + 0xa8], r14
movups xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x60]
movups xmm2, xmmword [rsp + 0x70]
movups xmmword [rdi + 0xb0], xmm0
movups xmmword [rdi + 0xc0], xmm1
movups xmmword [rdi + 0xd0], xmm2
xorps xmm0, xmm0
movaps xmmword [rdi + 0xe0], xmm0
mov qword [rdi + 0xf0], 0
mov rax, qword [r15 + 0x88]
mov qword [rdi + 0x98], rax
mov rcx, qword [r15 + 0x68]
mov rax, qword [r15 + 0x80]
and rax, r14
lea rdx, [rax + rax*2]
lea rbx, [rcx + rdx*8]
mov r8b, 1
xor eax, eax
lock cmpxchg byte [rcx + rdx*8], r8b
jne 0x1400a76cd
sub rdi, 0xffffffffffffff80
lea rax, [r15 + 0x78]
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], r14
movzx eax, byte [r15 + 0x90]
test al, al
jne 0x1400a759a
add r15, 0x10
lea rcx, [rsp + 0xa8]
mov rdx, rdi
call fcn.1400af410
mov byte [rsp + 0xc8], 0
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xb0], rdi
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0xa8]
call fcn.140108280
jmp 0x1400a7618
mov eax, dword [0x140198314]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r15, qword [rax + 0xe0]
lock inc qword [r15]
jle 0x1400a76f1
movzx eax, byte [0x140198310]
mov edx, 0x100
xor ecx, ecx
call fcn.1400f3050
test rax, rax
je 0x1400a77fc
mov rdi, rax
and rdi, 0xffffffffffffff80
mov qword [rdi + 0x78], rax
mov qword [rdi + 0x80], 0xcc
mov qword [rdi + 0x88], 0
lea rax, [0x140152348]
mov qword [rdi + 0x90], rax
mov qword [rdi + 0x98], 0
mov qword [rdi + 0xa0], r15
mov qword [rdi + 0xa8], r14
movups xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x60]
movups xmm2, xmmword [rsp + 0x70]
movups xmmword [rdi + 0xb0], xmm0
movups xmmword [rdi + 0xc0], xmm1
movups xmmword [rdi + 0xd0], xmm2
xorps xmm0, xmm0
movaps xmmword [rdi + 0xe0], xmm0
mov qword [rdi + 0xf0], 0
mov rax, qword [r15 + 0x78]
mov qword [rdi + 0x98], rax
mov rcx, qword [r15 + 0x58]
mov rax, qword [r15 + 0x70]
and rax, r14
lea rdx, [rax + rax*2]
lea rbx, [rcx + rdx*8]
mov r8b, 1
xor eax, eax
lock cmpxchg byte [rcx + rdx*8], r8b
jne 0x1400a76e4
sub rdi, 0xffffffffffffff80
lea rax, [r15 + 0x68]
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], r14
movzx eax, byte [r15 + 0x80]
test al, al
je 0x1400a75e6
mov rcx, qword [rsp + 0xa8]
xor edx, edx
mov al, 1
lock cmpxchg byte [rcx], dl
jne 0x1400a76da
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [rax + 0x30]
mov rax, 0xffffffffffffffc0
lock xadd qword [rdi], rax
cmp rax, 0x3f
jbe 0x1400a780b
and rax, 0xffffffffffffffc0
cmp rax, 0x40
jne 0x1400a7618
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [rax + 0x10]
jmp 0x1400a7618
lea rcx, [rsp + 0xa8]
mov rdx, rdi
call fcn.1400af410
mov eax, dword [0x140198314]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0xe0]
mov rdx, rdi
call fcn.140102a90
mov eax, dword [0x140198314]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
dec qword [rax + 0xd0]
mov ecx, 0x84
mov eax, 0xcc
lock cmpxchg qword [rdi], rcx
je 0x1400a764d
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [rax + 0x20]
cmp byte [rsi], 2
jb 0x1400a767a
mov rdi, qword [rsi + 8]
lea rcx, [rdi + 0x18]
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x140198260]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [rsi + 0x28]
mov rax, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov r8, qword [rsi + 0x20]
call qword [rax + 0x10]
movaps xmm6, xmmword [rsp + 0x1a0]
movaps xmm7, xmmword [rsp + 0x1b0]
movaps xmm8, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [r15 + 0x60]
mov rcx, qword [rsp + 0x20]
call fcn.1401219a0
jmp 0x1400a6f4f
mov rcx, rbx
call fcn.140120410
jmp 0x1400a7400
call fcn.140120760
jmp 0x1400a75b0
mov rcx, rbx
call fcn.140120410
jmp 0x1400a756e
ud2
lea rcx, str.value_already_sent
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcclientpool.rsC:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcclientclient.rs
mov edx, 0x12
call fcn.14011b950
call fcn.1401218e0
lea rcx, str.assertion_failed:_slot.is_none__C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001f_futures_channel_0.3.30_srconeshot.rs
lea r8, [0x140155f10]
mov edx, 0x20
call fcn.14011b5f0
mov ecx, 8
mov edx, 0x20
call fcn.14011b280
mov ecx, 8
mov edx, 0x48
call fcn.14011b280
lea rax, str._period__must_be_non_zero.
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x60], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
lea rdx, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcclientpool.rsC:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcclientclient.rs
lea rcx, [rsp + 0x50]
call fcn.14011b520
lea rcx, [0x140162998]
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_timeinterval.rs
mov edx, 0x73
call fcn.14011b950
mov ecx, 8
mov edx, 0x70
call fcn.14011b280
mov ecx, 8
mov edx, 0x30
call fcn.14011b280
lea rcx, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtimecontextcurrent.rs
call fcn.14011b830
lea rcx, [rsp + 0x50]
call fcn.14007c120
mov eax, dword [0x140198314]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
dec qword [rax + 0xd0]
xor eax, eax
mov byte [rsp + 0x50], al
lea rdx, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srccommonexec.rs
lea rcx, [rsp + 0x50]
call fcn.140121780
mov ecx, 0x80
mov edx, 0x80
call fcn.14011b280
lea rcx, str.assertion_failed:_prev.ref_count_____1
lea r8, [0x1401625b8]
mov edx, 0x27
call fcn.14011b5f0
int3