// File: /workspace/github_c_makefile_star2_O0/oridb[P]mc/mi/match.c
// Function: addcapture
static Node *
addcapture(Node *n, Node **cap, size_t ncap)
{
	size_t i, j;

	for (i = 0; i < n->block.nstmts; i++) {
		if (n->block.stmts[i]->type != Ndecl)
			continue;
		for (j = 0; j < ncap; j++) {
			assert(cap[j]->expr.op == Oasn);
			assert(cap[j]->expr.args[0]->expr.op == Ovar);
			assert(cap[j]->expr.args[0]->expr.isconst == 0);
			if (n->block.stmts[i]->decl.did !=  cap[j]->expr.args[0]->expr.did)
				continue;
			assert(n->block.stmts[i]->decl.init == NULL);
			assert(cap[j]->expr.args[0]->expr.op == Ovar);
			n->block.stmts[i]->decl.init = cap[j]->expr.args[1];
		}
	}
	return n;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x20(%rcx), %rax
jae 0x451c6
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpl $0xb, 0x8(%rax)
je 0x45019
jmp 0x451b5
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x451b3
movq -0x10(%rbp), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpl $0x1d, 0x18(%rax)
jne 0x45043
jmp 0x45062
leaq 0x10586(%rip), %rdi     # 0x555d0
leaq 0x10464(%rip), %rsi     # 0x554b5
movl $0xa7, %edx
leaq 0x1058b(%rip), %rcx     # 0x555e8
callq 0x6160
movq -0x10(%rbp), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x50(%rax), %rax
movq (%rax), %rax
cmpl $0x33, 0x18(%rax)
jne 0x4507d
jmp 0x4509c
leaq 0x1058e(%rip), %rdi     # 0x55612
leaq 0x1042a(%rip), %rsi     # 0x554b5
movl $0xa8, %edx
leaq 0x10551(%rip), %rcx     # 0x555e8
callq 0x6160
movq -0x10(%rbp), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x50(%rax), %rax
movq (%rax), %rax
cmpl $0x0, 0x30(%rax)
jne 0x450b7
jmp 0x450d6
leaq 0x1057a(%rip), %rdi     # 0x55638
leaq 0x103f0(%rip), %rsi     # 0x554b5
movl $0xa9, %edx
leaq 0x10517(%rip), %rcx     # 0x555e8
callq 0x6160
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rcx
movq -0x28(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0x50(%rcx), %rcx
movq (%rcx), %rcx
cmpq 0x38(%rcx), %rax
je 0x45108
jmp 0x451a2
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq $0x0, 0x30(%rax)
jne 0x45121
jmp 0x45140
leaq 0x10538(%rip), %rdi     # 0x55660
leaq 0x10386(%rip), %rsi     # 0x554b5
movl $0xac, %edx
leaq 0x104ad(%rip), %rcx     # 0x555e8
callq 0x6160
movq -0x10(%rbp), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x50(%rax), %rax
movq (%rax), %rax
cmpl $0x33, 0x18(%rax)
jne 0x4515b
jmp 0x4517a
leaq 0x104b0(%rip), %rdi     # 0x55612
leaq 0x1034c(%rip), %rsi     # 0x554b5
movl $0xad, %edx
leaq 0x10473(%rip), %rcx     # 0x555e8
callq 0x6160
movq -0x10(%rbp), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x50(%rax), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x20(%rbp), %rdx
movq (%rax,%rdx,8), %rax
movq %rcx, 0x30(%rax)
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x45021
jmp 0x451b5
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x44fec
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq