Function at 0x1400776d0
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, 0x198
mov qword [rsp + 0x190], r9
mov rsi, rdx
mov rbx, rcx
cmp byte [r8 + 0x10], 2
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0xc8], rcx
jne 0x1400779b1
cmp qword [rbx + 0x58], 0
je 0x1400779b1
mov qword [rsp + 0x78], r8
mov rcx, qword [rbx + 0x60]
mov rdx, qword [rbx + 0x68]
mov r8, rsi
call fcn.140077450
mov rcx, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x48]
mov r8, rax
shr r8, 0x39
movd xmm0, r8d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx r9d, byte [rsi]
mov r8, qword [rsi + 8]
mov qword [rsp + 0xa8], r8
movzx r8d, byte [rsi + 1]
mov byte [rsp + 0xa0], r8b
mov r11, qword [rsi + 0x18]
mov rdi, qword [rsi + 0x20]
mov qword [rsp + 0x88], rdi
neg rdi
xor r8d, r8d
mov qword [rsp + 0x80], r8
pcmpeqd xmm1, xmm1
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x98], rcx
and rax, rdx
movdqu xmm2, xmmword [rcx + rax]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm2
pmovmskb r10d, xmm3
test r10d, r10d
jne 0x140077821
mov rcx, qword [rsp + 0x98]
pcmpeqb xmm2, xmm1
pmovmskb r10d, xmm2
test r10d, r10d
mov rsi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x78]
jne 0x1400779b1
mov r8, qword [rsp + 0x80]
add rax, r8
add rax, 0x10
add r8, 0x10
mov qword [rsp + 0x80], r8
jmp 0x14007779a
test r10b, r10b
je 0x140078d07
lea r10d, [r15 - 1]
and r10d, r15d
test r10w, r10w
mov rdx, r8
mov r9, qword [rsp + 0x90]
je 0x1400777b4
mov r15d, r10d
tzcnt r10d, r15d
add r10, rax
mov r8, rdx
and r10, rdx
neg r10
lea r10, [r10 + r10*8]
mov rcx, qword [rsp + 0x98]
lea r12, [rcx + r10*8]
cmp r9d, 1
je 0x1400778f0
cmp r9d, 2
jne 0x140078d07
movzx r10d, byte [r12 - 0x48]
cmp r10b, 2
jne 0x140077800
mov rcx, qword [rsp + 0xa8]
mov r10, qword [rcx + 0x10]
mov rsi, qword [r12 - 0x40]
cmp r10, qword [rsi + 0x10]
jne 0x140077809
mov rcx, qword [rsp + 0xa8]
mov rbp, qword [rcx + 8]
mov rbx, qword [rsi + 8]
mov r13, r10
neg r13
mov rsi, 0xffffffffffffffff
nop dword [rax]
lea r9, [rsi + r13]
cmp r9, 0xffffffffffffffff
je 0x140077930
movzx r9d, byte [rbp + rsi + 1]
movzx r14d, byte [rbx + rsi + 1]
lea ecx, [r9 - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
lea edx, [r14 - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or cl, r9b
or dl, r14b
inc rsi
cmp cl, dl
je 0x1400778a0
cmp rsi, r10
jb 0x140077809
jmp 0x140077930
movzx r10d, byte [r12 - 0x48]
cmp r10b, 1
jne 0x140077800
movzx r10d, byte [r12 - 0x47]
cmp byte [rsp + 0xa0], 0
je 0x14007791a
test r10b, r10b
jne 0x140077930
jmp 0x140077809
test r10b, r10b
jne 0x140077809
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x88]
cmp rcx, qword [r12 - 0x28]
jne 0x140077809
mov rsi, qword [r12 - 0x30]
mov r10, 0xffffffffffffffff
nop
lea rcx, [rdi + r10]
cmp rcx, 0xffffffffffffffff
je 0x14007799d
movzx ecx, byte [r11 + r10 + 1]
movzx edx, byte [rsi + r10 + 1]
lea r9d, [rcx - 0x41]
cmp r9b, 0x1a
setb r9b
shl r9b, 5
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or r9b, cl
or bl, dl
inc r10
cmp r9b, bl
je 0x140077950
cmp r10, qword [rsp + 0x88]
jb 0x140077809
mov rcx, qword [rsp + 0x78]
call fcn.14006f340
mov rbx, qword [rsp + 0x28]
jmp 0x14007878f
mov rax, qword [r8 + 0x30]
mov qword [rsp + 0x100], rax
movdqu xmm0, xmmword [r8]
movdqu xmm1, xmmword [r8 + 0x10]
movdqu xmm2, xmmword [r8 + 0x20]
movdqa xmmword [rsp + 0xf0], xmm2
movdqa xmmword [rsp + 0xe0], xmm1
movdqa xmmword [rsp + 0xd0], xmm0
lea rcx, [rbx + 0x70]
mov qword [rsp + 0x140], rcx
mov rdx, rsi
call fcn.140076dd0
test rax, rax
je 0x140077ff6
mov r15, rax
mov rax, qword [rax + 0x18]
test rax, rax
je 0x140077fcd
xor esi, esi
jmp 0x140077aa6
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], r14
mov byte [rsp + 0xe0], sil
mov eax, dword [rsp + 0x150]
mov ecx, dword [rsp + 0x153]
lea rdx, [rsp + 0x102]
mov dword [rdx - 0x1e], ecx
mov dword [rdx - 0x21], eax
mov qword [rsp + 0xe8], rbp
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xf8], rbx
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x100], al
mov byte [rsp + 0x101], r12b
movzx eax, word [rsp + 0x24]
mov word [rdx + 4], ax
mov eax, dword [rsp + 0x20]
mov dword [rdx], eax
xor esi, esi
mov rax, qword [r15 + 0x18]
test rax, rax
je 0x140077fcd
mov rcx, qword [r15 + 0x10]
lea rdx, [rcx + 1]
mov r8, qword [r15]
mov r9, qword [r15 + 8]
cmp rdx, r9
cmovb r9, rsi
neg r9
lea rdx, [rcx + r9]
inc rdx
mov qword [r15 + 0x10], rdx
dec rax
mov qword [r15 + 0x18], rax
mov r13, qword [r8 + rcx*8]
movzx eax, byte [r13 + 0x80]
test al, al
je 0x140077b40
mov al, 1
xchg byte [r13 + 0x80], al
mov al, 1
xchg byte [r13 + 0x60], al
test al, al
jne 0x140077b15
mov rax, qword [r13 + 0x50]
mov rcx, qword [r13 + 0x58]
mov qword [r13 + 0x50], 0
mov edx, 0
xchg byte [r13 + 0x60], dl
test rax, rax
je 0x140077b15
call qword [rax + 8]
mov al, 1
xchg byte [r13 + 0x78], al
test al, al
je 0x140077c00
lock dec qword [r13]
jne 0x140077a99
jmp 0x140077c29
mov qword [rsp + 0x80], r14
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0xa8], rbp
movzx r12d, byte [rsp + 0x101]
mov byte [rsp + 0x101], 2
cmp r12b, 2
je 0x140078d25
mov r9, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xd8]
movzx esi, byte [rsp + 0xe0]
mov rbp, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xf8]
movzx r11d, byte [rsp + 0x100]
cmp sil, 2
jne 0x140077c36
mov byte [rsp + 0x148], r11b
mov byte [rsp + 0x108], sil
test rbp, rbp
je 0x140077c92
mov rcx, rbp
mov esi, r12d
mov r12, r9
call qword [rdi + 0x18]
mov r9, r12
mov r12d, esi
lock inc qword [rbx]
jg 0x140077c9e
jmp 0x140078d21
mov rax, qword [r13 + 0x68]
mov rcx, qword [r13 + 0x70]
mov qword [r13 + 0x68], 0
test rax, rax
je 0x140077c18
call qword [rax + 0x18]
xor eax, eax
xchg byte [r13 + 0x78], al
lock dec qword [r13]
jne 0x140077a99
mov rcx, r13
call fcn.14006f2d0
jmp 0x140077a99
lea r8, [rsp + 0x102]
movzx eax, word [r8 + 4]
mov word [rsp + 0x154], ax
mov ecx, dword [r8]
mov dword [rsp + 0x150], ecx
mov edx, dword [r8 - 0x21]
mov r8d, dword [r8 - 0x1e]
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x33], r8d
mov edx, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x33]
mov dword [rsp + 0x110], edx
mov dword [rsp + 0x113], r8d
mov dword [rsp + 0xc0], ecx
mov word [rsp + 0xc4], ax
jmp 0x140077d20
xor eax, eax
lock inc qword [rbx]
jle 0x140078d21
lock inc qword [r9]
movzx esi, byte [rsp + 0x108]
movzx r11d, byte [rsp + 0x148]
jle 0x140078d21
lock inc qword [r14 + 0x1c8]
lock inc qword [r14]
jle 0x140078d21
lea r8, [rsp + 0x102]
movzx ecx, word [r8 + 4]
mov word [rsp + 0x154], cx
mov ecx, dword [r8]
mov dword [rsp + 0x150], ecx
mov qword [rsp + 0xe8], rbp
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xf8], rbx
mov byte [rsp + 0x100], r11b
mov byte [rsp + 0xe0], 2
mov byte [rsp + 0x101], r12b
mov rbp, rax
mov rdi, rdx
mov eax, dword [rsp + 0x110]
mov ecx, dword [rsp + 0x113]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x33], ecx
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0xb0], eax
movzx eax, word [rsp + 0xc4]
mov word [rsp + 0xb4], ax
movzx eax, byte [r13 + 0x80]
test al, al
jne 0x140077d6e
mov al, 1
xchg byte [r13 + 0x48], al
test al, al
je 0x140077e83
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x33]
mov dword [rsp + 0x153], ecx
mov dword [rsp + 0x150], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x20], eax
movzx eax, word [rsp + 0xb4]
mov word [rsp + 0x24], ax
mov byte [rsp + 0x90], r11b
mov qword [rsp + 0x98], r9
mov al, 1
xchg byte [r13 + 0x80], al
mov al, 1
xchg byte [r13 + 0x60], al
test al, al
jne 0x140077de0
mov rax, qword [r13 + 0x50]
mov rcx, qword [r13 + 0x58]
mov qword [r13 + 0x50], 0
mov edx, 0
xchg byte [r13 + 0x60], dl
test rax, rax
je 0x140077de0
call qword [rax + 8]
mov al, 1
xchg byte [r13 + 0x78], al
test al, al
je 0x140077e27
lock dec qword [r13]
jne 0x140077e50
mov rcx, r13
call fcn.14006f2d0
movzx ecx, byte [rsp + 0x101]
cmp r12b, 2
mov byte [rsp + 0x78], sil
je 0x140077e63
cmp cl, 2
je 0x140077a1d
lea rcx, [rsp + 0xd0]
call fcn.14006f340
jmp 0x140077a1d
mov rax, qword [r13 + 0x68]
mov rcx, qword [r13 + 0x70]
mov qword [r13 + 0x68], 0
test rax, rax
je 0x140077e3f
call qword [rax + 0x18]
xor eax, eax
xchg byte [r13 + 0x78], al
lock dec qword [r13]
je 0x140077df1
nop dword [rax]
movzx ecx, byte [rsp + 0x101]
cmp r12b, 2
mov byte [rsp + 0x78], sil
jne 0x140077e0c
mov rax, qword [r15 + 0x18]
cmp cl, 2
je 0x140077fc8
test rax, rax
mov esi, 0
jne 0x140077aa6
jmp 0x140077fcd
cmp byte [r13 + 0x41], 2
jne 0x140078da4
mov qword [r13 + 0x10], r9
mov qword [r13 + 0x18], r14
mov byte [r13 + 0x20], sil
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x33]
mov dword [r13 + 0x21], eax
mov dword [r13 + 0x24], ecx
mov qword [r13 + 0x28], rbp
mov qword [r13 + 0x30], rdi
mov qword [r13 + 0x38], rbx
mov byte [r13 + 0x40], r11b
mov byte [r13 + 0x41], r12b
mov eax, dword [rsp + 0xb0]
mov dword [r13 + 0x42], eax
movzx eax, word [rsp + 0xb4]
mov word [r13 + 0x46], ax
xor eax, eax
xchg byte [r13 + 0x48], al
movzx eax, byte [r13 + 0x80]
mov r12b, 2
test al, al
je 0x140077f3c
mov al, 1
xchg byte [r13 + 0x48], al
test al, al
mov rbp, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x80]
movzx esi, byte [rsp + 0x78]
jne 0x140077dac
movzx r12d, byte [r13 + 0x41]
mov byte [r13 + 0x41], 2
cmp r12b, 2
jne 0x140077f66
xor eax, eax
xchg byte [r13 + 0x48], al
mov r12b, 2
jmp 0x140077dac
mov rbp, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x80]
movzx esi, byte [rsp + 0x78]
jmp 0x140077dac
lea rax, [r13 + 0x21]
lea rcx, [r13 + 0x42]
mov rdx, qword [r13 + 0x10]
mov qword [rsp + 0x98], rdx
mov r14, qword [r13 + 0x18]
movzx esi, byte [r13 + 0x20]
mov edx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rsp + 0x153], eax
mov dword [rsp + 0x150], edx
mov rbp, qword [r13 + 0x28]
mov rdi, qword [r13 + 0x30]
mov rbx, qword [r13 + 0x38]
movzx eax, byte [r13 + 0x40]
mov byte [rsp + 0x90], al
movzx eax, word [rcx + 4]
mov word [rsp + 0x24], ax
mov eax, dword [rcx]
mov dword [rsp + 0x20], eax
xor eax, eax
xchg byte [r13 + 0x48], al
jmp 0x140077dac
test rax, rax
jne 0x140077ff6
lea rcx, [rsp + 0x30]
mov rdx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x28]
call fcn.140077050
cmp qword [rsp + 0x30], 0
je 0x140077ff6
lea rcx, [rsp + 0x30]
call fcn.14006f0d0
cmp byte [rsp + 0x101], 2
mov rbx, qword [rsp + 0x28]
je 0x14007878f
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x180], rax
movaps xmm0, xmmword [rsp + 0xd0]
movdqa xmm1, xmmword [rsp + 0xe0]
movdqa xmm2, xmmword [rsp + 0xf0]
movdqa xmmword [rsp + 0x170], xmm2
movdqa xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
movzx eax, byte [rbx]
test rax, rax
je 0x14007806a
cmp eax, 1
mov rsi, qword [rsp + 0xc8]
jne 0x140078076
movzx ecx, byte [rbx + 1]
mov al, 1
jmp 0x1400780d7
xor eax, eax
mov rsi, qword [rsp + 0xc8]
jmp 0x1400780d7
movzx eax, byte [0x14018af58]
mov rcx, qword [0x14018aea8]
test rcx, rcx
jne 0x1400780a2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140078dbe
mov rcx, rax
mov qword [0x14018aea8], rax
mov r8d, 0x20
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140078dbe
mov r14, rax
mov rax, qword [rbx + 8]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
mov rcx, r14
call qword [r10]
mov al, 2
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], cl
mov qword [rsp + 0x38], r14
lea rcx, [rsp + 0x40]
lea rdx, [rbx + 0x28]
mov rax, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
mov r9, qword [rbx + 0x20]
call qword [rax]
lea rax, [rsi + 0x40]
mov qword [rsp + 0x108], rax
mov rcx, qword [rsi + 0x60]
mov rdx, qword [rsi + 0x68]
lea r8, [rsp + 0x30]
call fcn.140077450
mov rbp, rax
mov rax, qword [rsi + 0x40]
mov r9, qword [rsi + 0x48]
mov rcx, rbp
shr rcx, 0x39
mov qword [rsp + 0x148], rcx
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx ecx, byte [rsp + 0x30]
movzx edx, byte [rsp + 0x31]
mov byte [rsp + 0x80], dl
mov byte [rsp + 0xa8], cl
movzx ecx, cl
mov dword [rsp + 0x90], ecx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x88], rcx
mov r11, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov qword [rsp + 0xa0], r12
neg r12
xor ecx, ecx
mov qword [rsp + 0x78], rcx
pcmpeqd xmm1, xmm1
mov qword [rsp + 0x140], rbp
mov qword [rsp + 0x98], r9
and rbp, r9
movdqu xmm2, xmmword [rax + rbp]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm2
pmovmskb r8d, xmm3
test r8d, r8d
jne 0x140078213
pcmpeqb xmm2, xmm1
pmovmskb r8d, xmm2
test r8d, r8d
jne 0x140078669
mov rcx, qword [rsp + 0x78]
add rbp, rcx
add rbp, 0x10
add rcx, 0x10
mov qword [rsp + 0x78], rcx
jmp 0x1400781a4
cmp dword [rsp + 0x90], 0
je 0x140078d07
lea r8d, [r15 - 1]
and r8d, r15d
test r8w, r8w
mov r9, qword [rsp + 0x98]
je 0x1400781be
mov r15d, r8d
tzcnt r8d, r15d
add r8, rbp
and r8, r9
neg r8
lea r8, [r8 + r8*8]
lea rdi, [rax + r8*8]
movzx r8d, byte [rax + r8*8 - 0x48]
cmp r8, 1
je 0x1400782e0
cmp r8d, 2
jne 0x140078d07
cmp byte [rsp + 0xa8], 2
jne 0x1400781f0
mov r8, qword [rdi - 0x40]
mov rbx, qword [r8 + 0x10]
mov rcx, qword [rsp + 0x88]
cmp rbx, qword [rcx + 0x10]
jne 0x1400781fe
mov r13, qword [r8 + 8]
mov rcx, qword [rsp + 0x88]
mov r8, qword [rcx + 8]
mov rsi, rbx
neg rsi
mov r10, 0xffffffffffffffff
nop word cs:[rax + rax]
lea r14, [rsi + r10]
cmp r14, 0xffffffffffffffff
je 0x140078330
movzx r14d, byte [r13 + r10 + 1]
movzx edx, byte [r8 + r10 + 1]
lea ecx, [r14 - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
lea r9d, [rdx - 0x41]
cmp r9b, 0x1a
setb r9b
shl r9b, 5
or cl, r14b
or r9b, dl
inc r10
cmp cl, r9b
je 0x140078290
cmp r10, rbx
jb 0x1400781fe
jmp 0x140078330
mov ecx, dword [rsp + 0x90]
cmp ecx, 1
je 0x140078300
test ecx, ecx
jne 0x1400781fe
jmp 0x140078d07
cmp byte [rdi - 0x47], 0
je 0x140078315
cmp byte [rsp + 0x80], 0
jne 0x140078330
jmp 0x1400781fe
cmp byte [rsp + 0x80], 0
jne 0x1400781fe
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0xa0]
cmp qword [rdi - 0x28], rcx
jne 0x1400781fe
mov r10, qword [rdi - 0x30]
mov r8, 0xffffffffffffffff
nop dword [rax]
lea rcx, [r12 + r8]
cmp rcx, 0xffffffffffffffff
je 0x14007839e
movzx ecx, byte [r10 + r8 + 1]
movzx edx, byte [r11 + r8 + 1]
lea r9d, [rcx - 0x41]
cmp r9b, 0x1a
setb r9b
shl r9b, 5
lea esi, [rdx - 0x41]
cmp sil, 0x1a
setb bl
shl bl, 5
or r9b, cl
or bl, dl
inc r8
cmp r9b, bl
je 0x140078350
cmp r8, qword [rsp + 0xa0]
jb 0x1400781fe
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmm2, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x130], xmm2
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x40], xmm1
mov qword [rsp + 0x60], rdi
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x68], rax
movzx eax, byte [rsp + 0x30]
cmp al, 3
mov rbx, qword [rsp + 0x28]
mov r15, qword [rsp + 0xc8]
je 0x140078440
cmp al, 2
jb 0x140078429
mov r14, qword [rsp + 0x38]
lea rcx, [r14 + 0x18]
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x14018aea8]
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x58]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
call qword [rax + 0x10]
mov rax, qword [r15 + 0xa0]
cmp rax, qword [rdi - 8]
jbe 0x140078782
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x60], rax
movaps xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
call fcn.1400ea540
mov r14, rax
mov ebp, edx
mov rdx, qword [rdi - 8]
cmp rdx, qword [rdi - 0x10]
jne 0x1400784a6
lea rcx, [rdi - 0x18]
call fcn.140024b10
mov rdx, qword [rdi - 8]
mov rax, qword [rdi - 0x18]
lea rcx, [rdx + rdx*8]
mov r8, qword [rsp + 0x60]
mov qword [rax + rcx*8 + 0x30], r8
movdqa xmm0, xmmword [rsp + 0x30]
movdqa xmm1, xmmword [rsp + 0x40]
movdqa xmm2, xmmword [rsp + 0x50]
movdqu 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], r14
mov dword [rax + rcx*8 + 0x40], ebp
inc rdx
mov qword [rdi - 8], rdx
cmp qword [r15 + 0xa8], 0
jne 0x14007878f
mov esi, dword [r15 + 0xb8]
cmp esi, 0x3b9aca00
je 0x14007878f
mov rdi, qword [r15 + 0xb0]
movzx eax, byte [0x14018af58]
mov rcx, qword [0x14018aea8]
test rcx, rcx
jne 0x14007853f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140078dcf
mov rcx, rax
mov qword [0x14018aea8], rax
mov r8d, 0x48
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140078dcf
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 0x140078d21
mov qword [r15 + 0xa8], r14
mov rbx, rdi
test rdi, rdi
jne 0x1400785a7
test esi, esi
je 0x140078df1
call fcn.1400ea540
mov r12, rax
mov ebp, edx
lea rcx, str.C:Usersmpx16.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_timeinterval.rs
call fcn.1400ef630
mov r13, rdx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rdx
lea rcx, [rdx + 0x110]
add rdx, 0xb0
test rax, rax
cmove rcx, rdx
cmp dword [rcx + 0xb8], 0x3b9aca00
je 0x140078e2f
lea rcx, [rsp + 0xb8]
mov edx, 1
lock xadd qword [r13], rdx
test rax, rax
je 0x1400787e4
test rdx, rdx
js 0x140078d21
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x34], xmm0
movdqu xmmword [rsp + 0x44], xmm0
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x120], xmm0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x130], eax
lock dec qword [r13]
mov edi, 1
jne 0x140078830
call fcn.1400ee8b0
jmp 0x140078830
mov r15, qword [rsp + 0xc8]
cmp qword [r15 + 0x50], 0
je 0x140078ce9
movups xmm0, xmmword [rsp + 0x30]
movdqu xmm1, xmmword [rsp + 0x40]
movdqu xmm2, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x130], xmm2
movdqa xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
mov rcx, qword [rsp + 0x140]
and rcx, r9
movdqu xmm0, xmmword [rax + rcx]
pmovmskb edx, xmm0
test edx, edx
jne 0x1400786dc
mov r8d, 0x10
add rcx, r8
and rcx, r9
movdqu xmm0, xmmword [rax + rcx]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x1400786c5
mov rbx, qword [rsp + 0x28]
tzcnt edx, edx
add rdx, rcx
and rdx, r9
movzx r8d, byte [rax + rdx]
test r8b, r8b
js 0x140078706
movdqa xmm0, xmmword [rax]
pmovmskb ecx, xmm0
tzcnt edx, ecx
movzx r8d, byte [rax + rdx]
lea rcx, [rdx - 0x10]
and rcx, r9
mov r9, qword [rsp + 0x148]
mov byte [rax + rdx], r9b
mov byte [rcx + rax + 0x10], r9b
neg rdx
lea rcx, [rdx + rdx*8]
lea rdi, [rax + rcx*8]
and r8b, 1
movzx edx, r8b
sub qword [r15 + 0x50], rdx
movaps xmm0, xmmword [rsp + 0x110]
movaps xmm1, xmmword [rsp + 0x120]
movaps xmm2, xmmword [rsp + 0x130]
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], 8
xorps xmm0, xmm0
movups xmmword [rax + rcx*8 - 0x10], xmm0
inc qword [r15 + 0x58]
mov rax, qword [r15 + 0xa0]
cmp rax, qword [rdi - 8]
ja 0x140078451
lea rcx, [rsp + 0x150]
call fcn.14006f340
test rdx, rdx
js 0x140078d21
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x34], xmm0
movdqu xmmword [rsp + 0x44], xmm0
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x120], xmm0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x130], eax
lock dec qword [r13]
jne 0x14007882e
call fcn.1400ee7a0
xor edi, edi
movzx eax, byte [0x14018af58]
mov rcx, qword [0x14018aea8]
test rcx, rcx
jne 0x14007885c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140078de0
mov rcx, rax
mov qword [0x14018aea8], rax
mov r8d, 0x70
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140078de0
mov r15, rax
mov qword [rax], rdi
mov qword [rax + 8], r13
mov qword [rax + 0x10], r12
mov dword [rax + 0x18], ebp
movdqa xmm0, xmmword [rsp + 0x110]
movdqa xmm1, xmmword [rsp + 0x120]
movdqu xmmword [rax + 0x1c], xmm0
movdqu xmmword [rax + 0x2c], xmm1
mov eax, dword [rsp + 0x130]
mov dword [r15 + 0x3c], eax
mov qword [r15 + 0x40], 0xffffffffffffffff
mov qword [r15 + 0x48], 0
mov qword [r15 + 0x58], 0
mov byte [r15 + 0x60], 0
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x33]
mov dword [r15 + 0x61], eax
mov dword [r15 + 0x64], ecx
mov byte [r15 + 0x68], 0
mov eax, dword [rsp + 0xb0]
mov ecx, dword [rsp + 0xb3]
mov dword [r15 + 0x69], eax
mov dword [r15 + 0x6c], ecx
mov rax, qword [rsp + 0x190]
mov r12, qword [rax]
mov rbp, rbx
jmp 0x140078905
pause
mov rax, qword [r12 + 8]
nop word [rax + rax]
cmp rax, 0xffffffffffffffff
je 0x140078903
test rax, rax
js 0x140078d3f
lea rcx, [rax + 1]
lock cmpxchg qword [r12 + 8], rcx
jne 0x140078910
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x33]
mov dword [rsp + 0x23], ecx
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rax]
test rbx, rbx
je 0x1400789e2
mov rdi, qword [rax + 8]
mov r13, qword [rdi + 0x10]
movzx eax, byte [0x14018af58]
mov rcx, qword [0x14018aea8]
test rcx, rcx
jne 0x140078984
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140078e49
mov rcx, rax
mov qword [0x14018aea8], rax
mov r8d, 0x30
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140078e49
dec r13
and r13, 0xfffffffffffffff0
lea rcx, [rbx + r13]
add rcx, 0x10
mov qword [rax], rbp
mov dword [rax + 8], esi
mov qword [rax + 0x10], r15
mov byte [rax + 0x18], 0
mov edx, dword [rsp + 0x20]
mov r8d, dword [rsp + 0x23]
mov dword [rax + 0x19], edx
mov dword [rax + 0x1c], r8d
mov qword [rax + 0x20], r14
mov qword [rax + 0x28], r12
lea r8, fcn.140078f20
mov rdx, rax
call qword [rdi + 0x18]
jmp 0x1400779a7
mov eax, 1
lock xadd qword [0x14018a078], rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x40], r15
mov byte [rsp + 0x48], 0
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x23]
mov dword [rsp + 0x49], eax
mov dword [rsp + 0x4c], ecx
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r12
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x60], rax
mov eax, dword [0x14018af5c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
cmp eax, 1
je 0x140078a86
test eax, eax
jne 0x140078ea1
mov eax, dword [0x14018af5c]
mov rcx, qword gs:[0x58]
mov rdi, qword [rcx + rax*8]
lea rcx, [rdi + 0xb8]
lea rdx, [0x1400ee750]
call fcn.1400d1ec0
mov byte [rdi + 0x108], 1
mov eax, dword [0x14018af5c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0xb8]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x140078e5a
inc rax
mov ecx, dword [0x14018af5c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0xb8], rax
mov rax, qword [rcx + 0xc0]
cmp rax, 2
je 0x140078e68
mov r13, qword [rsp + 0xb0]
test rax, rax
je 0x140078bc7
mov eax, dword [0x14018af5c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0xc8]
lock inc qword [rbx]
jle 0x140078d21
movzx eax, byte [0x14018af58]
mov ecx, 0x80
mov edx, 0x80
call fcn.140015ad0
test rax, rax
je 0x140078e90
mov rdi, rax
lea rcx, [rbx + 0x70]
mov qword [rax], 0xcc
mov qword [rax + 8], 0
lea rax, [0x14014cf18]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], rbx
mov qword [rdi + 0x28], r13
mov qword [rdi + 0x30], rbp
mov dword [rdi + 0x38], esi
mov qword [rdi + 0x40], r15
mov byte [rdi + 0x48], 0
mov eax, dword [rsp + 0x20]
mov edx, dword [rsp + 0x23]
mov dword [rdi + 0x49], eax
mov dword [rdi + 0x4c], edx
mov qword [rdi + 0x50], r14
mov qword [rdi + 0x58], r12
pxor xmm0, xmm0
movdqa xmmword [rdi + 0x60], xmm0
mov qword [rdi + 0x70], 0
mov rdx, rdi
mov r8, rdi
call fcn.14006dd30
test rax, rax
je 0x140078ca6
add rbx, 0x10
mov rcx, rbx
mov rdx, rax
xor r8d, r8d
call fcn.1400f6b30
jmp 0x140078ca6
mov eax, dword [0x14018af5c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0xc8]
lock inc qword [rbx]
jle 0x140078d21
movzx eax, byte [0x14018af58]
mov ecx, 0x80
mov edx, 0x80
call fcn.140015ad0
test rax, rax
je 0x140078e90
mov rdi, rax
mov qword [rax], 0xcc
mov qword [rax + 8], 0
lea rax, [0x14014d328]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], rbx
add rbx, 0x60
mov qword [rdi + 0x28], r13
mov qword [rdi + 0x30], rbp
mov dword [rdi + 0x38], esi
mov qword [rdi + 0x40], r15
mov byte [rdi + 0x48], 0
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x23]
mov dword [rdi + 0x49], eax
mov dword [rdi + 0x4c], ecx
mov qword [rdi + 0x50], r14
mov qword [rdi + 0x58], r12
pxor xmm0, xmm0
movdqa xmmword [rdi + 0x60], xmm0
mov qword [rdi + 0x70], 0
mov rcx, rbx
mov rdx, rdi
mov r8, rdi
call fcn.14006dd30
test rax, rax
je 0x140078ca6
mov ecx, dword [0x14018af5c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov rcx, qword [rcx + 0xc8]
mov ecx, dword [rcx + 0xc8]
lea rdx, [r15 + 0x60]
mov rcx, qword [rsp + 0x108]
call fcn.140115880
mov rax, qword [r15 + 0x40]
mov r9, qword [r15 + 0x48]
jmp 0x14007867c
lea rcx, str.internal_error:_entered_unreachable_code_rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_std_src_threadmod.rs
lea r8, str.C:Usersmpx16.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.11_srcuri_scheme.rs
mov edx, 0x28
call fcn.1401100d0
ud2
ud2
lea rcx, str.value_already_sent
lea r8, str.C:Usersmpx16.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcclientpool.rs
mov edx, 0x12
call fcn.1401104c0
ud2
lea rax, str.Arc_counter_overflow
mov qword [rsp + 0x110], rax
lea rax, [0x1400f11b0]
mov qword [rsp + 0x118], rax
lea rax, [0x14017a948]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0x110]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
lea rdx, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_alloc_src_sync.rs
lea rcx, [rsp + 0x30]
call fcn.14010ff10
ud2
lea rcx, str.assertion_failed:_slot.is_none__C:Usersmpx16.cargo_registry_srcindex.crates.io_6f17d22bba15001f_futures_channel_0.3.30_srconeshot.rs
lea r8, [0x140149e98]
mov edx, 0x20
call fcn.1401100d0
ud2
mov ecx, 8
mov edx, 0x20
call fcn.14010fbd0
ud2
mov ecx, 8
mov edx, 0x48
call fcn.14010fbd0
ud2
mov ecx, 8
mov edx, 0x70
call fcn.14010fbd0
ud2
lea rax, [0x140157230]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
lea rax, [0x14017b4d0]
mov qword [rsp + 0x40], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
lea rdx, str.C:Usersmpx16.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcclientpool.rs
lea rcx, [rsp + 0x30]
call fcn.14010ff10
ud2
lea rcx, [0x140155060]
lea r8, str.C:Usersmpx16.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_timeinterval.rs
mov edx, 0x73
call fcn.1401104c0
ud2
mov ecx, 8
mov edx, 0x30
call fcn.14010fbd0
ud2
lea rcx, str.C:Usersmpx16.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.35.1_src_runtimecontextcurrent.rs
call fcn.1401103c0
ud2
lea rcx, [rsp + 0x30]
call fcn.140078f20
add byte [rax], al
add byte [rbx + 0x1120e405], cl
add byte [rbp + 0x48], ah
mov rcx, qword [0x58]
mov ecx, 0x80
mov edx, 0x80
call fcn.14010fbd0
ud2
lea rcx, [rsp + 0x30]
call fcn.140078f20
mov al, 1