LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: People::showAll()
void People::showAll()
{
	//	cout << "test 169" << endl;
		vector<Person*>::iterator it;
		for(it=begin();it!=end();it++)
		{
				(*it)->show();
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq (%rdi), %r14
cmpq 0x8(%rdi), %r14
je 0x40cf
movq %rdi, %rbx
movq (%r14), %rdi
callq 0x398a
addq $0x8, %r14
cmpq 0x8(%rbx), %r14
jne 0x40bd
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: People::deleteNumber(int const&)
void People::deleteNumber(const int &id)
{
		vector<Person*>::iterator it;
		changeFlag=1;
		char t;
	 	for(it=begin();it!=end();it++)
		{
				if((*it)->getNumber()==id)
				{
						cout << "\t\t\t\t\tthe person data is:" ;
						(*it)->show() ; 
						getchar();
						cout << "\t\t\t\t\tdo you want to delete it?(y/n)" ;
						t=getchar();
						if(t=='n')
						{
								return ;
						}
						(*it)->deleteId();
		  //               cout << "test 187" << endl;
				//		delete(*it);
		    //             cout << "test 189" << endl;
						erase(it);
				
				cout << "\t\t\t\t\tdelete success!" << endl;
				return ;
				}
		}
		cout << "\t\t\t\t\tdelete error!" << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl $0x1, 0xb107(%rip)      # 0xf1f0
movq (%rdi), %r12
movq 0x8(%rdi), %rax
cmpq %rax, %r12
je 0x4115
movq %rdi, %rbx
movl (%rsi), %ecx
leaq 0x8(%r12), %r14
movq (%r12), %rdx
cmpl %ecx, 0x68(%rdx)
je 0x4163
addq $0x8, %r12
addq $0x8, %r14
cmpq %rax, %r12
jne 0x40ff
movq 0xaeb4(%rip), %rdi      # 0xefd0
leaq 0x5fad(%rip), %rsi      # 0xa0d0
movl $0x12, %edx
callq 0x2240
movq 0xae9c(%rip), %rbx      # 0xefd0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x2110
movq 0xae66(%rip), %r15      # 0xefd0
leaq 0x60ac(%rip), %rsi      # 0xa21d
movl $0x18, %edx
movq %r15, %rdi
callq 0x2240
movq (%r12), %rdi
callq 0x398a
callq 0x2290
leaq 0x60a3(%rip), %rsi      # 0xa236
movl $0x23, %edx
movq %r15, %rdi
callq 0x2240
callq 0x2290
cmpb $0x6e, %al
jne 0x41b2
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq (%r12), %rdi
callq 0x35a0
movq 0x8(%rbx), %rdx
cmpq %rdx, %r14
je 0x41d7
leaq -0x8(%r14), %rdi
subq %r14, %rdx
movq %r14, %rsi
callq 0x2300
movq 0x8(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0x8(%rbx)
movq 0xadea(%rip), %rdi      # 0xefd0
leaq 0x606d(%rip), %rsi      # 0xa25a
movl $0x14, %edx
jmp 0x4128
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: People::deleteName(char const*)
void People::deleteName(const char* name)
{
		vector<Person*>::iterator it;
		changeFlag=1;
		char t;
		for(it=begin();it!=end();it++)
		{
				if(strcmp((*it)->getName(),name)==0)
				{
						getchar();
						cout << "\t\t\t\t\tthe person data is:";
						(*it)->show();
						cout << "\t\t\t\t\tdo you want to delete it?(y/n)";
						t=getchar();
						if(t=='y')
						{
						(*it)->deleteId();
		//				delete(*it);
						erase(it);
				        cout << "\t\t\t\t\tdelete success!" << endl;
				         return ;
						}
						if(t=='n')
						{
								continue;
						}
				}
		}
						cout << "\t\t\t\t\tdelete error!" << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl $0x1, 0xafe0(%rip)      # 0xf1f0
movq (%rdi), %r13
movq 0x8(%rdi), %r12
cmpq %r12, %r13
je 0x4291
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x8(%r13), %r14
movq (%r13), %rdi
addq $0x8, %rdi
movq %r15, %rsi
callq 0x22a0
testl %eax, %eax
jne 0x4284
callq 0x2290
movl $0x18, %edx
movq 0xad85(%rip), %r12      # 0xefd0
movq %r12, %rdi
leaq 0x5fc8(%rip), %rsi      # 0xa21d
callq 0x2240
movq (%r13), %rdi
callq 0x398a
movl $0x23, %edx
movq %r12, %rdi
leaq 0x5fc4(%rip), %rsi      # 0xa236
callq 0x2240
callq 0x2290
cmpb $0x79, %al
je 0x42e5
movq 0x8(%rbx), %r12
addq $0x8, %r13
addq $0x8, %r14
cmpq %r12, %r13
jne 0x4226
movq 0xad38(%rip), %rdi      # 0xefd0
leaq 0x5e31(%rip), %rsi      # 0xa0d0
movl $0x12, %edx
callq 0x2240
movq 0xad20(%rip), %rbx      # 0xefd0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2110
movq (%r13), %rdi
callq 0x35a0
movq 0x8(%rbx), %rdx
cmpq %rdx, %r14
je 0x430a
leaq -0x8(%r14), %rdi
subq %r14, %rdx
movq %r14, %rsi
callq 0x2300
movq 0x8(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0x8(%rbx)
movq 0xacb7(%rip), %rdi      # 0xefd0
leaq 0x5f3a(%rip), %rsi      # 0xa25a
movl $0x14, %edx
jmp 0x42a4
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: People::deletePeople()
void People::deletePeople()
{
		int flag,id;
		char name[32];
		while(1)
		{
			cout << "\t\t\t\t\t1:by the name." << endl << "\t\t\t\t\t2:by the id." << endl << "\t\t\t\t\t3:exit." << endl << "\t\t\t\t\tplease choice the delete way:" ;
			cin >> flag;
			switch(flag)
			{
					case 1:
						   cout << "\t\t\t\t\tplease input the name:";
						   cin >> name;
					   	deleteName(name);
					   	break;
			    	case 2:
						   cout << "\t\t\t\t\tplease input the number:";
					   	   cin >> id;
					  	   deleteNumber(id);
					  	   break;
					case 3:return ;
					default:
						   cout << "\t\t\t\t\tinput error!" << endl;
					   	   break;
			}
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movq 0xac8b(%rip), %r14      # 0xefd0
movq 0xac94(%rip), %r12      # 0xefe0
leaq -0x2c(%rbp), %r13
movl $0x13, %edx
movq %r14, %rdi
leaq 0x5f10(%rip), %rsi      # 0xa26f
callq 0x2240
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq %rax, %r15
movl $0x11, %edx
movq %rax, %rdi
leaq 0x5ee6(%rip), %rsi      # 0xa283
callq 0x2240
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq %rax, %r15
movl $0xc, %edx
movq %rax, %rdi
leaq 0x5d8d(%rip), %rsi      # 0xa168
callq 0x2240
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movl $0x22, %edx
movq %rax, %rdi
leaq 0x5e7f(%rip), %rsi      # 0xa295
callq 0x2240
movq %r12, %rdi
movq %r13, %rsi
callq 0x20f0
movl -0x2c(%rbp), %eax
cmpl $0x1, %eax
je 0x44b3
cmpl $0x2, %eax
je 0x4480
cmpl $0x3, %eax
je 0x4529
movl $0x11, %edx
movq %r14, %rdi
leaq 0x5d3a(%rip), %rsi      # 0xa189
callq 0x2240
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x4350
movl $0x1d, %edx
movq %r14, %rdi
leaq 0x5e29(%rip), %rsi      # 0xa2b8
callq 0x2240
movq %r12, %rdi
leaq -0x30(%rbp), %r15
movq %r15, %rsi
callq 0x20f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x40d4
jmp 0x4350
movl $0x1b, %edx
movq %r14, %rdi
leaq 0x5c21(%rip), %rsi      # 0xa0e3
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rax
movq 0x10(%r12,%rax), %r15
movl $0x20, %edx
movq %r12, %rdi
leaq -0x50(%rbp), %rsi
callq 0x2330
movq (%r12), %rax
movq -0x18(%rax), %rax
cmpl $0x0, 0x20(%r12,%rax)
jne 0x4511
addq $-0x21, %r15
cmpq $-0x21, %r15
ja 0x4511
movq 0xe8(%r12,%rax), %rdi
movq 0x10(%rdi), %rax
cmpq 0x18(%rdi), %rax
jae 0x4522
movq %rbx, %rdi
leaq -0x50(%rbp), %rsi
callq 0x41f8
jmp 0x4350
callq 0x25a6
jmp 0x4511
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: People::searchName(char const*)
Person* People::searchName(const char* name)
{
//		cout << "1111111" <<endl
		vector<Person*>::iterator it;
	//	it=begin();
	//	string name1;
	//	name1=(*it)->getName();
	//	cout << name1 <<endl;
	//	cout << "22222" << endl;
		for(it=begin();it!=end();it++)
		{
			if(strcmp((*it)->getName(),name)==0)
						return (*it);
		}
		cout << "\t\t\t\t\tNULL" << endl;
		return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq (%rdi), %r15
movq 0x8(%rdi), %r12
cmpq %r12, %r15
je 0x4598
movq %rsi, %rbx
movq (%r15), %r14
leaq 0x8(%r14), %rdi
movq %rbx, %rsi
callq 0x22a0
testl %eax, %eax
je 0x45dd
addq $0x8, %r15
cmpq %r12, %r15
jne 0x457c
movq 0xaa31(%rip), %rbx      # 0xefd0
leaq 0x5d30(%rip), %rsi      # 0xa2d6
movl $0x9, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
xorl %r14d, %r14d
movq %r14, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: People::writePeople()
void People::writePeople()
{
		ofstream out("people",ios::binary);
		if(!out)
		{
				cout << "\t\t\t\t\topen failed!" << endl;
				return ;
		}
		else
		{
				vector<Person*>::iterator it;
				for(it=begin();it!=end();it++)
				{
						out.write((char*)(*it),sizeof(Person));
				}
		}
		out.close();
		//cout << "\t\t\t\t\twrite success!" << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
leaq 0x5e03(%rip), %rsi      # 0xa407
leaq -0x218(%rbp), %r14
movq %r14, %rdi
movl $0x4, %edx
callq 0x2210
movq (%r14), %rax
movq -0x18(%rax), %rax
testb $0x5, -0x1f8(%rbp,%rax)
je 0x4671
movq 0xa9a0(%rip), %rbx      # 0xefd0
leaq 0x5ca9(%rip), %rsi      # 0xa2e0
movl $0x11, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq 0xa96e(%rip), %rdi      # 0xefd0
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x469c
movq (%rbx), %r15
cmpq 0x8(%rbx), %r15
je 0x4690
movq (%r15), %rsi
movl $0xb8, %edx
movq %r14, %rdi
callq 0x2280
addq $0x8, %r15
jmp 0x4674
leaq -0x218(%rbp), %rdi
callq 0x22b0
movq 0xa925(%rip), %rax      # 0xefc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x210(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x218(%rbp,%rcx)
callq 0x2160
leaq -0x120(%rbp), %rdi
callq 0x20a0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x46e2
movq %rax, %rbx
leaq -0x218(%rbp), %rdi
callq 0x22c0
movq %rbx, %rdi
callq 0x2350
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: Person::writeRecord()
void Person::writeRecord()
{
		ofstream record;
	//	int gn;
	//	char gt[50];
	//	gn=getNumber();
	//	gt=getTime();
		record.open("record",ios::app);
		if(record.is_open())
		{
					record << "Id:"  << getNumber() << "   time:" << getTime() << "  login in the system!\n"  ;
			/*	if(i==2)
				{
						record << "Id:" << getNumber() << "   time:" << pt->getLoginTime() << "   incoming:" << pt->getId() << "\n" ; 
				}
				if(i==3)
				{
						record << "Id:" << getNumber() << "   time:" << pt->getLoginTime() << "   outcoming:" << pt->getId() << "\n" ;
				}*/
		}
		else
				cout <<"open failed!" << endl;
		record.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x200, %rsp            # imm = 0x200
movq %rdi, %rbx
leaq -0x210(%rbp), %r14
movq %r14, %rdi
callq 0x2320
leaq 0x5995(%rip), %rsi      # 0xa2f2
movq %r14, %rdi
movl $0x1, %edx
callq 0x2040
leaq -0x1a0(%rbp), %rdi
callq 0x2070
testb %al, %al
je 0x49e4
leaq 0x5978(%rip), %rsi      # 0xa2f9
leaq -0x210(%rbp), %rdi
movl $0x3, %edx
callq 0x2240
movl 0x68(%rbx), %esi
leaq -0x210(%rbp), %rdi
callq 0x2340
movq %rax, %r14
leaq 0x5952(%rip), %rsi      # 0xa2fd
movl $0x8, %edx
movq %rax, %rdi
callq 0x2240
movl $0x4c4c554e, %eax       # imm = 0x4C4C554E
xorl 0x70(%rbx), %eax
movzbl 0x74(%rbx), %ecx
orl %eax, %ecx
je 0x4a2c
addq $0x70, %rbx
movq %rbx, %rdi
callq 0x20c0
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x2240
jmp 0x4a46
movq 0xa5e5(%rip), %rbx      # 0xefd0
leaq 0x58f3(%rip), %rsi      # 0xa2e5
movl $0xc, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq 0xa5b3(%rip), %rdi      # 0xefd0
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x4a5a
movq (%r14), %rax
movq -0x18(%rax), %rax
movq %r14, %rdi
addq %rax, %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2310
leaq 0x58b9(%rip), %rsi      # 0xa306
movl $0x17, %edx
movq %r14, %rdi
callq 0x2240
leaq -0x210(%rbp), %rdi
callq 0x22b0
movq 0xa55b(%rip), %rax      # 0xefc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x208(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x210(%rbp,%rcx)
callq 0x2160
leaq -0x118(%rbp), %rdi
callq 0x20a0
addq $0x200, %rsp            # imm = 0x200
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x210(%rbp), %rdi
callq 0x22c0
movq %rbx, %rdi
callq 0x2350
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: Person::readRecord()
void Person::readRecord()
{
		ifstream record;
		char rec[500];
		record.open("record",ios::in);
		if(record.is_open())
		{
				while(!record.eof())
				{
					record.getline(rec,sizeof(rec));
					cout << rec << endl;
				}
				cout << "\033[1A" ;
				cout << "\033[K";
//				cout << endl;
		}
		record.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x408, %rsp            # imm = 0x408
leaq -0x220(%rbp), %rbx
movq %rbx, %rdi
callq 0x2230
leaq 0x580c(%rip), %rsi      # 0xa2f2
movq %rbx, %rdi
movl $0x8, %edx
callq 0x2100
leaq -0x1a8(%rbp), %rdi
callq 0x2070
testb %al, %al
je 0x4bc1
leaq -0x420(%rbp), %r14
movq 0xa4bb(%rip), %r15      # 0xefd0
movq -0x220(%rbp), %rax
movq -0x18(%rax), %rax
testb $0x2, -0x200(%rbp,%rax)
jne 0x4b91
leaq (%rax,%rbp), %rdi
addq $-0x220, %rdi           # imm = 0xFDE0
movl $0xa, %esi
callq 0x21c0
movsbl %al, %ecx
movl $0x1f4, %edx            # imm = 0x1F4
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2370
movq %r14, %rdi
callq 0x20c0
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x2240
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x4b15
movq 0xa438(%rip), %rdi      # 0xefd0
leaq 0x577f(%rip), %rsi      # 0xa31e
movl $0x4, %edx
callq 0x2240
movq 0xa420(%rip), %rdi      # 0xefd0
leaq 0x576c(%rip), %rsi      # 0xa323
movl $0x3, %edx
callq 0x2240
leaq -0x220(%rbp), %rdi
callq 0x2060
leaq -0x220(%rbp), %rdi
callq 0x2080
addq $0x408, %rsp            # imm = 0x408
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4be9
movq %rax, %rbx
leaq -0x220(%rbp), %rdi
callq 0x2080
movq %rbx, %rdi
callq 0x2350
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: People::searchType(char const*)
People People::searchType(const char* type)
{
		vector<Person*>::iterator it;
		People p2;
		for(it=begin();it!=end();it++)
		{
				if((*it)->getType()==type)
						p2.push_back(*it);
		}
		return p2;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdi, %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq (%rsi), %r12
cmpq 0x8(%rsi), %r12
je 0x4c8f
movq %rdx, %r14
movq %rsi, %r15
movq (%r12), %rax
leaq 0x48(%rax), %rcx
cmpq %r14, %rcx
jne 0x4c85
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x4c7a
movq %rax, (%rsi)
addq $0x8, 0x8(%rbx)
jmp 0x4c85
movq %rbx, %rdi
movq %r12, %rdx
callq 0x5b3e
addq $0x8, %r12
cmpq 0x8(%r15), %r12
jne 0x4c59
movq %rbx, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x4cb2
movq 0x10(%rbx), %rsi
subq %rdi, %rsi
callq 0x21f0
movq %r14, %rdi
callq 0x2350
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: Admin::Admin()
Admin::Admin():Person((char*)("admin"))
{
		strcpy(department,"admin");
		setPasswd();
		setNumber();
		//setStop();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
movups 0x4952(%rip), %xmm0     # 0xa0b0
movups %xmm0, 0x48(%rdi)
movups 0x4957(%rip), %xmm0     # 0xa0c0
movups %xmm0, 0x58(%rdi)
movl $0x0, 0x6c(%rdi)
movups 0x48bd(%rip), %xmm0     # 0xa038
movups %xmm0, 0x70(%rdi)
movups 0x48c2(%rip), %xmm0     # 0xa048
movups %xmm0, 0x80(%rdi)
movups 0x48c4(%rip), %xmm0     # 0xa058
movups %xmm0, 0x90(%rdi)
movw $0x0, 0xa0(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0xa8(%rdi)
movl $0x696d6461, %eax       # imm = 0x696D6461
movl %eax, 0x8(%rdi)
movw $0x6e, %cx
movw %cx, 0xc(%rdi)
leaq 0x944b(%rip), %rdx      # 0xec10
movq %rdx, (%rdi)
movl %eax, 0x48(%rdi)
movw %cx, 0x4c(%rdi)
movl $0x1, 0x9a17(%rip)      # 0xf1f0
movq 0x97f0(%rip), %rdi      # 0xefd0
leaq 0x4931(%rip), %rsi      # 0xa118
movl $0x1d, %edx
callq 0x2240
leaq 0x28(%rbx), %rsi
movq 0x97e4(%rip), %rdi      # 0xefe0
movabsq $0x7fffffffffffffff, %rdx # imm = 0x7FFFFFFFFFFFFFFF
callq 0x2330
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x3504
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: Admin::Admin(Person*)
Admin::Admin(Person* ps):Person(ps)
{
	//	cout << "test " << endl;
		strcpy(department,"admin");
		strcpy(name,"admin");
		strcpy(passwd,"1997");
		//stop=0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0x3472
leaq 0x93e1(%rip), %rax      # 0xec10
movq %rax, (%rbx)
movl $0x696d6461, %eax       # imm = 0x696D6461
movl %eax, 0x48(%rbx)
movw $0x6e, %cx
movw %cx, 0x4c(%rbx)
movl %eax, 0x8(%rbx)
movw %cx, 0xc(%rbx)
movl $0x37393931, 0x28(%rbx) # imm = 0x37393931
movb $0x0, 0x2c(%rbx)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Product::setId()
void Product::setId()
{
		productMax++;
		srand((unsigned)time(NULL));
		changeFlag=1;
		vector<int>::iterator it;
//		for(int i=10000;i<productMax+10000;i++)
		for(int i=0;i<productMax;i++)
		{
				it=find(number.begin(),number.end(),i);
				if(it==number.end())
				{
						while(1)
						{
						id=rand();
						for(it=number.begin();it!=number.end();it++)
						{
								if(id==(*it))
								{
										break;
								}
						}
						number.push_back(i);
						return ;
						}
				}
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
incl 0x9456(%rip)            # 0xf214
xorl %edi, %edi
callq 0x2190
movl %eax, %edi
callq 0x21b0
leaq 0x941d(%rip), %rax      # 0xf1f0
movl $0x1, (%rax)
movl $0x0, -0x14(%rbp)
cmpl $0x0, 0x942d(%rip)      # 0xf214
jle 0x5e5b
movq 0x9430(%rip), %rsi      # 0xf220
leaq -0x14(%rbp), %r14
movq 0x941d(%rip), %rdi      # 0xf218
movq %r14, %rdx
callq 0x596e
movq 0x9416(%rip), %rsi      # 0xf220
cmpq %rsi, %rax
je 0x5e21
movl -0x14(%rbp), %eax
incl %eax
movl %eax, -0x14(%rbp)
cmpl 0x93f7(%rip), %eax      # 0xf214
jl 0x5df4
jmp 0x5e5b
callq 0x2090
movl %eax, 0x44(%rbx)
movq 0x93f0(%rip), %rsi      # 0xf220
cmpq 0x93f1(%rip), %rsi      # 0xf228
je 0x5e4b
movl -0x14(%rbp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x93d7(%rip)      # 0xf220
jmp 0x5e5b
leaq 0x93c6(%rip), %rdi      # 0xf218
leaq -0x14(%rbp), %rdx
callq 0x5a1c
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Product::setType()
void Product::setType()
{
		changeFlag=1;
		int flag;
		cout << "\t\t\t\t\t1:clothes" << endl << "\t\t\t\t\t2:food" << endl << "\t\t\t\t\t3:commodity" << endl << "\t\t\t\t\t4:exit" << endl << "\t\t\t\t\tplease choice the type:" ;
		cin >> flag;
		switch(flag)
		{
				case 1://type="clothes";
					   strcpy(type,"clothes");
					   break;
				case 2://type="food";
					   strcpy(type,"food");
					   break;
				case 3://type="commodity";
					   strcpy(type,"commodity");
					   break;
				case 4:return ;
			    default:cout << "input error!" << endl;
						break;
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
leaq 0x932a(%rip), %rax      # 0xf1f0
movl $0x1, (%rax)
movq 0x90fd(%rip), %rbx      # 0xefd0
leaq 0x4628(%rip), %rsi      # 0xa502
movl $0xe, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq %rax, %r15
leaq 0x45f9(%rip), %rsi      # 0xa511
movl $0xb, %edx
movq %rax, %rdi
callq 0x2240
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq %rax, %r15
leaq 0x45c7(%rip), %rsi      # 0xa51d
movl $0x10, %edx
movq %rax, %rdi
callq 0x2240
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq %rax, %r15
leaq 0x424f(%rip), %rsi      # 0xa1e3
movl $0xb, %edx
movq %rax, %rdi
callq 0x2240
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
leaq 0x455f(%rip), %rsi      # 0xa52e
movl $0x1c, %edx
movq %rax, %rdi
callq 0x2240
movq 0x8ffd(%rip), %rdi      # 0xefe0
leaq -0x1c(%rbp), %r15
movq %r15, %rsi
callq 0x20f0
movl (%r15), %eax
decl %eax
cmpl $0x3, %eax
ja 0x603f
leaq 0x44a0(%rip), %rcx      # 0xa4a0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movabsq $0x736568746f6c63, %rax # imm = 0x736568746F6C63
movq %rax, 0x20(%r14)
jmp 0x607a
movb $0x0, 0x24(%r14)
movl $0x646f6f66, 0x20(%r14) # imm = 0x646F6F66
jmp 0x607a
movabsq $0x7469646f6d6d6f63, %rax # imm = 0x7469646F6D6D6F63
movq %rax, 0x20(%r14)
movw $0x79, 0x28(%r14)
jmp 0x607a
leaq 0x4148(%rip), %rsi      # 0xa18e
movl $0xc, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Product::deleteId()
void Product::deleteId()
{
		vector<int>::iterator it;
		changeFlag=1;
		it=find(number.begin(),number.end(),id);
		if(it!=number.end())
		{
				number.erase(it);
				productMax--;
		}
		else
				cout << "\t\t\t\t\tdelete error!"  << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
leaq 0x8f29(%rip), %rax      # 0xf1f0
movl $0x1, (%rax)
movq 0x8f44(%rip), %rax      # 0xf218
movq 0x8f45(%rip), %rsi      # 0xf220
leaq 0x44(%rdi), %rdx
movq %rax, %rdi
callq 0x596e
movq 0x8f32(%rip), %rdx      # 0xf220
cmpq %rdx, %rax
je 0x6326
leaq 0x4(%rax), %rsi
cmpq %rdx, %rsi
je 0x630e
subq %rsi, %rdx
movq %rax, %rdi
callq 0x2300
movq 0x8f12(%rip), %rdx      # 0xf220
addq $-0x4, %rdx
movq %rdx, 0x8f07(%rip)      # 0xf220
decl 0x8ef5(%rip)            # 0xf214
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
movq 0x8ca3(%rip), %rbx      # 0xefd0
leaq 0x3d9c(%rip), %rsi      # 0xa0d0
movl $0x12, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x2110
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Products::deleteId(int const&)
void Products::deleteId(const int &id)
{
		vector<Product*>::iterator it;
		changeFlag=1;
		char t;
		char buf[50];
		for(it=begin();it!=end();it++)
		{
				if((*it)->getId()==id)
				{
						cout << "the product data is:" ;
						(*it)->show() ;
				//		getchar();
						cout << "do you want to delete it?(y/n)" ;
						t=getchar();
						if(t=='n')
						{
								return ;
						}
						sprintf(buf,"rm %d.png",(*it)->getId());
						system(buf);
						(*it)->deleteId();
						erase(it);
						cout << "\t\t\t\t\tdelete success!" << endl;
						return ;
				}
		}
		cout << "\t\t\t\t\tdelete error!" << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
leaq 0x8e4c(%rip), %rax      # 0xf1f0
movl $0x1, (%rax)
movq (%rdi), %r12
movq 0x8(%rdi), %rax
cmpq %rax, %r12
je 0x63d6
movq %rdi, %rbx
movl (%rsi), %ecx
leaq 0x8(%r12), %r14
movq (%r12), %rdx
cmpl %ecx, 0x44(%rdx)
je 0x6428
addq $0x8, %r12
addq $0x8, %r14
cmpq %rax, %r12
jne 0x63c0
movq 0x8bf3(%rip), %rdi      # 0xefd0
leaq 0x3cec(%rip), %rsi      # 0xa0d0
movl $0x12, %edx
callq 0x2240
movq 0x8bdb(%rip), %rbx      # 0xefd0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x2110
movq 0x8ba1(%rip), %r15      # 0xefd0
leaq 0x4177(%rip), %rsi      # 0xa5ad
movl $0x14, %edx
movq %r15, %rdi
callq 0x2240
movq (%r12), %rdi
callq 0x60ce
leaq 0x3de8(%rip), %rsi      # 0xa23b
movl $0x1e, %edx
movq %r15, %rdi
callq 0x2240
callq 0x2290
cmpb $0x6e, %al
jne 0x6476
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq (%r12), %rax
movl 0x44(%rax), %edx
leaq 0x411a(%rip), %rsi      # 0xa59e
leaq -0x60(%rbp), %r15
movq %r15, %rdi
xorl %eax, %eax
callq 0x2050
movq %r15, %rdi
callq 0x2170
movq (%r12), %rdi
callq 0x62ba
movq 0x8(%rbx), %rdx
cmpq %rdx, %r14
je 0x64bf
leaq -0x8(%r14), %rdi
subq %r14, %rdx
movq %r14, %rsi
callq 0x2300
movq 0x8(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0x8(%rbx)
movq 0x8b02(%rip), %rdi      # 0xefd0
leaq 0x3d85(%rip), %rsi      # 0xa25a
movl $0x14, %edx
jmp 0x63e9
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Products::deleteName(char const*)
void Products::deleteName(const char* name)
{
		vector<Product*>::iterator it;
		changeFlag=1;
		char buf[50];
		char t;
		for(it=begin();it!=end();it++)
		{
				if(strcmp((*it)->getName(),name)==0)
				{
						getchar();
						cout << "\t\t\t\t\tthe product data is:" ;
						(*it)->show() ;
						cout << "\t\t\t\t\tdo you want to delete it?(y/n)" ;
						t=getchar();
						if(t=='y')
						{
						  sprintf(buf,"rm %d.png",(*it)->getId());
						  system(buf);
						  (*it)->deleteId();
					//	 delete(*it);
						   erase(it);
						 cout << "\t\t\t\t\tdelete success!" << endl;
						 return ;
						}
						if(t='n')
						{
								continue;
						}
				}
		}
		cout << "\t\t\t\t\tdelete error!" << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
leaq 0x8cf8(%rip), %rax      # 0xf1f0
movl $0x1, (%rax)
movq (%rdi), %r13
movq %rdi, -0x30(%rbp)
movq 0x8(%rdi), %rbx
cmpq %rbx, %r13
je 0x6580
movq %rsi, %r15
leaq 0x8(%r13), %r14
movq 0x8ab4(%rip), %r12      # 0xefd0
movq (%r13), %rdi
movq %r15, %rsi
callq 0x22a0
testl %eax, %eax
jne 0x6573
callq 0x2290
movl $0x19, %edx
movq %r12, %rdi
leaq 0x4068(%rip), %rsi      # 0xa5a8
callq 0x2240
movq (%r13), %rdi
callq 0x60ce
movl $0x23, %edx
movq %r12, %rdi
leaq 0x3cd9(%rip), %rsi      # 0xa236
callq 0x2240
callq 0x2290
cmpb $0x79, %al
je 0x65d4
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rbx
addq $0x8, %r13
addq $0x8, %r14
cmpq %rbx, %r13
jne 0x651c
movq 0x8a49(%rip), %rdi      # 0xefd0
leaq 0x3b42(%rip), %rsi      # 0xa0d0
movl $0x12, %edx
callq 0x2240
movq 0x8a31(%rip), %rbx      # 0xefd0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2110
movq (%r13), %rax
movl 0x44(%rax), %edx
leaq 0x3fbc(%rip), %rsi      # 0xa59e
leaq -0x70(%rbp), %r15
movq %r15, %rdi
xorl %eax, %eax
callq 0x2050
movq %r15, %rdi
callq 0x2170
movq (%r13), %rdi
callq 0x62ba
movq -0x30(%rbp), %rbx
movq 0x8(%rbx), %rdx
cmpq %rdx, %r14
je 0x6621
leaq -0x8(%r14), %rdi
subq %r14, %rdx
movq %r14, %rsi
callq 0x2300
movq 0x8(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0x8(%rbx)
movq 0x89a0(%rip), %rdi      # 0xefd0
leaq 0x3c23(%rip), %rsi      # 0xa25a
movl $0x14, %edx
jmp 0x6593
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Products::searchName(char const*)
Product* Products::searchName(const char* name)
{
		vector<Product*>::iterator it;
		for(it=begin();it!=end();it++)
		{
				if(strcmp((*it)->getName(),name)==0)
				{
						return (*it);
				}
		}
		return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq (%rdi), %r15
movq 0x8(%rdi), %r12
cmpq %r12, %r15
je 0x6983
movq %rsi, %rbx
movq (%r15), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x22a0
testl %eax, %eax
je 0x6986
addq $0x8, %r15
cmpq %r12, %r15
jne 0x6968
xorl %r14d, %r14d
movq %r14, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Products::searchType(char const*)
Products Products::searchType(const char* Type)
{
		vector<Product*>::iterator it;
		Products pts;
		for(it=begin();it!=end();it++)
		{
				if(strcmp((*it)->getType(),Type)==0)
				{
					pts.push_back(*it);	
				}
		}
		return pts;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq (%rsi), %r12
cmpq 0x8(%rsi), %r12
je 0x69fd
movq %rdx, %r14
movq %rsi, %r15
movq (%r12), %r13
leaq 0x20(%r13), %rdi
movq %r14, %rsi
callq 0x22a0
testl %eax, %eax
jne 0x69f3
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x69e8
movq %r13, (%rsi)
addq $0x8, 0x8(%rbx)
jmp 0x69f3
movq %rbx, %rdi
movq %r12, %rdx
callq 0x7378
addq $0x8, %r12
cmpq 0x8(%r15), %r12
jne 0x69c0
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x6a26
movq 0x10(%rbx), %rsi
subq %rdi, %rsi
callq 0x21f0
movq %r14, %rdi
callq 0x2350
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Products::commonSearch()
void  Products::commonSearch()
{
		int id;
		Products s;
		Product *p;
		cout << "\t\t\t\t\tplease input the number:" ;
		cin >> id;
		p=searchId(id);
		if(p!=NULL)
		{	
				p->show();
	   }
		else
		{
				cout << "\t\t\t\t\tit is not in the warehouse!" << endl;
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
movq 0x858d(%rip), %rbx      # 0xefd0
leaq 0x386e(%rip), %rsi      # 0xa2b8
movl $0x1d, %edx
movq %rbx, %rdi
callq 0x2240
movq 0x8582(%rip), %rdi      # 0xefe0
leaq -0x14(%rbp), %rsi
callq 0x20f0
movq (%r14), %rax
movq 0x8(%r14), %rcx
cmpq %rcx, %rax
je 0x6a87
movl -0x14(%rbp), %edx
movq (%rax), %rdi
cmpl %edx, 0x44(%rdi)
je 0x6ac4
addq $0x8, %rax
cmpq %rcx, %rax
jne 0x6a76
leaq 0x3ba1(%rip), %rsi      # 0xa62f
movl $0x20, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x6ac9
callq 0x60ce
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Products::showAll()
void Products::showAll()
{
		vector<Product*>::iterator it;
		if(this->size()==0)
		{
				cout << "\t\t\t\t\tno product!" << endl;
				return ;
		}
		else
				for(it=begin();it!=end();it++)
						(*it)->show();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq (%rdi), %r14
cmpq %r14, 0x8(%rdi)
je 0x702c
movq %rdi, %rbx
movq (%r14), %rdi
callq 0x60ce
addq $0x8, %r14
cmpq 0x8(%rbx), %r14
jne 0x7015
popq %rbx
popq %r14
popq %rbp
retq
movq 0x7f9d(%rip), %rbx      # 0xefd0
leaq 0x3699(%rip), %rsi      # 0xa6d3
movl $0x10, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
popq %rbx
popq %r14
popq %rbp
jmp 0x2110
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Products::readProduct()
void Products::readProduct()
{
		ifstream in("product",ios::binary);
		if(!in)
		{
				cout << "\t\t\t\t\topen failed" << endl ;
				return ;
		}
		else
		{
		    delAll();
			Product *p;
			vector<Product*>::iterator it;
			it=begin();
			while(1)
			{
					p=new Product;
					in.read((char*)(p),sizeof(Product));
					if(!in.eof())
					{
							this->push_back(p);
							p->number.push_back(p->getId());
					}
					else
					{
							delete(p);
							break;
					}
			}
			(*it)->productMax=this->size();
		}
		in.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x218, %rsp            # imm = 0x218
movq %rdi, %rbx
leaq 0x3640(%rip), %rsi      # 0xa6e4
leaq -0x240(%rbp), %r14
movq %r14, %rdi
movl $0x4, %edx
callq 0x2360
movq (%r14), %rax
movq -0x18(%rax), %rax
testb $0x5, -0x220(%rbp,%rax)
je 0x7114
movq 0x7f00(%rip), %rbx      # 0xefd0
leaq 0x3615(%rip), %rsi      # 0xa6ec
movl $0x10, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq 0x7ece(%rip), %rdi      # 0xefd0
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x722e
movq (%rbx), %rax
cmpq %rax, 0x8(%rbx)
je 0x7121
movq %rax, 0x8(%rbx)
leaq -0x30(%rbp), %r15
leaq 0x80ec(%rip), %r12      # 0xf218
leaq -0x34(%rbp), %r13
movl $0x7c, %edi
callq 0x21e0
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
movq $0x0, 0x40(%rax)
movups 0x3375(%rip), %xmm0     # 0xa4d0
movups %xmm0, 0x48(%rax)
movups 0x337a(%rip), %xmm0     # 0xa4e0
movups %xmm0, 0x58(%rax)
movups 0x337f(%rip), %xmm0     # 0xa4f0
movups %xmm0, 0x68(%rax)
movw $0x0, 0x78(%rax)
movq %rax, -0x30(%rbp)
movl $0x7c, %edx
movq %r14, %rdi
movq %rax, %rsi
callq 0x2260
movq -0x240(%rbp), %rax
movq -0x18(%rax), %rax
testb $0x2, -0x220(%rbp,%rax)
jne 0x7203
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x71bc
movq -0x30(%rbp), %rax
movq %rax, (%rsi)
addq $0x8, 0x8(%rbx)
jmp 0x71cb
movq %rbx, %rdi
movq %r15, %rdx
callq 0x7378
movq -0x30(%rbp), %rax
movl 0x44(%rax), %eax
movl %eax, -0x34(%rbp)
movq 0x8048(%rip), %rsi      # 0xf220
cmpq 0x8049(%rip), %rsi      # 0xf228
je 0x71f3
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8032(%rip)      # 0xf220
jmp 0x7130
movq %r12, %rdi
movq %r13, %rdx
callq 0x5c7e
jmp 0x7130
movq -0x30(%rbp), %rdi
movl $0x7c, %esi
callq 0x21f0
movq 0x8(%rbx), %rax
subq (%rbx), %rax
shrq $0x3, %rax
movl %eax, 0x7ff2(%rip)      # 0xf214
leaq -0x240(%rbp), %rdi
callq 0x2060
leaq -0x240(%rbp), %rdi
callq 0x2080
addq $0x218, %rsp            # imm = 0x218
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7250
jmp 0x7250
movq %rax, %rbx
leaq -0x240(%rbp), %rdi
callq 0x2080
movq %rbx, %rdi
callq 0x2350
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/product.cpp
// Function: Products::writeProduct()
void Products::writeProduct()
{
		ofstream out("product",ios::binary);
		if(!out)
		{
				cout << "\t\t\t\t\topen failed" << endl;
				return ;
		}
		else
		{
				vector<Product*>::iterator it;
				for(it=begin();it!=end();it++)
				{
						out.write((char*)(*it),sizeof(Product));
				}
		}
		out.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
leaq 0x3462(%rip), %rsi      # 0xa6e4
leaq -0x218(%rbp), %r14
movq %r14, %rdi
movl $0x4, %edx
callq 0x2210
movq (%r14), %rax
movq -0x18(%rax), %rax
testb $0x5, -0x1f8(%rbp,%rax)
je 0x72ef
movq 0x7d22(%rip), %rbx      # 0xefd0
leaq 0x3437(%rip), %rsi      # 0xa6ec
movl $0x10, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq 0x7cf0(%rip), %rdi      # 0xefd0
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x731a
movq (%rbx), %r15
cmpq 0x8(%rbx), %r15
je 0x730e
movq (%r15), %rsi
movl $0x7c, %edx
movq %r14, %rdi
callq 0x2280
addq $0x8, %r15
jmp 0x72f2
leaq -0x218(%rbp), %rdi
callq 0x22b0
movq 0x7ca7(%rip), %rax      # 0xefc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x210(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x218(%rbp,%rcx)
callq 0x2160
leaq -0x120(%rbp), %rdi
callq 0x20a0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7360
movq %rax, %rbx
leaq -0x218(%rbp), %rdi
callq 0x22c0
movq %rbx, %rdi
callq 0x2350
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/menu.cpp
// Function: askForSave()
int askForSave()
{
		char t;
		if(changeFlag==1)
		{
				while(1)
				{
					getchar();
					cout << "\t\t\t\t\tdo you want to save?(y/n)" ;
					t=getchar();
					if(t=='n')
					{
							return 0;
					}
					else if(t=='y')
					{
							return 1;
					}
					else 
					{
							cout << "\t\t\t\t\tinput error!" << endl;
					}
				}
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq 0x7af0(%rip), %rbx      # 0xefd0
leaq 0x32fa(%rip), %r14      # 0xa7e1
leaq 0x2c9b(%rip), %r15      # 0xa189
callq 0x2290
movl $0x1e, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2240
callq 0x2290
cmpb $0x6e, %al
je 0x7554
movzbl %al, %eax
cmpl $0x79, %eax
je 0x754d
movl $0x11, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x74ee
movl $0x1, %eax
jmp 0x7556
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/menu.cpp
// Function: Menu::writeStop()
void Menu::writeStop()
{
		ofstream st;
		st.open("stop",ios::out);
		if(st.is_open())
		{
				st << stop;
		}
		else
				cout << "open failed!" << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x200, %rsp            # imm = 0x200
movq %rdi, %rbx
leaq -0x210(%rbp), %r14
movq %r14, %rdi
callq 0x2320
leaq 0x2c83(%rip), %rsi      # 0xa212
movq %r14, %rdi
movl $0x10, %edx
callq 0x2040
leaq -0x1a0(%rbp), %rdi
callq 0x2070
testb %al, %al
je 0x75bd
movl 0x8(%rbx), %esi
leaq -0x210(%rbp), %rdi
callq 0x2340
jmp 0x7603
movq 0x7a0c(%rip), %rbx      # 0xefd0
leaq 0x2d1a(%rip), %rsi      # 0xa2e5
movl $0xc, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq 0x79da(%rip), %rdi      # 0xefd0
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq 0x79be(%rip), %rax      # 0xefc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x208(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x210(%rbp,%rcx)
callq 0x2160
leaq -0x118(%rbp), %rdi
callq 0x20a0
addq $0x200, %rsp            # imm = 0x200
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x210(%rbp), %rdi
callq 0x22c0
movq %rbx, %rdi
callq 0x2350
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/menu.cpp
// Function: Menu::showTime()
void Menu::showTime()
{
		char showtime[50];
		time_t t;
		struct tm *timeinfo;
		time(&t);
		timeinfo=localtime(&t);
		strftime(showtime,50,"%Y年%m月%d日-%H:%M:%S",timeinfo);
		cout << "\t\t\t\t\t   " << showtime << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x18(%rbp), %rbx
movq %rbx, %rdi
callq 0x2190
movq %rbx, %rdi
callq 0x2120
leaq 0x2413(%rip), %rdx      # 0xa0ff
leaq -0x50(%rbp), %r14
movl $0x32, %esi
movq %r14, %rdi
movq %rax, %rcx
callq 0x2150
movq 0x72c9(%rip), %rbx      # 0xefd0
leaq 0x2d85(%rip), %rsi      # 0xaa93
movl $0x8, %edx
movq %rbx, %rdi
callq 0x2240
movq %r14, %rdi
callq 0x20c0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/menu.cpp
// Function: MenuAdmin::menuShow()
void MenuAdmin::menuShow()
{
		int flag;
		system("clear");
		showTime();
		admin->writePeopleInfo();
		while(1)
		{system("clear");
		cout << "\t\t\t\t\t  ↖↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↗\n"           
			 <<	"\t\t\t\t\t  ←       1:add        →\n" 
			 << "\t\t\t\t\t  ←       2:delete     →\n" 
			 << "\t\t\t\t\t  ←       3:search     →\n"
			 << "\t\t\t\t\t  ←       4:show       →\n"
			 << "\t\t\t\t\t  ←       5:save       →\n" 
			 << "\t\t\t\t\t  ←       6:exit       →\n"
			 << "\t\t\t\t\t  ↙↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↘\n"
			 << "\t\t\t\t\tplease input your choice(1-6):" ;
		cin >> flag;
		switch(flag)
		{
				case 1:admin->addPerson();
					   sleep(1);
					   break;
				case 2:admin->deletePerson();
					   sleep(1);
					   break;
				case 3://admin->searchPerson();
					   search();
					   break;
				case 4:show();
					   break;
				case 5:admin->writePeopleInfo();
					   changeFlag=0;
					   break;
				case 6:if(askForSave())
							   admin->writePeopleInfo();
					   changeFlag=0;
					   return;
		}
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x2a86(%rip), %rdi      # 0xa800
callq 0x2170
callq 0x7cc6
movq 0x10(%rbx), %rdi
callq 0x4c00
movq 0x723c(%rip), %r15      # 0xefd0
movq 0x7245(%rip), %r12      # 0xefe0
leaq -0x2c(%rbp), %r13
leaq 0x2986(%rip), %r14      # 0xa72c
leaq 0x2a53(%rip), %rdi      # 0xa800
callq 0x2170
movl $0x4a, %edx
movq %r15, %rdi
leaq 0x2cdb(%rip), %rsi      # 0xaa9c
callq 0x2240
movl $0x22, %edx
movq %r15, %rdi
leaq 0x2d12(%rip), %rsi      # 0xaae7
callq 0x2240
movl $0x22, %edx
movq %r15, %rdi
leaq 0x2d21(%rip), %rsi      # 0xab0a
callq 0x2240
movl $0x22, %edx
movq %r15, %rdi
leaq 0x2d30(%rip), %rsi      # 0xab2d
callq 0x2240
movl $0x22, %edx
movq %r15, %rdi
leaq 0x2d3f(%rip), %rsi      # 0xab50
callq 0x2240
movl $0x22, %edx
movq %r15, %rdi
leaq 0x2d4e(%rip), %rsi      # 0xab73
callq 0x2240
movl $0x22, %edx
movq %r15, %rdi
leaq 0x2d5d(%rip), %rsi      # 0xab96
callq 0x2240
movl $0x4a, %edx
movq %r15, %rdi
leaq 0x2d6c(%rip), %rsi      # 0xabb9
callq 0x2240
movl $0x23, %edx
movq %r15, %rdi
leaq 0x2da3(%rip), %rsi      # 0xac04
callq 0x2240
movq %r12, %rdi
movq %r13, %rsi
callq 0x20f0
movl -0x2c(%rbp), %eax
decl %eax
cmpl $0x5, %eax
ja 0x7da6
movslq (%r14,%rax,4), %rax
addq %r14, %rax
jmpq *%rax
movq 0x10(%rbx), %rdi
callq 0x586e
jmp 0x7ed1
movq 0x10(%rbx), %rdi
callq 0x4c00
leaq 0x734d(%rip), %rax      # 0xf1f0
movl $0x0, (%rax)
jmp 0x7da6
movq %rbx, %rdi
callq 0x8e86
jmp 0x7da6
movq %rbx, %rdi
callq 0x8f54
jmp 0x7da6
movq 0x10(%rbx), %rdi
callq 0x5880
movl $0x1, %edi
callq 0x2130
jmp 0x7da6
callq 0x74cf
testl %eax, %eax
je 0x7ef2
movq 0x10(%rbx), %rdi
callq 0x4c00
leaq 0x72f7(%rip), %rax      # 0xf1f0
movl $0x0, (%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/menu.cpp
// Function: MenuAdmin::search()
void MenuAdmin::search()
{
		int flag;
		while(1)
		{
				system("clear");
				cout << "\t\t\t\t\t1:search people\n"
					 << "\t\t\t\t\t2:search product\n"
					 << "\t\t\t\t\t3:exit\n"
					 << "\t\t\t\t\tplease input your choice(1-3):";
				cin >> flag;
				switch(flag)
				{
						case 1:admin->searchPerson();
							   system_pause();
							   break;
						case 2:admin->searchProduct();
							   system_pause();
							   break;
						case 3:return ;
					    deafault:cout << "\t\t\t\t\tinput error!" << endl;
							     break;
				}
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x6132(%rip), %r15      # 0xefd0
leaq 0x1dbd(%rip), %r12      # 0xac62
movq 0x6134(%rip), %r13      # 0xefe0
leaq -0x2c(%rbp), %r14
leaq 0x1949(%rip), %rdi      # 0xa800
callq 0x2170
movl $0x15, %edx
movq %r15, %rdi
leaq 0x1d5d(%rip), %rsi      # 0xac28
callq 0x2240
movl $0x16, %edx
movq %r15, %rdi
leaq 0x1d5f(%rip), %rsi      # 0xac3e
callq 0x2240
movl $0xc, %edx
movq %r15, %rdi
leaq 0x1d62(%rip), %rsi      # 0xac55
callq 0x2240
movl $0x23, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x2240
movq %r13, %rdi
movq %r14, %rsi
callq 0x20f0
movl -0x2c(%rbp), %eax
cmpl $0x1, %eax
je 0x8f32
cmpl $0x2, %eax
je 0x8f27
cmpl $0x3, %eax
jne 0x8eb0
jmp 0x8f45
movq 0x10(%rbx), %rdi
callq 0x5920
jmp 0x8f3b
movq 0x10(%rbx), %rdi
callq 0x5892
callq 0x90b8
jmp 0x8eb0
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/menu.cpp
// Function: MenuAdmin::show()
void MenuAdmin::show()
{
		int flag;
		while(1)
		{
				system("clear");
		cout << "\t\t\t\t\t◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇\n"
			 <<	"\t\t\t\t\t◇1:show the people   ◇\n"  
			 << "\t\t\t\t\t◇2:show the product  ◇\n" 
			 << "\t\t\t\t\t◇3:show the record   ◇\n" 
			 << "\t\t\t\t\t◇4:exit              ◇\n"
			 << "\t\t\t\t\t◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇\n"
			 << "\t\t\t\t\tplease input the choice(1-4):" ;
		cin >> flag;
		switch(flag)
		{
				case 1:admin->showPerson();
					   system_pause();
					   break;
				case 2:admin->showProduct();
					   system_pause();
					 //  admin->temp->showAll();
					   break;
				case 3:admin->readRecord();
					   system_pause();
					   break;
				case 4:return ;
				default:cout << "\t\t\t\t\tinput error!" << endl;
						break;
		
		}
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x6064(%rip), %r15      # 0xefd0
leaq 0x1d13(%rip), %r12      # 0xac86
leaq -0x2c(%rbp), %r13
leaq 0x181a(%rip), %r14      # 0xa798
leaq 0x187b(%rip), %rdi      # 0xa800
callq 0x2170
movl $0x48, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x2240
movl $0x20, %edx
movq %r15, %rdi
leaq 0x1d26(%rip), %rsi      # 0xaccf
callq 0x2240
movl $0x20, %edx
movq %r15, %rdi
leaq 0x1d33(%rip), %rsi      # 0xacf0
callq 0x2240
movl $0x20, %edx
movq %r15, %rdi
leaq 0x1d40(%rip), %rsi      # 0xad11
callq 0x2240
movl $0x20, %edx
movq %r15, %rdi
leaq 0x1d4d(%rip), %rsi      # 0xad32
callq 0x2240
movl $0x48, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x2240
movl $0x22, %edx
movq %r15, %rdi
leaq 0x1d4a(%rip), %rsi      # 0xad53
callq 0x2240
movq 0x5fcb(%rip), %rdi      # 0xefe0
movq %r13, %rsi
callq 0x20f0
movl -0x2c(%rbp), %eax
decl %eax
cmpl $0x3, %eax
ja 0x9069
movslq (%r14,%rax,4), %rax
addq %r14, %rax
jmpq *%rax
movq 0x10(%rbx), %rdi
callq 0x58a4
callq 0x90b8
jmp 0x8f7e
movq 0x10(%rbx), %rdi
callq 0x4ac0
callq 0x90b8
jmp 0x8f7e
movq 0x10(%rbx), %rdi
callq 0x585c
callq 0x90b8
jmp 0x8f7e
movl $0x11, %edx
movq %r15, %rdi
leaq 0x1111(%rip), %rsi      # 0xa189
callq 0x2240
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x8f7e
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/hzy1754785321[P]warehouse-manage-system/menu.cpp
// Function: Menu::system_pause()
void Menu::system_pause()
{
		getchar();
		puts("Press any key to continue...");
		system("stty raw");
		getchar();
		system("stty cooked");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
callq 0x2290
leaq 0x2202(%rip), %rdi      # 0xb2ca
callq 0x22e0
leaq 0x2213(%rip), %rdi      # 0xb2e7
callq 0x2170
callq 0x2290
leaq 0x220b(%rip), %rdi      # 0xb2f0
popq %rbp
jmp 0x2170