// File: /workspace/github_cpp_makefile_star2_O1/hzy1754785321[P]warehouse-manage-system/people.cpp
// Function: People::search()
void People::search()
{
		Person *p;
		People p1;
		char t;
		char name[32];
		char type[32];
		int id,flag;
		while(1)
		{
				cout << "\t\t\t\t\t1:by the name." << endl << "\t\t\t\t\t2:by the number." << endl << "\t\t\t\t\t3:search the type" << endl << "\t\t\t\t\t4:exit" << endl << "\t\t\t\t\tplease choice the search way:" ;
				cin >> flag;
				switch(flag)
				{
						case 1:
								cout << "\t\t\t\t\tplease input the name:" ;
								cin >> name;
								p=searchName(name);
								if(p==NULL)
								{
										cout << "\t\t\t\t\tsearch failed" << endl ;
										break;
								}
								else
								{
										cout << "\t\t\t\t\tsearch success!" << endl;
										p->show();
										getchar();
										cout << "\t\t\t\t\tdo you want to change it?(y/n)";
										t=getchar();
										if(t=='n')
												return ;
										else
												p->changeInfo();
												break;
								}
						case 2:
								cout << "\t\t\t\t\tplease input the id:" ;
								cin >> id;
								p=searchNumber(id);
								if(p==NULL)
								{
										cout << "\t\t\t\t\tsearch failed!" << endl;
										break;
								}
								else
								{
										cout << "\t\t\t\t\tsearch success!" << endl;
										p->show();
										getchar();
										cout << "\t\t\t\t\tdo you want to change it?(y/n)";
										t=getchar();
										if(t=='n')
												return ;
										else
												p->changeInfo();
												break;
								}
						case 3:
								cout << "\t\t\t\t\t1:admin" << endl << "\t\t\t\t\t2:inpeople" << endl << "\t\t\t\t\t3:outpeople" << endl << "\t\t\t\t\t4:commonpeople" << endl << "\t\t\t\t\t5:exit" << endl << "\t\t\t\t\tplease input your choice:" ;
								cin >> flag;
								switch(flag)
								{
										case 1://type="Admin";
											   strcpy(type,"admin");
											   p1=searchType(type);
											   p1.showAll();
											   break;
										case 2://type="InPeople";
											   strcpy(type,"InPeople");
											   p1=searchType(type);
											   p1.showAll();
											   break;
										case 3://type="OutPeople";
											   strcpy(type,"OutPeople");
											   p1=searchType(type);
											   p1.showAll();
											   break;
										case 4://type="CommonPeople";
											   strcpy(type,"CommonPeople");
											   p1=searchType(type);
											   p1.showAll();
											   break;
										case 5:break;
										default:cout << "\t\t\t\t\tinput error!" << endl;
												break;
								}break;
						case 4:return ;

						default:
								cout << "\t\t\t\t\tinput error!" << endl;
								break;
				}		
		/*		cout << "continue?(y/n)" ;
				getchar();
				if((getchar())=='n')
						return ;    */
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rdi, -0x60(%rbp)
movq $0x0, -0x38(%rbp)
movq 0xa4e3(%rip), %r14      # 0xefd0
movq $0x0, -0x30(%rbp)
movl $0x13, %edx
movq %r14, %rdi
leaq 0x576b(%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 $0x15, %edx
movq %rax, %rdi
leaq 0x57e5(%rip), %rsi      # 0xa327
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 $0x16, %edx
movq %rax, %rdi
leaq 0x57bd(%rip), %rsi      # 0xa33d
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 $0xb, %edx
movq %rax, %rdi
leaq 0x5625(%rip), %rsi      # 0xa1e3
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 0x575b(%rip), %rsi      # 0xa354
callq 0x2240
movq 0xa3db(%rip), %rdi      # 0xefe0
leaq -0x54(%rbp), %rsi
callq 0x20f0
movl $0x11, %r15d
movl -0x54(%rbp), %eax
decl %eax
cmpl $0x3, %eax
ja 0x5008
leaq 0x53eb(%rip), %rcx      # 0xa014
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x1b, %edx
movq %r14, %rdi
leaq 0x54a2(%rip), %rsi      # 0xa0e3
callq 0x2240
movq 0xa393(%rip), %rdi      # 0xefe0
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq 0x10(%rdi,%rax), %rbx
movl $0x20, %edx
leaq -0xb0(%rbp), %rsi
callq 0x2330
movq 0xa36f(%rip), %rcx      # 0xefe0
movq (%rcx), %rax
movq -0x18(%rax), %rax
cmpl $0x0, 0x20(%rcx,%rax)
jne 0x4ca6
addq $-0x21, %rbx
cmpq $-0x21, %rbx
ja 0x4ca6
movq 0xa350(%rip), %rcx      # 0xefe0
movq 0xe8(%rcx,%rax), %rdi
movq 0x10(%rdi), %rax
cmpq 0x18(%rdi), %rax
jae 0x524c
movq -0x60(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x436e
movq %rax, %r15
testq %rax, %rax
je 0x5020
movl $0x14, %edx
movq %r14, %rdi
leaq 0x56b9(%rip), %rsi      # 0xa38a
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 %r15, %rdi
callq 0x3680
callq 0x2290
movl $0x23, %edx
movq %r14, %rdi
leaq 0x5686(%rip), %rsi      # 0xa39f
callq 0x2240
jmp 0x4fee
movl $0xc, %edx
movq %r14, %rdi
leaq 0x56bf(%rip), %rsi      # 0xa3f1
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, %r12
movl $0xf, %edx
movq %rax, %rdi
leaq 0x568e(%rip), %rsi      # 0xa3fe
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq %rax, %r12
movl $0x10, %edx
movq %rax, %rdi
leaq 0x565f(%rip), %rsi      # 0xa40e
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq %rax, %r12
movl $0x13, %edx
movq %rax, %rdi
leaq 0x5631(%rip), %rsi      # 0xa41f
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq %rax, %r12
movl $0xb, %edx
movq %rax, %rdi
leaq 0x5606(%rip), %rsi      # 0xa433
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movl $0x1e, %edx
movq %rax, %rdi
leaq 0x55d6(%rip), %rsi      # 0xa43f
callq 0x2240
movq 0xa16b(%rip), %rdi      # 0xefe0
leaq -0x54(%rbp), %rsi
callq 0x20f0
movl -0x54(%rbp), %eax
decl %eax
leaq 0x52ff(%rip), %rsi      # 0xa189
cmpl $0x4, %eax
ja 0x502d
leaq 0x518a(%rip), %rcx      # 0xa024
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movw $0x6e, -0x8c(%rbp)
movl $0x696d6461, -0x90(%rbp) # imm = 0x696D6461
leaq -0x50(%rbp), %rdi
movq -0x60(%rbp), %rsi
leaq -0x90(%rbp), %rdx
callq 0x4a3a
movq -0x50(%rbp), %r13
movq -0x48(%rbp), %rbx
movq -0x40(%rbp), %r12
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
movq -0x38(%rbp), %rdi
testq %rdi, %rdi
je 0x4efa
movq -0x30(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x4f0f
movq -0x40(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
movq %r13, -0x38(%rbp)
movq %r12, -0x30(%rbp)
cmpq %rbx, %r13
je 0x4af5
movq %r13, %r15
movq (%r15), %rdi
callq 0x3680
addq $0x8, %r15
cmpq %rbx, %r15
jne 0x4f23
movq %r13, -0x38(%rbp)
movq %r12, -0x30(%rbp)
jmp 0x4af5
movl $0x19, %edx
movq %r14, %rdi
leaq 0x5473(%rip), %rsi      # 0xa3c3
callq 0x2240
movq 0xa084(%rip), %rdi      # 0xefe0
leaq -0x64(%rbp), %rsi
callq 0x20f0
movq -0x60(%rbp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rcx
cmpq %rcx, %rax
je 0x4f8a
movl -0x64(%rbp), %edx
movq (%rax), %r15
cmpl %edx, 0x68(%r15)
je 0x4f8d
addq $0x8, %rax
cmpq %rcx, %rax
jne 0x4f78
xorl %r15d, %r15d
testq %r15, %r15
je 0x5011
movl $0x14, %edx
movq %r14, %rdi
leaq 0x53e9(%rip), %rsi      # 0xa38a
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 %r15, %rdi
callq 0x3680
callq 0x2290
movl $0x23, %edx
movq %r14, %rdi
leaq 0x53b6(%rip), %rsi      # 0xa39f
callq 0x2240
callq 0x2290
cmpb $0x6e, %al
je 0x527e
movq %r15, %rdi
callq 0x34e6
jmp 0x4af5
leaq 0x517a(%rip), %rsi      # 0xa189
jmp 0x502d
movl $0x13, %r15d
leaq 0x53bf(%rip), %rsi      # 0xa3dd
jmp 0x502d
movl $0x12, %r15d
leaq 0x534a(%rip), %rsi      # 0xa377
movq %r14, %rdi
movq %r15, %rdx
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 0x4af5
movabsq $0x6c706f655074754f, %rax # imm = 0x6C706F655074754F
movq %rax, -0x90(%rbp)
movw $0x65, -0x88(%rbp)
leaq -0x50(%rbp), %rdi
movq -0x60(%rbp), %rsi
leaq -0x90(%rbp), %rdx
callq 0x4a3a
movq -0x50(%rbp), %r15
movq -0x48(%rbp), %rbx
movq -0x40(%rbp), %r12
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
movq -0x38(%rbp), %rdi
testq %rdi, %rdi
je 0x50c2
movq -0x30(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x50d7
movq -0x40(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
movq %r15, -0x38(%rbp)
movq %r12, -0x30(%rbp)
cmpq %rbx, %r15
je 0x4af5
movq %r15, %r13
movq (%r13), %rdi
callq 0x3680
addq $0x8, %r13
cmpq %rbx, %r13
jne 0x50eb
jmp 0x523f
movabsq $0x656c706f65506e, %rax # imm = 0x656C706F65506E
movq %rax, -0x8b(%rbp)
movabsq $0x65506e6f6d6d6f43, %rax # imm = 0x65506E6F6D6D6F43
movq %rax, -0x90(%rbp)
leaq -0x50(%rbp), %rdi
movq -0x60(%rbp), %rsi
leaq -0x90(%rbp), %rdx
callq 0x4a3a
movq -0x50(%rbp), %r15
movq -0x48(%rbp), %rbx
movq -0x40(%rbp), %r12
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
movq -0x38(%rbp), %rdi
testq %rdi, %rdi
je 0x5168
movq -0x30(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x517d
movq -0x40(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
movq %r15, -0x38(%rbp)
movq %r12, -0x30(%rbp)
cmpq %rbx, %r15
je 0x4af5
movq %r15, %r13
movq (%r13), %rdi
callq 0x3680
addq $0x8, %r13
cmpq %rbx, %r13
jne 0x5191
jmp 0x523f
movabsq $0x656c706f65506e49, %rax # imm = 0x656C706F65506E49
movq %rax, -0x90(%rbp)
movb $0x0, -0x88(%rbp)
leaq -0x50(%rbp), %rdi
movq -0x60(%rbp), %rsi
leaq -0x90(%rbp), %rdx
callq 0x4a3a
movq -0x50(%rbp), %r15
movq -0x48(%rbp), %rbx
movq -0x40(%rbp), %r12
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
movq -0x38(%rbp), %rdi
testq %rdi, %rdi
je 0x5204
movq -0x30(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x5219
movq -0x40(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
movq %r15, -0x38(%rbp)
movq %r12, -0x30(%rbp)
cmpq %rbx, %r15
je 0x4af5
movq %r15, %r13
movq (%r13), %rdi
callq 0x3680
addq $0x8, %r13
cmpq %rbx, %r13
jne 0x522d
movq %r15, -0x38(%rbp)
movq %r12, -0x30(%rbp)
jmp 0x4af5
movq (%rdi), %rax
callq *0x48(%rax)
cmpl $-0x1, %eax
jne 0x4ca6
movq 0x9d7e(%rip), %rcx      # 0xefe0
movq (%rcx), %rax
movq -0x18(%rax), %rax
leaq (%rcx,%rax), %rdi
movl 0x20(%rcx,%rax), %esi
orl $0x2, %esi
callq 0x2310
jmp 0x4ca6
movq -0x38(%rbp), %rdi
testq %rdi, %rdi
je 0x5293
movq -0x30(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x52c5
jmp 0x52c5
jmp 0x52c5
jmp 0x52c5
jmp 0x52b1
jmp 0x52b1
movq %rax, %rbx
movq %r15, %rdi
jmp 0x52bf
movq %rax, %rbx
movq %r13, %rdi
movq %r12, -0x30(%rbp)
jmp 0x52cc
movq %rax, %rbx
movq -0x38(%rbp), %rdi
testq %rdi, %rdi
je 0x52dd
movq -0x30(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
movq %rbx, %rdi
callq 0x2350
nop