// File: mehrangoli[P]Static-Data-Extractor/SCmain.cpp
// Function: ScMain::find_localVar_elements[abi:cxx11](std::basic_ifstream<char, std::char_traits<char>>&, unsigned int)
vector<NT> ScMain::find_localVar_elements (ifstream &debugSymbol, unsigned int lineNum){
	vector<NT> Vect_NameType;
	vector<string> split_line;
	NT NameType;
	string line;
	GotoLine(debugSymbol, lineNum);
	bool findComplexType = 0;

	if (debugSymbol.is_open()){
		while (getline(debugSymbol, line)) {
			if ((!string_finder (line, DCSCMODULE)) && (!line.empty()) && (string_finder (line, CLASS) || string_finder (line, STRUCT))){ //--------- first step of extracting local var of systemC
				split_line = split(line, ' ');
				remove_element_vector(split_line, "");
				if ((split_line.size() > 3) && string_finder (line, CLASS))
					NameType.second = split_line[2];
				else
					NameType.second = split_line[1];
				if (string_finder (NameType.second, SCCORE) && string_finder (NameType.second, "<"))
					NameType.second = replace_first_occurrence(NameType.second,",",">");
				
				findComplexType = 1;
			}
			else if (string_finder (line, CAT) && findComplexType && (!string_finder (line, CT)) && string_finder (line,"}")){ //--- second step of complex type
				split_line = split(line, ' ');
				remove_element_vector(split_line, "");
				NameType.first = split_line[1];
				NameType.first = replace_first_occurrence(NameType.first,";","");

				set_NT_vector (Vect_NameType, NameType);
			}
			else if (string_finder (line, CAT) && (!string_finder (line, CT))){ //----------- extracting local var of c++ for each function
				NameType = find_module_var(line);
				set_NT_vector (Vect_NameType, NameType);
			}
			if (string_finder (line, BLOCK))
				return Vect_NameType;
		}
	}
	
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7f0, %rsp            # imm = 0x7F0
movq %rdi, -0x6a0(%rbp)
movq %rdi, %rax
movq %rax, -0x698(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x690(%rbp)
movb $0x0, -0x1d(%rbp)
callq 0xdfe0
leaq -0x38(%rbp), %rdi
callq 0xdfc0
leaq -0x78(%rbp), %rdi
callq 0xe2f0
jmp 0x8953
leaq -0xa8(%rbp), %rdi
callq 0x3340
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x10e50
jmp 0x896d
movb $0x0, -0xa9(%rbp)
movq -0x18(%rbp), %rdi
callq 0x33c0
movb %al, -0x6a1(%rbp)
jmp 0x8985
movb -0x6a1(%rbp), %al
testb $0x1, %al
jne 0x8994
jmp 0x9e7c
jmp 0x8996
movq -0x18(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3070
movq %rax, -0x6b0(%rbp)
jmp 0x89af
movq -0x6b0(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x32f0
movb %al, -0x6b1(%rbp)
jmp 0x89cd
movb -0x6b1(%rbp), %al
testb $0x1, %al
jne 0x89dc
jmp 0x9e7a
movb $0x0, -0x119(%rbp)
movb $0x0, -0x142(%rbp)
movb $0x0, -0x143(%rbp)
movb $0x0, -0x169(%rbp)
movb $0x0, -0x192(%rbp)
movb $0x0, -0x193(%rbp)
leaq -0xd0(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x8a1b
leaq -0xf1(%rbp), %rdi
movq %rdi, -0x6c0(%rbp)
callq 0x3430
movq -0x6c0(%rbp), %rdx
leaq 0xe87c(%rip), %rsi      # 0x172b8
leaq -0xf0(%rbp), %rdi
callq 0x6100
jmp 0x8a4a
leaq -0xd0(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x10e10
movb %al, -0x6c1(%rbp)
jmp 0x8a65
movb -0x6c1(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x6c2(%rbp)
jne 0x8bb8
jmp 0x8a7e
leaq -0xa8(%rbp), %rdi
callq 0x33e0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x6c2(%rbp)
jne 0x8bb8
leaq -0x118(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x8ab2
movb $0x1, -0x119(%rbp)
leaq -0x141(%rbp), %rdi
movq %rdi, -0x6d0(%rbp)
callq 0x3430
movq -0x6d0(%rbp), %rdx
movb $0x1, -0x142(%rbp)
leaq 0xe7e3(%rip), %rsi      # 0x172c4
leaq -0x140(%rbp), %rdi
callq 0x6100
jmp 0x8aef
movb $0x1, -0x143(%rbp)
leaq -0x118(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x10e10
movb %al, -0x6d1(%rbp)
jmp 0x8b11
movb -0x6d1(%rbp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x6d2(%rbp)
jne 0x8bac
jmp 0x8b2a
leaq -0x168(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x8b3f
movb $0x1, -0x169(%rbp)
leaq -0x191(%rbp), %rdi
movq %rdi, -0x6e0(%rbp)
callq 0x3430
movq -0x6e0(%rbp), %rdx
movb $0x1, -0x192(%rbp)
leaq 0xe8fd(%rip), %rsi      # 0x1746b
leaq -0x190(%rbp), %rdi
callq 0x6100
jmp 0x8b7c
movb $0x1, -0x193(%rbp)
leaq -0x168(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x10e10
movb %al, -0x6e1(%rbp)
jmp 0x8b9e
movb -0x6e1(%rbp), %al
movb %al, -0x6d2(%rbp)
jmp 0x8bac
movb -0x6d2(%rbp), %al
movb %al, -0x6c2(%rbp)
movb -0x6c2(%rbp), %al
movb %al, -0x6e2(%rbp)
testb $0x1, -0x193(%rbp)
jne 0x8bcf
jmp 0x8bdb
leaq -0x190(%rbp), %rdi
callq 0x3190
testb $0x1, -0x192(%rbp)
jne 0x8be6
jmp 0x8bf2
leaq -0x191(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x169(%rbp)
jne 0x8bfd
jmp 0x8c09
leaq -0x168(%rbp), %rdi
callq 0x3190
testb $0x1, -0x143(%rbp)
jne 0x8c14
jmp 0x8c20
leaq -0x140(%rbp), %rdi
callq 0x3190
testb $0x1, -0x142(%rbp)
jne 0x8c2b
jmp 0x8c37
leaq -0x141(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x119(%rbp)
jne 0x8c42
jmp 0x8c4e
leaq -0x118(%rbp), %rdi
callq 0x3190
leaq -0xf0(%rbp), %rdi
callq 0x3190
leaq -0xf1(%rbp), %rdi
callq 0x32a0
leaq -0xd0(%rbp), %rdi
callq 0x3190
movb -0x6e2(%rbp), %al
testb $0x1, %al
jne 0x8c81
jmp 0x93f7
leaq -0x1b0(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
movl $0x20, %edx
callq 0x10ec0
jmp 0x8c9b
leaq -0x38(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
movq %rsi, -0x6f8(%rbp)
callq 0xe150
movq -0x6f8(%rbp), %rdi
callq 0x6270
leaq -0x1d1(%rbp), %rdi
movq %rdi, -0x6f0(%rbp)
callq 0x3430
movq -0x6f0(%rbp), %rdx
leaq 0xe813(%rip), %rsi      # 0x174f2
leaq -0x1d0(%rbp), %rdi
callq 0x6100
jmp 0x8ced
leaq -0x38(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x11350
jmp 0x8cff
leaq -0x1d0(%rbp), %rdi
callq 0x3190
leaq -0x1d1(%rbp), %rdi
callq 0x32a0
leaq -0x38(%rbp), %rdi
callq 0xe320
movq %rax, %rcx
movb $0x0, -0x1f9(%rbp)
movb $0x0, -0x222(%rbp)
movb $0x0, -0x223(%rbp)
xorl %eax, %eax
cmpq $0x3, %rcx
movb %al, -0x6f9(%rbp)
jbe 0x8dcc
leaq -0x1f8(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x8d5f
movb $0x1, -0x1f9(%rbp)
leaq -0x221(%rbp), %rdi
movq %rdi, -0x708(%rbp)
callq 0x3430
movq -0x708(%rbp), %rdx
movb $0x1, -0x222(%rbp)
leaq 0xe536(%rip), %rsi      # 0x172c4
leaq -0x220(%rbp), %rdi
callq 0x6100
jmp 0x8d9c
movb $0x1, -0x223(%rbp)
leaq -0x1f8(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x10e10
movb %al, -0x709(%rbp)
jmp 0x8dbe
movb -0x709(%rbp), %al
movb %al, -0x6f9(%rbp)
jmp 0x8dcc
movb -0x6f9(%rbp), %al
movb %al, -0x70a(%rbp)
testb $0x1, -0x223(%rbp)
jne 0x8de3
jmp 0x8def
leaq -0x220(%rbp), %rdi
callq 0x3190
testb $0x1, -0x222(%rbp)
jne 0x8dfa
jmp 0x8e06
leaq -0x221(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x1f9(%rbp)
jne 0x8e11
jmp 0x8e1d
leaq -0x1f8(%rbp), %rdi
callq 0x3190
movb -0x70a(%rbp), %al
testb $0x1, %al
jne 0x8e2c
jmp 0x9046
leaq -0x38(%rbp), %rdi
movl $0x2, %esi
callq 0xe270
movq %rax, %rsi
leaq -0x58(%rbp), %rdi
callq 0x3030
jmp 0x8e48
jmp 0x9064
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9e93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9e7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x8f80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x8f74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x8f44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x8f2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x8efb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
testb $0x1, -0x193(%rbp)
jne 0x8eed
jmp 0x8ef9
leaq -0x190(%rbp), %rdi
callq 0x3190
jmp 0x8efb
testb $0x1, -0x192(%rbp)
jne 0x8f06
jmp 0x8f12
leaq -0x191(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x169(%rbp)
jne 0x8f1d
jmp 0x8f29
leaq -0x168(%rbp), %rdi
callq 0x3190
jmp 0x8f2b
testb $0x1, -0x143(%rbp)
jne 0x8f36
jmp 0x8f42
leaq -0x140(%rbp), %rdi
callq 0x3190
jmp 0x8f44
testb $0x1, -0x142(%rbp)
jne 0x8f4f
jmp 0x8f5b
leaq -0x141(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x119(%rbp)
jne 0x8f66
jmp 0x8f72
leaq -0x118(%rbp), %rdi
callq 0x3190
jmp 0x8f74
leaq -0xf0(%rbp), %rdi
callq 0x3190
leaq -0xf1(%rbp), %rdi
callq 0x32a0
leaq -0xd0(%rbp), %rdi
callq 0x3190
jmp 0x9e7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x8fc9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x3190
leaq -0x1d1(%rbp), %rdi
callq 0x32a0
jmp 0x9e7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9013
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
testb $0x1, -0x223(%rbp)
jne 0x9005
jmp 0x9011
leaq -0x220(%rbp), %rdi
callq 0x3190
jmp 0x9013
testb $0x1, -0x222(%rbp)
jne 0x901e
jmp 0x902a
leaq -0x221(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x1f9(%rbp)
jne 0x9035
jmp 0x9041
leaq -0x1f8(%rbp), %rdi
callq 0x3190
jmp 0x9e7e
leaq -0x38(%rbp), %rdi
movl $0x1, %esi
callq 0xe270
movq %rax, %rsi
leaq -0x58(%rbp), %rdi
callq 0x3030
jmp 0x9062
jmp 0x9064
leaq -0x58(%rbp), %rsi
movb $0x0, -0x291(%rbp)
movb $0x0, -0x2ba(%rbp)
movb $0x0, -0x2bb(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x3120
jmp 0x908b
leaq -0x269(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x3430
movq -0x718(%rbp), %rdx
leaq 0xe21e(%rip), %rsi      # 0x172ca
leaq -0x268(%rbp), %rdi
callq 0x6100
jmp 0x90ba
leaq -0x248(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x10e10
movb %al, -0x719(%rbp)
jmp 0x90d5
movb -0x719(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x71a(%rbp)
jne 0x90ea
jmp 0x9169
leaq -0x58(%rbp), %rsi
leaq -0x290(%rbp), %rdi
callq 0x3120
jmp 0x90fc
movb $0x1, -0x291(%rbp)
leaq -0x2b9(%rbp), %rdi
movq %rdi, -0x728(%rbp)
callq 0x3430
movq -0x728(%rbp), %rdx
movb $0x1, -0x2ba(%rbp)
leaq 0xe1a9(%rip), %rsi      # 0x172d4
leaq -0x2b8(%rbp), %rdi
callq 0x6100
jmp 0x9139
movb $0x1, -0x2bb(%rbp)
leaq -0x290(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x10e10
movb %al, -0x729(%rbp)
jmp 0x915b
movb -0x729(%rbp), %al
movb %al, -0x71a(%rbp)
jmp 0x9169
movb -0x71a(%rbp), %al
movb %al, -0x72a(%rbp)
testb $0x1, -0x2bb(%rbp)
jne 0x9180
jmp 0x918c
leaq -0x2b8(%rbp), %rdi
callq 0x3190
testb $0x1, -0x2ba(%rbp)
jne 0x9197
jmp 0x91a3
leaq -0x2b9(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x291(%rbp)
jne 0x91ae
jmp 0x91ba
leaq -0x290(%rbp), %rdi
callq 0x3190
leaq -0x268(%rbp), %rdi
callq 0x3190
leaq -0x269(%rbp), %rdi
callq 0x32a0
leaq -0x248(%rbp), %rdi
callq 0x3190
movb -0x72a(%rbp), %al
testb $0x1, %al
jne 0x91ed
jmp 0x93eb
leaq -0x58(%rbp), %rax
movq %rax, -0x740(%rbp)
leaq -0x301(%rbp), %rdi
movq %rdi, -0x738(%rbp)
callq 0x3430
movq -0x738(%rbp), %rdx
leaq 0xe0bd(%rip), %rsi      # 0x172d6
leaq -0x300(%rbp), %rdi
callq 0x6100
jmp 0x9227
leaq -0x329(%rbp), %rdi
movq %rdi, -0x748(%rbp)
callq 0x3430
movq -0x748(%rbp), %rdx
leaq 0xe303(%rip), %rsi      # 0x1754b
leaq -0x328(%rbp), %rdi
callq 0x6100
jmp 0x9256
movq -0x740(%rbp), %rsi
leaq -0x2e0(%rbp), %rdi
leaq -0x300(%rbp), %rdx
leaq -0x328(%rbp), %rcx
callq 0x11030
jmp 0x9279
leaq -0x78(%rbp), %rdi
addq $0x20, %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x32d0
leaq -0x2e0(%rbp), %rdi
callq 0x3190
leaq -0x328(%rbp), %rdi
callq 0x3190
leaq -0x329(%rbp), %rdi
callq 0x32a0
leaq -0x300(%rbp), %rdi
callq 0x3190
leaq -0x301(%rbp), %rdi
callq 0x32a0
jmp 0x93eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9368
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x935c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x932c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
testb $0x1, -0x2bb(%rbp)
jne 0x931e
jmp 0x932a
leaq -0x2b8(%rbp), %rdi
callq 0x3190
jmp 0x932c
testb $0x1, -0x2ba(%rbp)
jne 0x9337
jmp 0x9343
leaq -0x2b9(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x291(%rbp)
jne 0x934e
jmp 0x935a
leaq -0x290(%rbp), %rdi
callq 0x3190
jmp 0x935c
leaq -0x268(%rbp), %rdi
callq 0x3190
leaq -0x269(%rbp), %rdi
callq 0x32a0
leaq -0x248(%rbp), %rdi
callq 0x3190
jmp 0x9e7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x93da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x93c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x328(%rbp), %rdi
callq 0x3190
leaq -0x329(%rbp), %rdi
callq 0x32a0
leaq -0x300(%rbp), %rdi
callq 0x3190
leaq -0x301(%rbp), %rdi
callq 0x32a0
jmp 0x9e7e
movb $0x1, -0xa9(%rbp)
jmp 0x9d72
movb $0x0, -0x399(%rbp)
movb $0x0, -0x3c2(%rbp)
movb $0x0, -0x3c3(%rbp)
movb $0x0, -0x3e9(%rbp)
movb $0x0, -0x412(%rbp)
movb $0x0, -0x413(%rbp)
leaq -0x350(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x9436
leaq -0x371(%rbp), %rdi
movq %rdi, -0x750(%rbp)
callq 0x3430
movq -0x750(%rbp), %rdx
leaq 0xde81(%rip), %rsi      # 0x172d8
leaq -0x370(%rbp), %rdi
callq 0x6100
jmp 0x9465
leaq -0x350(%rbp), %rdi
leaq -0x370(%rbp), %rsi
callq 0x10e10
movb %al, -0x751(%rbp)
jmp 0x9480
movb -0x751(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x752(%rbp)
jne 0x9498
jmp 0x95bc
xorl %eax, %eax
testb $0x1, -0xa9(%rbp)
movb %al, -0x752(%rbp)
je 0x95bc
leaq -0x398(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x94c2
movb $0x1, -0x399(%rbp)
leaq -0x3c1(%rbp), %rdi
movq %rdi, -0x760(%rbp)
callq 0x3430
movq -0x760(%rbp), %rdx
movb $0x1, -0x3c2(%rbp)
leaq 0xddfb(%rip), %rsi      # 0x172ec
leaq -0x3c0(%rbp), %rdi
callq 0x6100
jmp 0x94ff
movb $0x1, -0x3c3(%rbp)
leaq -0x398(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
callq 0x10e10
movb %al, -0x761(%rbp)
jmp 0x9521
movb -0x761(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x752(%rbp)
jne 0x95bc
jmp 0x953a
leaq -0x3e8(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x954f
movb $0x1, -0x3e9(%rbp)
leaq -0x411(%rbp), %rdi
movq %rdi, -0x770(%rbp)
callq 0x3430
movq -0x770(%rbp), %rdx
movb $0x1, -0x412(%rbp)
leaq 0xdd7a(%rip), %rsi      # 0x172f8
leaq -0x410(%rbp), %rdi
callq 0x6100
jmp 0x958c
movb $0x1, -0x413(%rbp)
leaq -0x3e8(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0x10e10
movb %al, -0x771(%rbp)
jmp 0x95ae
movb -0x771(%rbp), %al
movb %al, -0x752(%rbp)
jmp 0x95bc
movb -0x752(%rbp), %al
movb %al, -0x772(%rbp)
testb $0x1, -0x413(%rbp)
jne 0x95d3
jmp 0x95df
leaq -0x410(%rbp), %rdi
callq 0x3190
testb $0x1, -0x412(%rbp)
jne 0x95ea
jmp 0x95f6
leaq -0x411(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x3e9(%rbp)
jne 0x9601
jmp 0x960d
leaq -0x3e8(%rbp), %rdi
callq 0x3190
testb $0x1, -0x3c3(%rbp)
jne 0x9618
jmp 0x9624
leaq -0x3c0(%rbp), %rdi
callq 0x3190
testb $0x1, -0x3c2(%rbp)
jne 0x962f
jmp 0x963b
leaq -0x3c1(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x399(%rbp)
jne 0x9646
jmp 0x9652
leaq -0x398(%rbp), %rdi
callq 0x3190
leaq -0x370(%rbp), %rdi
callq 0x3190
leaq -0x371(%rbp), %rdi
callq 0x32a0
leaq -0x350(%rbp), %rdi
callq 0x3190
movb -0x772(%rbp), %al
testb $0x1, %al
jne 0x9685
jmp 0x9a43
leaq -0x430(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
movl $0x20, %edx
callq 0x10ec0
jmp 0x969f
leaq -0x38(%rbp), %rdi
leaq -0x430(%rbp), %rsi
movq %rsi, -0x788(%rbp)
callq 0xe150
movq -0x788(%rbp), %rdi
callq 0x6270
leaq -0x451(%rbp), %rdi
movq %rdi, -0x780(%rbp)
callq 0x3430
movq -0x780(%rbp), %rdx
leaq 0xde0f(%rip), %rsi      # 0x174f2
leaq -0x450(%rbp), %rdi
callq 0x6100
jmp 0x96f1
leaq -0x38(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x11350
jmp 0x9703
leaq -0x450(%rbp), %rdi
callq 0x3190
leaq -0x451(%rbp), %rdi
callq 0x32a0
leaq -0x38(%rbp), %rdi
movl $0x1, %esi
callq 0xe270
movq %rax, %rsi
leaq -0x78(%rbp), %rdi
callq 0x3030
jmp 0x9737
leaq -0x78(%rbp), %rax
movq %rax, -0x798(%rbp)
leaq -0x499(%rbp), %rdi
movq %rdi, -0x790(%rbp)
callq 0x3430
movq -0x790(%rbp), %rdx
leaq 0xdd16(%rip), %rsi      # 0x17479
leaq -0x498(%rbp), %rdi
callq 0x6100
jmp 0x9771
leaq -0x4c1(%rbp), %rdi
movq %rdi, -0x7a0(%rbp)
callq 0x3430
movq -0x7a0(%rbp), %rdx
leaq 0xdd60(%rip), %rsi      # 0x174f2
leaq -0x4c0(%rbp), %rdi
callq 0x6100
jmp 0x97a0
movq -0x798(%rbp), %rsi
leaq -0x478(%rbp), %rdi
leaq -0x498(%rbp), %rdx
leaq -0x4c0(%rbp), %rcx
callq 0x11030
jmp 0x97c3
leaq -0x78(%rbp), %rdi
movq %rdi, -0x7a8(%rbp)
leaq -0x478(%rbp), %rsi
movq %rsi, -0x7b0(%rbp)
callq 0x32d0
movq -0x7b0(%rbp), %rdi
callq 0x3190
leaq -0x4c0(%rbp), %rdi
callq 0x3190
leaq -0x4c1(%rbp), %rdi
callq 0x32a0
leaq -0x498(%rbp), %rdi
callq 0x3190
leaq -0x499(%rbp), %rdi
callq 0x32a0
movq -0x7a8(%rbp), %rsi
leaq -0x508(%rbp), %rdi
callq 0xe340
jmp 0x9832
movq -0x6a0(%rbp), %rdi
leaq -0x508(%rbp), %rsi
callq 0x113f0
jmp 0x9847
leaq -0x508(%rbp), %rdi
callq 0x6740
jmp 0x9d70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9963
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9957
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9927
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x990e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x98de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
testb $0x1, -0x413(%rbp)
jne 0x98d0
jmp 0x98dc
leaq -0x410(%rbp), %rdi
callq 0x3190
jmp 0x98de
testb $0x1, -0x412(%rbp)
jne 0x98e9
jmp 0x98f5
leaq -0x411(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x3e9(%rbp)
jne 0x9900
jmp 0x990c
leaq -0x3e8(%rbp), %rdi
callq 0x3190
jmp 0x990e
testb $0x1, -0x3c3(%rbp)
jne 0x9919
jmp 0x9925
leaq -0x3c0(%rbp), %rdi
callq 0x3190
jmp 0x9927
testb $0x1, -0x3c2(%rbp)
jne 0x9932
jmp 0x993e
leaq -0x3c1(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x399(%rbp)
jne 0x9949
jmp 0x9955
leaq -0x398(%rbp), %rdi
callq 0x3190
jmp 0x9957
leaq -0x370(%rbp), %rdi
callq 0x3190
leaq -0x371(%rbp), %rdi
callq 0x32a0
leaq -0x350(%rbp), %rdi
callq 0x3190
jmp 0x9e7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x99ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x450(%rbp), %rdi
callq 0x3190
leaq -0x451(%rbp), %rdi
callq 0x32a0
jmp 0x9e7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9a12
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x99fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x4c0(%rbp), %rdi
callq 0x3190
leaq -0x4c1(%rbp), %rdi
callq 0x32a0
leaq -0x498(%rbp), %rdi
callq 0x3190
leaq -0x499(%rbp), %rdi
callq 0x32a0
jmp 0x9e7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x508(%rbp), %rdi
callq 0x6740
jmp 0x9e7e
movb $0x0, -0x571(%rbp)
movb $0x0, -0x59a(%rbp)
movb $0x0, -0x59b(%rbp)
leaq -0x528(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x9a6d
leaq -0x549(%rbp), %rdi
movq %rdi, -0x7b8(%rbp)
callq 0x3430
movq -0x7b8(%rbp), %rdx
leaq 0xd84a(%rip), %rsi      # 0x172d8
leaq -0x548(%rbp), %rdi
callq 0x6100
jmp 0x9a9c
leaq -0x528(%rbp), %rdi
leaq -0x548(%rbp), %rsi
callq 0x10e10
movb %al, -0x7b9(%rbp)
jmp 0x9ab7
movb -0x7b9(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x7ba(%rbp)
jne 0x9acf
jmp 0x9b51
leaq -0x570(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x9ae4
movb $0x1, -0x571(%rbp)
leaq -0x599(%rbp), %rdi
movq %rdi, -0x7c8(%rbp)
callq 0x3430
movq -0x7c8(%rbp), %rdx
movb $0x1, -0x59a(%rbp)
leaq 0xd7d9(%rip), %rsi      # 0x172ec
leaq -0x598(%rbp), %rdi
callq 0x6100
jmp 0x9b21
movb $0x1, -0x59b(%rbp)
leaq -0x570(%rbp), %rdi
leaq -0x598(%rbp), %rsi
callq 0x10e10
movb %al, -0x7c9(%rbp)
jmp 0x9b43
movb -0x7c9(%rbp), %al
xorb $-0x1, %al
movb %al, -0x7ba(%rbp)
movb -0x7ba(%rbp), %al
movb %al, -0x7ca(%rbp)
testb $0x1, -0x59b(%rbp)
jne 0x9b68
jmp 0x9b74
leaq -0x598(%rbp), %rdi
callq 0x3190
testb $0x1, -0x59a(%rbp)
jne 0x9b7f
jmp 0x9b8b
leaq -0x599(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x571(%rbp)
jne 0x9b96
jmp 0x9ba2
leaq -0x570(%rbp), %rdi
callq 0x3190
leaq -0x548(%rbp), %rdi
callq 0x3190
leaq -0x549(%rbp), %rdi
callq 0x32a0
leaq -0x528(%rbp), %rdi
callq 0x3190
movb -0x7ca(%rbp), %al
testb $0x1, %al
jne 0x9bd5
jmp 0x9d6e
leaq -0x600(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x9bea
movq -0x690(%rbp), %rsi
leaq -0x5e0(%rbp), %rdi
leaq -0x600(%rbp), %rdx
callq 0x9ed0
jmp 0x9c06
leaq -0x78(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
leaq -0x5e0(%rbp), %rsi
movq %rsi, -0x7e0(%rbp)
callq 0xe3a0
movq -0x7e0(%rbp), %rdi
callq 0x6740
leaq -0x600(%rbp), %rdi
callq 0x3190
movq -0x7d8(%rbp), %rsi
leaq -0x640(%rbp), %rdi
callq 0xe340
jmp 0x9c51
movq -0x6a0(%rbp), %rdi
leaq -0x640(%rbp), %rsi
callq 0x113f0
jmp 0x9c66
leaq -0x640(%rbp), %rdi
callq 0x6740
jmp 0x9d6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9d11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9d05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9cd5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
testb $0x1, -0x59b(%rbp)
jne 0x9cc7
jmp 0x9cd3
leaq -0x598(%rbp), %rdi
callq 0x3190
jmp 0x9cd5
testb $0x1, -0x59a(%rbp)
jne 0x9ce0
jmp 0x9cec
leaq -0x599(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x571(%rbp)
jne 0x9cf7
jmp 0x9d03
leaq -0x570(%rbp), %rdi
callq 0x3190
jmp 0x9d05
leaq -0x548(%rbp), %rdi
callq 0x3190
leaq -0x549(%rbp), %rdi
callq 0x32a0
leaq -0x528(%rbp), %rdi
callq 0x3190
jmp 0x9e7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x600(%rbp), %rdi
callq 0x3190
jmp 0x9e7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x640(%rbp), %rdi
callq 0x6740
jmp 0x9e7e
jmp 0x9d70
jmp 0x9d72
leaq -0x660(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3120
jmp 0x9d87
leaq -0x681(%rbp), %rdi
movq %rdi, -0x7e8(%rbp)
callq 0x3430
movq -0x7e8(%rbp), %rdx
leaq 0xd552(%rip), %rsi      # 0x172fa
leaq -0x680(%rbp), %rdi
callq 0x6100
jmp 0x9db6
leaq -0x660(%rbp), %rdi
leaq -0x680(%rbp), %rsi
callq 0x10e10
movb %al, -0x7e9(%rbp)
jmp 0x9dd1
leaq -0x680(%rbp), %rdi
callq 0x3190
leaq -0x681(%rbp), %rdi
callq 0x32a0
leaq -0x660(%rbp), %rdi
callq 0x3190
movb -0x7e9(%rbp), %al
testb $0x1, %al
jne 0x9e01
jmp 0x9e75
movb $0x1, -0x1d(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x3190
leaq -0x78(%rbp), %rdi
callq 0x6740
leaq -0x38(%rbp), %rdi
callq 0x6270
testb $0x1, -0x1d(%rbp)
jne 0x9eb6
jmp 0x9eaa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x9e5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x680(%rbp), %rdi
callq 0x3190
leaq -0x681(%rbp), %rdi
callq 0x32a0
leaq -0x660(%rbp), %rdi
callq 0x3190
jmp 0x9e7e
jmp 0x8996
jmp 0x9e7c
ud2
leaq -0xa8(%rbp), %rdi
callq 0x3190
leaq -0x78(%rbp), %rdi
callq 0x6740
leaq -0x38(%rbp), %rdi
callq 0x6270
movq -0x6a0(%rbp), %rdi
callq 0x65b0
jmp 0x9ec6
movq -0x6a0(%rbp), %rdi
callq 0x65b0
movq -0x698(%rbp), %rax
addq $0x7f0, %rsp            # imm = 0x7F0
popq %rbp
retq
movq -0x80(%rbp), %rdi
callq 0x3420
nop