// File: /workspace/github_cpp_makefile_star2_O2/chulchultrain[P]FactoryHead/MapGenerator/MapGenerator.cpp
// Function: MapGenerator::TypeToEntryIDVectorMapHelper(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>>>&)
void MapGenerator::TypeToEntryIDVectorMapHelper(map<string, vector<string> > &m) {
	map <string,vector<string> > dtt;
	//map <string, vector<string> > dte;

	DexIDToTypeVectorMap(dtt);


	m.clear();
	ifstream fin(ENTRYFILE);
	string DexID;
	string EntryID;
	string discard;	
	while(getline(fin,EntryID) ) {
		getline(fin,DexID);
		getline(fin,discard);
		while(discard != "")
			getline(fin,discard);
		vector<string> &types = dtt[DexID];
		for(unsigned int i = 0; i < types.size(); i++) {
			m[types[i]].push_back(EntryID);
		}
		m[DexID].push_back(EntryID);
	}
	fin.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x298, %rsp            # imm = 0x298
movq %rsi, %rbx
leaq -0xb0(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x19f9a(%rip), %rsi     # 0x1d250
leaq -0xb8(%rbp), %rdi
callq 0x5928
movq %rbx, %rdi
callq 0x7cf2
leaq 0xed5b(%rip), %rsi      # 0x1202c
leaq -0x2c0(%rbp), %rdi
pushq $0x8
popq %rdx
callq 0x2300
leaq -0x58(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
leaq -0x78(%rbp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movb %cl, (%rax)
movb %cl, (%rdx)
leaq -0x2c0(%rbp), %r14
leaq -0x68(%rbp), %r15
leaq -0x88(%rbp), %r13
movq %r14, %rdi
leaq -0x48(%rbp), %rsi
callq 0x2050
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x33e5
movq %r14, %rdi
movq %r15, %rsi
callq 0x2050
movq %r14, %rdi
movq %r13, %rsi
callq 0x2050
movq %r13, %rdi
leaq 0xf211(%rip), %rsi      # 0x12570
callq 0x490f
testb %al, %al
je 0x3375
movq %r14, %rdi
movq %r13, %rsi
callq 0x2050
jmp 0x3355
leaq -0xb8(%rbp), %rdi
movq %r15, %rsi
callq 0x486a
movq %rax, %r12
xorl %r15d, %r15d
movl %r15d, %r15d
movq (%r12), %rsi
movq 0x8(%r12), %rax
subq %rsi, %rax
sarq $0x5, %rax
cmpq %r15, %rax
jbe 0x33c5
movq %r15, %rax
shlq $0x5, %rax
addq %rax, %rsi
movq %rbx, %rdi
callq 0x486a
movq %rax, %rdi
leaq -0x48(%rbp), %rsi
callq 0x48d4
incl %r15d
jmp 0x338a
movq %rbx, %rdi
leaq -0x68(%rbp), %r15
movq %r15, %rsi
callq 0x486a
movq %rax, %rdi
leaq -0x48(%rbp), %rsi
callq 0x48d4
jmp 0x3321
leaq -0x2c0(%rbp), %rdi
callq 0x2060
leaq -0x88(%rbp), %rdi
callq 0x20e0
leaq -0x48(%rbp), %rdi
callq 0x20e0
leaq -0x68(%rbp), %rdi
callq 0x20e0
leaq -0x2c0(%rbp), %rdi
callq 0x2070
leaq -0xb8(%rbp), %rdi
callq 0x513a
addq $0x298, %rsp            # imm = 0x298
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3448
jmp 0x343d
movq %rax, %rbx
jmp 0x3475
jmp 0x3448
jmp 0x3448
jmp 0x3448
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
callq 0x20e0
leaq -0x48(%rbp), %rdi
callq 0x20e0
leaq -0x68(%rbp), %rdi
callq 0x20e0
leaq -0x2c0(%rbp), %rdi
callq 0x2070
leaq -0xb8(%rbp), %rdi
callq 0x513a
movq %rbx, %rdi
callq 0x22e0
nop