// File: /workspace/github_cpp_makefile_star2_O2/corecodec[P]coremake/coremake.c
// Function: findref
item* findref(const item* p)
{
	if (p->parent && (stricmp(p->parent->value,"project")==0 ||
		              stricmp(p->parent->value,"dep")==0 ||
		              stricmp(p->parent->value,"use")==0 ||
					  stricmp(p->parent->value,"useinclude")==0 ||
					  stricmp(p->parent->value,"usemerge")==0 ||
					  stricmp(p->parent->value,"usebuilt")==0))
	{
		item* v = item_find(getroot(p,"exe"),p->value);
		if (!v)
			v = item_find(getroot(p,"con"),p->value);
		if (!v)
			v = item_find(getroot(p,"lib"),p->value);
		if (!v)
			v = item_find(getroot(p,"dll"),p->value);
		if (!v)
			v = item_find(getroot(p,"group"),p->value);
		if (!v)
			v = item_find(getroot(p,"dll_csharp"),p->value);
		if (!v)
			v = item_find(getroot(p,"con_csharp"),p->value);
		if (!v)
			v = item_find(getroot(p,"exe_csharp"),p->value);
		if (!v)
			v = item_find(getroot(p,"lib_csharp"),p->value);
		if (!v)
			v = item_find(getroot(p,"exe_android"),p->value);
		if (!v)
			v = item_find(getroot(p,"dll_android"),p->value);
		return v;
	}
	return NULL;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq 0x10(%rdi), %rax
testq %rax, %rax
je 0x27fb
movq %rdi, %rbx
movq (%rax), %r14
leaq 0xde3b(%rip), %rsi      # 0x105cb
movq %r14, %rdi
callq 0x2070
testl %eax, %eax
je 0x2802
leaq 0xd935(%rip), %rsi      # 0x100d8
movq %r14, %rdi
callq 0x2070
testl %eax, %eax
je 0x2802
leaq 0xd926(%rip), %rsi      # 0x100dc
movq %r14, %rdi
callq 0x2070
testl %eax, %eax
je 0x2802
leaq 0xd917(%rip), %rsi      # 0x100e0
movq %r14, %rdi
callq 0x2070
testl %eax, %eax
je 0x2802
leaq 0xd90f(%rip), %rsi      # 0x100eb
movq %r14, %rdi
callq 0x2070
testl %eax, %eax
je 0x2802
leaq 0xd905(%rip), %rsi      # 0x100f4
movq %r14, %rdi
callq 0x2070
testl %eax, %eax
je 0x2802
xorl %eax, %eax
jmp 0x294c
leaq 0xe915(%rip), %rsi      # 0x1111e
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x262e
testq %rax, %rax
jne 0x294c
leaq 0xe946(%rip), %rsi      # 0x11172
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x262e
testq %rax, %rax
jne 0x294c
leaq 0xe950(%rip), %rsi      # 0x1119f
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x262e
testq %rax, %rax
jne 0x294c
leaq 0xe90b(%rip), %rsi      # 0x1117d
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x262e
testq %rax, %rax
jne 0x294c
leaq 0xd868(%rip), %rsi      # 0x100fd
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x262e
testq %rax, %rax
jne 0x294c
leaq 0xd84b(%rip), %rsi      # 0x10103
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x262e
testq %rax, %rax
jne 0x294c
leaq 0xd837(%rip), %rsi      # 0x1010e
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x262e
testq %rax, %rax
jne 0x294c
leaq 0xd823(%rip), %rsi      # 0x10119
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x262e
testq %rax, %rax
jne 0x294c
leaq 0xd80f(%rip), %rsi      # 0x10124
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x262e
testq %rax, %rax
jne 0x294c
leaq 0xd7fb(%rip), %rsi      # 0x1012f
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x262e
testq %rax, %rax
je 0x2954
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0xd7e0(%rip), %rsi      # 0x1013b
movq %rbx, %rdi
callq 0x268c
movq (%rbx), %rsi
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x262e