// File: mehrangoli[P]Static-Data-Extractor/SCmain.cpp
// Function: ScMain::find_module(std::basic_ifstream<char, std::char_traits<char>>&, unsigned int)
void ScMain::find_module (ifstream &debugSymbol, unsigned int lineNum){
	GotoLine(debugSymbol, lineNum);
	string line, module_name;
	vector<string> split_line;
	
	if (debugSymbol.is_open()){
		while (getline(debugSymbol, line)) {
			lineNum++;
			if((string_finder(line, STRUCT)) && (string_finder(line, SCMODULE)) &&  (!string_finder(line, "::_")) && (!string_finder(line, BLOCK)) &&  (!string_finder(line, CONSTRUCT)) &&  (!string_finder(line, "*"))){
					
				split_line = split(line,' ');
				remove_element_vector(split_line, "");
					
				if (string_finder(line, ">")) //--- for template type
					module_name = split_line[1]+" "+split_line[2];
				else
					module_name = split_line[1];
					
				if ((!string_finder(module_name, CLASS)) && (!string_finder(module_name, CONST)) && (!string_finder(module_name, SCCORE))){ //---ignoring pre-defined systemc module and function
					find_module_elements(debugSymbol,lineNum, module_name);
					GotoLine(debugSymbol, lineNum); //------------------return back to the line number where module defined

				}
			}
		}
	}
	else 
		cout << "\033[1;31mUnable to open Debug Symbol file\033[0m\n";	
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x500, %rsp            # imm = 0x500
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x438(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x10e50
leaq -0x38(%rbp), %rdi
callq 0x3340
leaq -0x58(%rbp), %rdi
callq 0x3340
leaq -0x70(%rbp), %rdi
callq 0xdfc0
movq -0x10(%rbp), %rdi
callq 0x33c0
movb %al, -0x429(%rbp)
jmp 0xbec9
movb -0x429(%rbp), %al
testb $0x1, %al
jne 0xbed8
jmp 0xcd06
jmp 0xbeda
movq -0x10(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3070
movq %rax, -0x440(%rbp)
jmp 0xbef0
movq -0x440(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x32f0
movb %al, -0x441(%rbp)
jmp 0xbf0e
movb -0x441(%rbp), %al
testb $0x1, %al
jne 0xbf1d
jmp 0xcd04
movl -0x14(%rbp), %eax
incl %eax
movl %eax, -0x14(%rbp)
movb $0x0, -0xe9(%rbp)
movb $0x0, -0x112(%rbp)
movb $0x0, -0x113(%rbp)
movb $0x0, -0x139(%rbp)
movb $0x0, -0x162(%rbp)
movb $0x0, -0x163(%rbp)
movb $0x0, -0x189(%rbp)
movb $0x0, -0x1b2(%rbp)
movb $0x0, -0x1b3(%rbp)
movb $0x0, -0x1d9(%rbp)
movb $0x0, -0x202(%rbp)
movb $0x0, -0x203(%rbp)
movb $0x0, -0x229(%rbp)
movb $0x0, -0x252(%rbp)
movb $0x0, -0x253(%rbp)
leaq -0xa0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3120
jmp 0xbfa0
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x450(%rbp)
callq 0x3430
movq -0x450(%rbp), %rdx
leaq 0xb4aa(%rip), %rsi      # 0x1746b
leaq -0xc0(%rbp), %rdi
callq 0x6100
jmp 0xbfcf
leaq -0xa0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x10e10
movb %al, -0x451(%rbp)
jmp 0xbfea
movb -0x451(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x452(%rbp)
jne 0xc002
jmp 0xc2a8
leaq -0xe8(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3120
jmp 0xc014
movb $0x1, -0xe9(%rbp)
leaq -0x111(%rbp), %rdi
movq %rdi, -0x460(%rbp)
callq 0x3430
movq -0x460(%rbp), %rdx
movb $0x1, -0x112(%rbp)
leaq 0xb277(%rip), %rsi      # 0x172ba
leaq -0x110(%rbp), %rdi
callq 0x6100
jmp 0xc051
movb $0x1, -0x113(%rbp)
leaq -0xe8(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x10e10
movb %al, -0x461(%rbp)
jmp 0xc073
movb -0x461(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x452(%rbp)
jne 0xc08b
jmp 0xc2a8
leaq -0x138(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3120
jmp 0xc09d
movb $0x1, -0x139(%rbp)
leaq -0x161(%rbp), %rdi
movq %rdi, -0x470(%rbp)
callq 0x3430
movq -0x470(%rbp), %rdx
movb $0x1, -0x162(%rbp)
leaq 0xb398(%rip), %rsi      # 0x17464
leaq -0x160(%rbp), %rdi
callq 0x6100
jmp 0xc0da
movb $0x1, -0x163(%rbp)
leaq -0x138(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x10e10
movb %al, -0x471(%rbp)
jmp 0xc0fc
movb -0x471(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x452(%rbp)
jne 0xc2a8
jmp 0xc115
leaq -0x188(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3120
jmp 0xc127
movb $0x1, -0x189(%rbp)
leaq -0x1b1(%rbp), %rdi
movq %rdi, -0x480(%rbp)
callq 0x3430
movq -0x480(%rbp), %rdx
movb $0x1, -0x1b2(%rbp)
leaq 0xb1a4(%rip), %rsi      # 0x172fa
leaq -0x1b0(%rbp), %rdi
callq 0x6100
jmp 0xc164
movb $0x1, -0x1b3(%rbp)
leaq -0x188(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x10e10
movb %al, -0x481(%rbp)
jmp 0xc186
movb -0x481(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x452(%rbp)
jne 0xc2a8
jmp 0xc19f
leaq -0x1d8(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3120
jmp 0xc1b1
movb $0x1, -0x1d9(%rbp)
leaq -0x201(%rbp), %rdi
movq %rdi, -0x490(%rbp)
callq 0x3430
movq -0x490(%rbp), %rdx
movb $0x1, -0x202(%rbp)
leaq 0xb288(%rip), %rsi      # 0x17468
leaq -0x200(%rbp), %rdi
callq 0x6100
jmp 0xc1ee
movb $0x1, -0x203(%rbp)
leaq -0x1d8(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x10e10
movb %al, -0x491(%rbp)
jmp 0xc210
movb -0x491(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x452(%rbp)
jne 0xc2a8
jmp 0xc229
leaq -0x228(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3120
jmp 0xc23b
movb $0x1, -0x229(%rbp)
leaq -0x251(%rbp), %rdi
movq %rdi, -0x4a0(%rbp)
callq 0x3430
movq -0x4a0(%rbp), %rdx
movb $0x1, -0x252(%rbp)
leaq 0xb098(%rip), %rsi      # 0x17302
leaq -0x250(%rbp), %rdi
callq 0x6100
jmp 0xc278
movb $0x1, -0x253(%rbp)
leaq -0x228(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x10e10
movb %al, -0x4a1(%rbp)
jmp 0xc29a
movb -0x4a1(%rbp), %al
xorb $-0x1, %al
movb %al, -0x452(%rbp)
movb -0x452(%rbp), %al
movb %al, -0x4a2(%rbp)
testb $0x1, -0x253(%rbp)
jne 0xc2bf
jmp 0xc2cb
leaq -0x250(%rbp), %rdi
callq 0x3190
testb $0x1, -0x252(%rbp)
jne 0xc2d6
jmp 0xc2e2
leaq -0x251(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x229(%rbp)
jne 0xc2ed
jmp 0xc2f9
leaq -0x228(%rbp), %rdi
callq 0x3190
testb $0x1, -0x203(%rbp)
jne 0xc304
jmp 0xc310
leaq -0x200(%rbp), %rdi
callq 0x3190
testb $0x1, -0x202(%rbp)
jne 0xc31b
jmp 0xc327
leaq -0x201(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x1d9(%rbp)
jne 0xc332
jmp 0xc33e
leaq -0x1d8(%rbp), %rdi
callq 0x3190
testb $0x1, -0x1b3(%rbp)
jne 0xc349
jmp 0xc355
leaq -0x1b0(%rbp), %rdi
callq 0x3190
testb $0x1, -0x1b2(%rbp)
jne 0xc360
jmp 0xc36c
leaq -0x1b1(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x189(%rbp)
jne 0xc377
jmp 0xc383
leaq -0x188(%rbp), %rdi
callq 0x3190
testb $0x1, -0x163(%rbp)
jne 0xc38e
jmp 0xc39a
leaq -0x160(%rbp), %rdi
callq 0x3190
testb $0x1, -0x162(%rbp)
jne 0xc3a5
jmp 0xc3b1
leaq -0x161(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x139(%rbp)
jne 0xc3bc
jmp 0xc3c8
leaq -0x138(%rbp), %rdi
callq 0x3190
testb $0x1, -0x113(%rbp)
jne 0xc3d3
jmp 0xc3df
leaq -0x110(%rbp), %rdi
callq 0x3190
testb $0x1, -0x112(%rbp)
jne 0xc3ea
jmp 0xc3f6
leaq -0x111(%rbp), %rdi
callq 0x32a0
testb $0x1, -0xe9(%rbp)
jne 0xc401
jmp 0xc40d
leaq -0xe8(%rbp), %rdi
callq 0x3190
leaq -0xc0(%rbp), %rdi
callq 0x3190
leaq -0xc1(%rbp), %rdi
callq 0x32a0
leaq -0xa0(%rbp), %rdi
callq 0x3190
movb -0x4a2(%rbp), %al
testb $0x1, %al
jne 0xc440
jmp 0xccff
leaq -0x270(%rbp), %rdi
leaq -0x38(%rbp), %rsi
movl $0x20, %edx
callq 0x10ec0
jmp 0xc457
leaq -0x70(%rbp), %rdi
leaq -0x270(%rbp), %rsi
movq %rsi, -0x4b8(%rbp)
callq 0xe150
movq -0x4b8(%rbp), %rdi
callq 0x6270
leaq -0x291(%rbp), %rdi
movq %rdi, -0x4b0(%rbp)
callq 0x3430
movq -0x4b0(%rbp), %rdx
leaq 0xb057(%rip), %rsi      # 0x174f2
leaq -0x290(%rbp), %rdi
callq 0x6100
jmp 0xc4a9
leaq -0x70(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x11350
jmp 0xc4bb
leaq -0x290(%rbp), %rdi
callq 0x3190
leaq -0x291(%rbp), %rdi
callq 0x32a0
leaq -0x2b8(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3120
jmp 0xc4e5
leaq -0x2d9(%rbp), %rdi
movq %rdi, -0x4c0(%rbp)
callq 0x3430
movq -0x4c0(%rbp), %rdx
leaq 0xb045(%rip), %rsi      # 0x1754b
leaq -0x2d8(%rbp), %rdi
callq 0x6100
jmp 0xc514
leaq -0x2b8(%rbp), %rdi
leaq -0x2d8(%rbp), %rsi
callq 0x10e10
movb %al, -0x4c1(%rbp)
jmp 0xc52f
leaq -0x2d8(%rbp), %rdi
callq 0x3190
leaq -0x2d9(%rbp), %rdi
callq 0x32a0
leaq -0x2b8(%rbp), %rdi
callq 0x3190
movb -0x4c1(%rbp), %al
testb $0x1, %al
jne 0xc562
jmp 0xc8da
leaq -0x70(%rbp), %rdi
movl $0x1, %esi
callq 0xe270
movq %rax, %rsi
leaq 0xaf37(%rip), %rdx      # 0x174b1
leaq -0x320(%rbp), %rdi
callq 0xe550
jmp 0xc588
leaq -0x70(%rbp), %rdi
movl $0x2, %esi
callq 0xe270
movq %rax, %rdx
leaq -0x300(%rbp), %rdi
leaq -0x320(%rbp), %rsi
callq 0xe180
jmp 0xc5ae
leaq -0x58(%rbp), %rdi
leaq -0x300(%rbp), %rsi
callq 0x32d0
leaq -0x300(%rbp), %rdi
callq 0x3190
leaq -0x320(%rbp), %rdi
callq 0x3190
jmp 0xc8f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xcd41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc826
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc81a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc7ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc7d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc7a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc788
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc758
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc73f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc70f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc6f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc6c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
testb $0x1, -0x253(%rbp)
jne 0xc6b8
jmp 0xc6c4
leaq -0x250(%rbp), %rdi
callq 0x3190
jmp 0xc6c6
testb $0x1, -0x252(%rbp)
jne 0xc6d1
jmp 0xc6dd
leaq -0x251(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x229(%rbp)
jne 0xc6e8
jmp 0xc6f4
leaq -0x228(%rbp), %rdi
callq 0x3190
jmp 0xc6f6
testb $0x1, -0x203(%rbp)
jne 0xc701
jmp 0xc70d
leaq -0x200(%rbp), %rdi
callq 0x3190
jmp 0xc70f
testb $0x1, -0x202(%rbp)
jne 0xc71a
jmp 0xc726
leaq -0x201(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x1d9(%rbp)
jne 0xc731
jmp 0xc73d
leaq -0x1d8(%rbp), %rdi
callq 0x3190
jmp 0xc73f
testb $0x1, -0x1b3(%rbp)
jne 0xc74a
jmp 0xc756
leaq -0x1b0(%rbp), %rdi
callq 0x3190
jmp 0xc758
testb $0x1, -0x1b2(%rbp)
jne 0xc763
jmp 0xc76f
leaq -0x1b1(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x189(%rbp)
jne 0xc77a
jmp 0xc786
leaq -0x188(%rbp), %rdi
callq 0x3190
jmp 0xc788
testb $0x1, -0x163(%rbp)
jne 0xc793
jmp 0xc79f
leaq -0x160(%rbp), %rdi
callq 0x3190
jmp 0xc7a1
testb $0x1, -0x162(%rbp)
jne 0xc7ac
jmp 0xc7b8
leaq -0x161(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x139(%rbp)
jne 0xc7c3
jmp 0xc7cf
leaq -0x138(%rbp), %rdi
callq 0x3190
jmp 0xc7d1
testb $0x1, -0x113(%rbp)
jne 0xc7dc
jmp 0xc7e8
leaq -0x110(%rbp), %rdi
callq 0x3190
jmp 0xc7ea
testb $0x1, -0x112(%rbp)
jne 0xc7f5
jmp 0xc801
leaq -0x111(%rbp), %rdi
callq 0x32a0
testb $0x1, -0xe9(%rbp)
jne 0xc80c
jmp 0xc818
leaq -0xe8(%rbp), %rdi
callq 0x3190
jmp 0xc81a
leaq -0xc0(%rbp), %rdi
callq 0x3190
leaq -0xc1(%rbp), %rdi
callq 0x32a0
leaq -0xa0(%rbp), %rdi
callq 0x3190
jmp 0xcd41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc869
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x290(%rbp), %rdi
callq 0x3190
leaq -0x291(%rbp), %rdi
callq 0x32a0
jmp 0xcd41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xc8a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x2d8(%rbp), %rdi
callq 0x3190
leaq -0x2d9(%rbp), %rdi
callq 0x32a0
leaq -0x2b8(%rbp), %rdi
callq 0x3190
jmp 0xcd41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x320(%rbp), %rdi
callq 0x3190
jmp 0xcd41
leaq -0x70(%rbp), %rdi
movl $0x1, %esi
callq 0xe270
movq %rax, %rsi
leaq -0x58(%rbp), %rdi
callq 0x3030
jmp 0xc8f6
jmp 0xc8f8
movb $0x0, -0x389(%rbp)
movb $0x0, -0x3b2(%rbp)
movb $0x0, -0x3b3(%rbp)
movb $0x0, -0x3d9(%rbp)
movb $0x0, -0x402(%rbp)
movb $0x0, -0x403(%rbp)
leaq -0x340(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x3120
jmp 0xc934
leaq -0x361(%rbp), %rdi
movq %rdi, -0x4d0(%rbp)
callq 0x3430
movq -0x4d0(%rbp), %rdx
leaq 0xa96f(%rip), %rsi      # 0x172c4
leaq -0x360(%rbp), %rdi
callq 0x6100
jmp 0xc963
leaq -0x340(%rbp), %rdi
leaq -0x360(%rbp), %rsi
callq 0x10e10
movb %al, -0x4d1(%rbp)
jmp 0xc97e
movb -0x4d1(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x4d2(%rbp)
jne 0xcaa0
jmp 0xc997
leaq -0x388(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x3120
jmp 0xc9a9
movb $0x1, -0x389(%rbp)
leaq -0x3b1(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0x3430
movq -0x4e0(%rbp), %rdx
movb $0x1, -0x3b2(%rbp)
leaq 0xaa9a(%rip), %rsi      # 0x17472
leaq -0x3b0(%rbp), %rdi
callq 0x6100
jmp 0xc9e6
movb $0x1, -0x3b3(%rbp)
leaq -0x388(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
callq 0x10e10
movb %al, -0x4e1(%rbp)
jmp 0xca08
movb -0x4e1(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x4d2(%rbp)
jne 0xcaa0
jmp 0xca21
leaq -0x3d8(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x3120
jmp 0xca33
movb $0x1, -0x3d9(%rbp)
leaq -0x401(%rbp), %rdi
movq %rdi, -0x4f0(%rbp)
callq 0x3430
movq -0x4f0(%rbp), %rdx
movb $0x1, -0x402(%rbp)
leaq 0xa868(%rip), %rsi      # 0x172ca
leaq -0x400(%rbp), %rdi
callq 0x6100
jmp 0xca70
movb $0x1, -0x403(%rbp)
leaq -0x3d8(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0x10e10
movb %al, -0x4f1(%rbp)
jmp 0xca92
movb -0x4f1(%rbp), %al
xorb $-0x1, %al
movb %al, -0x4d2(%rbp)
movb -0x4d2(%rbp), %al
movb %al, -0x4f2(%rbp)
testb $0x1, -0x403(%rbp)
jne 0xcab7
jmp 0xcac3
leaq -0x400(%rbp), %rdi
callq 0x3190
testb $0x1, -0x402(%rbp)
jne 0xcace
jmp 0xcada
leaq -0x401(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x3d9(%rbp)
jne 0xcae5
jmp 0xcaf1
leaq -0x3d8(%rbp), %rdi
callq 0x3190
testb $0x1, -0x3b3(%rbp)
jne 0xcafc
jmp 0xcb08
leaq -0x3b0(%rbp), %rdi
callq 0x3190
testb $0x1, -0x3b2(%rbp)
jne 0xcb13
jmp 0xcb1f
leaq -0x3b1(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x389(%rbp)
jne 0xcb2a
jmp 0xcb36
leaq -0x388(%rbp), %rdi
callq 0x3190
leaq -0x360(%rbp), %rdi
callq 0x3190
leaq -0x361(%rbp), %rdi
callq 0x32a0
leaq -0x340(%rbp), %rdi
callq 0x3190
movb -0x4f2(%rbp), %al
testb $0x1, %al
jne 0xcb69
jmp 0xccfd
movq -0x10(%rbp), %rax
movq %rax, -0x500(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x4f8(%rbp)
leaq -0x428(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x3120
jmp 0xcb8f
movl -0x4f8(%rbp), %edx
movq -0x500(%rbp), %rsi
movq -0x438(%rbp), %rdi
leaq -0x428(%rbp), %rcx
callq 0xcd70
jmp 0xcbb1
leaq -0x428(%rbp), %rdi
callq 0x3190
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x10e50
jmp 0xcbcb
jmp 0xccfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xccc9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xccbd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xcc8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xcc74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0xcc44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
testb $0x1, -0x403(%rbp)
jne 0xcc36
jmp 0xcc42
leaq -0x400(%rbp), %rdi
callq 0x3190
jmp 0xcc44
testb $0x1, -0x402(%rbp)
jne 0xcc4f
jmp 0xcc5b
leaq -0x401(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x3d9(%rbp)
jne 0xcc66
jmp 0xcc72
leaq -0x3d8(%rbp), %rdi
callq 0x3190
jmp 0xcc74
testb $0x1, -0x3b3(%rbp)
jne 0xcc7f
jmp 0xcc8b
leaq -0x3b0(%rbp), %rdi
callq 0x3190
jmp 0xcc8d
testb $0x1, -0x3b2(%rbp)
jne 0xcc98
jmp 0xcca4
leaq -0x3b1(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x389(%rbp)
jne 0xccaf
jmp 0xccbb
leaq -0x388(%rbp), %rdi
callq 0x3190
jmp 0xccbd
leaq -0x360(%rbp), %rdi
callq 0x3190
leaq -0x361(%rbp), %rdi
callq 0x32a0
leaq -0x340(%rbp), %rdi
callq 0x3190
jmp 0xcd41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x428(%rbp), %rdi
callq 0x3190
jmp 0xcd41
jmp 0xccff
jmp 0xbeda
jmp 0xcd1d
movq 0x122c3(%rip), %rdi     # 0x1efd0
leaq 0xa577(%rip), %rsi      # 0x1728b
callq 0x3240
jmp 0xcd1b
jmp 0xcd1d
leaq -0x70(%rbp), %rdi
callq 0x6270
leaq -0x58(%rbp), %rdi
callq 0x3190
leaq -0x38(%rbp), %rdi
callq 0x3190
addq $0x500, %rsp            # imm = 0x500
popq %rbp
retq
leaq -0x70(%rbp), %rdi
callq 0x6270
leaq -0x58(%rbp), %rdi
callq 0x3190
leaq -0x38(%rbp), %rdi
callq 0x3190
movq -0x78(%rbp), %rdi
callq 0x3420
nopw %cs:(%rax,%rax)