// File: chhylp123[P]hifiasm/inter.cpp
// Function: sysm_graph_bin(ug_bin_t*)
void sysm_graph_bin(ug_bin_t *s)
{
	uint64_t k, i; kv_emask_t *r;
	s->is_cnt = 1; s->is_ovlp = 0;
	kt_for(s->n_thread, worker_for_graph_bin_sysm, s, s->ug->u.n);
	for (i = 0; i < s->mm->n; i++) {
		r = &(s->mm->a[i]); 
		for (k = 0; k < r->n; k++) {
			if(r->a[k].rn == (uint32_t)-1) s->mm->a[r->a[k].tn].m++;
		}
	}
	for (i = 0; i < s->mm->n; i++) {
		r = &(s->mm->a[i]); 
		if(r->m > r->n) REALLOC(r->a, r->m);
	}
	

	s->is_cnt = 0; s->is_ovlp = 1;
	kt_for(s->n_thread, worker_for_graph_bin_sysm, s, s->ug->u.n);

	s->is_cnt = 1; s->is_ovlp = 1;
	kt_for(s->n_thread, worker_for_graph_bin_sysm, s, s->ug->u.n);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl $0x1, 0xac(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0xb0(%rax)
movq -0x8(%rbp), %rax
movl 0xa8(%rax), %edi
movq -0x8(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rcx
leaq 0x1d8(%rip), %rsi       # 0x308dd0
callq 0x16d710
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0xf8(%rcx), %rcx
movl 0x8(%rcx), %ecx
cmpq %rcx, %rax
jae 0x308cc0
movq -0x8(%rbp), %rax
movq 0xf8(%rax), %rax
movq (%rax), %rax
imulq $0x18, -0x18(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x308cad
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
cmpl $-0x1, 0x4(%rax)
jne 0x308c9d
movq -0x8(%rbp), %rax
movq 0xf8(%rax), %rax
movq (%rax), %rax
movq -0x20(%rbp), %rcx
movq (%rcx), %rcx
movq -0x10(%rbp), %rdx
shlq $0x5, %rdx
addq %rdx, %rcx
movl (%rcx), %ecx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
jmp 0x308c9f
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x308c42
jmp 0x308caf
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x308c05
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0xf8(%rcx), %rcx
movl 0x8(%rcx), %ecx
cmpq %rcx, %rax
jae 0x308d3d
movq -0x8(%rbp), %rax
movq 0xf8(%rax), %rax
movq (%rax), %rax
imulq $0x18, -0x18(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0x308d2d
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rsi
shlq $0x5, %rsi
callq 0x2360
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
jmp 0x308d2f
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x308cc8
movq -0x8(%rbp), %rax
movl $0x0, 0xac(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0xb0(%rax)
movq -0x8(%rbp), %rax
movl 0xa8(%rax), %edi
movq -0x8(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rcx
leaq 0x57(%rip), %rsi        # 0x308dd0
callq 0x16d710
movq -0x8(%rbp), %rax
movl $0x1, 0xac(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0xb0(%rax)
movq -0x8(%rbp), %rax
movl 0xa8(%rax), %edi
movq -0x8(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rcx
leaq 0x16(%rip), %rsi        # 0x308dd0
callq 0x16d710
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)