// File: /workspace/github_cpp_makefile_star2_O3/mehrangoli[P]Static-Data-Extractor/SCmain.cpp
// Function: ScMain::find_scmain_elements(std::basic_ifstream<char, std::char_traits<char>>&, unsigned int)
bool ScMain::find_scmain_elements (ifstream &debugSymbol, unsigned int lineNum){
	string line, string_type, string_name;
	NT name_type;
	bool permission_flag = 0;
	vector<string> split_line;
	GotoLine(debugSymbol, lineNum);
	
	if (debugSymbol.is_open()){
		while (getline(debugSymbol, line)) {
			if(!(string_finder(line, BLOCK))){
				if (string_finder(line, CLASS)){
					string_type = line;
					split_line = split(string_type,' '); 
					string_type = split_line[6];
					if((string_finder(string_type, SCCORE)) && (string_finder(string_type, "<"))){
						string_type = replace_first_occurrence(string_type,",",">");
					}
					else if (string_finder(string_type, SCCORE)){
						string_type = split_line[6];
						
					}
					permission_flag = 1;
				}
				else if ((string_finder(line, CAT)) && (permission_flag)){
					string_name = line;
					split_line = split(string_name,' '); 
					string_name = replace_first_occurrence(split_line[6],";","");
					filter_element(string_name, {"*","&"});	
					
					name_type.first = string_name;
					name_type.second = string_type;
					permission_flag=0;
					set_static_data_var ("sc_main", name_type);
				}
			}
			else{
				return 1;
			}
		}		
	}
	else 
		cout << "\033[1;31mUnable to open Debug Symbol file\033[0m\n"; 
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x348, %rsp            # imm = 0x348
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x90(%rsp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x70(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0xf8(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x2c0(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x2e0(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
movq %rax, 0x30(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq %rsi, %rdi
movl %edx, %esi
callq 0xa61f
leaq 0x78(%rbx), %rdi
callq 0x2070
testb %al, %al
je 0x7632
movq %r14, 0x288(%rsp)
xorl %r12d, %r12d
leaq 0x268(%rsp), %r14
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %edx
movq %rbx, %rdi
leaq 0x80(%rsp), %rsi
callq 0x2330
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
sete %r13b
jne 0x764d
leaq 0x1b8(%rsp), %rax
movq %rax, 0x1a8(%rsp)
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1a8(%rsp), %rdi
callq 0x3a4c
leaq 0x278(%rsp), %rax
movq %rax, 0x268(%rsp)
movq %r14, %rdi
leaq 0x756e(%rip), %rsi      # 0xe2ea
leaq 0x756e(%rip), %rdx      # 0xe2f1
callq 0xa0b2
leaq 0x1a8(%rsp), %rdi
movq %r14, %rsi
callq 0xa604
movl %eax, %r15d
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0x6dc0
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x1a8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
cmpq %rax, %rdi
je 0x6de5
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x21d0
testb %r15b, %r15b
jne 0x764d
leaq 0x198(%rsp), %rax
movq %rax, 0x188(%rsp)
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rdx
addq %rsi, %rdx
leaq 0x188(%rsp), %rdi
callq 0x3a4c
leaq 0x258(%rsp), %rax
movq %rax, 0x248(%rsp)
leaq 0x248(%rsp), %r15
movq %r15, %rdi
leaq 0x7474(%rip), %rsi      # 0xe2b4
leaq 0x7472(%rip), %rdx      # 0xe2b9
callq 0xa0b2
leaq 0x188(%rsp), %rdi
movq %r15, %rsi
callq 0xa604
movl %eax, %r13d
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0x6e84
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x188(%rsp), %rdi
leaq 0x198(%rsp), %rax
cmpq %rax, %rdi
je 0x6ea9
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x21d0
testb %r13b, %r13b
jne 0x7278
leaq 0x118(%rsp), %rax
movq %rax, 0x108(%rsp)
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rdx
addq %rsi, %rdx
leaq 0x108(%rsp), %rdi
callq 0x3a4c
leaq 0x1f8(%rsp), %rax
movq %rax, 0x1e8(%rsp)
leaq 0x1e8(%rsp), %r15
movq %r15, %rdi
leaq 0x73c4(%rip), %rsi      # 0xe2c8
leaq 0x73d0(%rip), %rdx      # 0xe2db
callq 0xa0b2
leaq 0x108(%rsp), %rdi
movq %r15, %rsi
callq 0xa604
movl %eax, %r15d
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x6f48
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x6f6d
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x21d0
andb %r12b, %r15b
je 0x6cf5
leaq 0xe8(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x2110
movq %rsp, %r12
movq %r12, %rdi
leaq 0xe8(%rsp), %rsi
movl $0x20, %edx
callq 0xa66e
movq 0x30(%rsp), %rax
movaps (%rsp), %xmm0
movq 0x10(%rsp), %rcx
movq %rcx, 0x30(%rsp)
movaps 0x20(%rsp), %xmm1
movaps %xmm0, 0x20(%rsp)
movaps %xmm1, 0xa0(%rsp)
movq %rax, 0xb0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
leaq 0xa0(%rsp), %rdi
callq 0x36c0
movq %r12, %rdi
callq 0x36c0
movq 0x20(%rsp), %r15
movl $0xc0, %eax
addq %rax, %r15
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %r12, %rdi
leaq 0x7454(%rip), %rsi      # 0xe469
leaq 0x744e(%rip), %rdx      # 0xe46a
callq 0xa0b2
leaq 0x50(%rsp), %r12
movq %r12, 0x40(%rsp)
leaq 0x40(%rsp), %rbp
movq %rbp, %rdi
leaq 0x74a8(%rip), %rdx      # 0xe4e2
movq %rdx, %rsi
callq 0xa0b2
leaq 0xa0(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
movq %rsp, %rdx
movq %rbp, %rcx
callq 0xa77c
leaq 0xe8(%rsp), %rdi
movq %r12, %rsi
callq 0x2220
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x7090
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x70ac
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x21d0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
movq %rsp, %r15
leaq 0xa0(%rsp), %r12
je 0x70d2
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21d0
leaq 0xb0(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq %r12, %rdi
leaq 0x7206(%rip), %rsi      # 0xe2f2
leaq 0x7200(%rip), %rdx      # 0xe2f3
callq 0xa0b2
leaq 0xd0(%rsp), %rax
movq %rax, 0xc0(%rsp)
leaq 0xc0(%rsp), %rdi
leaq 0x71dd(%rip), %rsi      # 0xe2f4
leaq 0x71d7(%rip), %rdx      # 0xe2f5
callq 0xa0b2
movl $0x2, %edx
leaq 0x330(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rsi
movq %r15, %rcx
callq 0x3678
leaq 0xe8(%rsp), %rdi
movq %rbp, %rsi
callq 0xab99
movq %rbp, %rdi
callq 0x36c0
movq $-0x40, %r15
leaq 0xd0(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x717b
movq (%r12), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r12
addq $0x20, %r15
jne 0x7165
leaq 0x2b0(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x2110
leaq 0x2d0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x2110
leaq 0x1d8(%rsp), %rax
movq %rax, 0x1c8(%rsp)
leaq 0x1c8(%rsp), %r15
movq %r15, %rdi
leaq 0x7131(%rip), %rsi      # 0xe2ff
leaq 0x7131(%rip), %rdx      # 0xe306
callq 0xa0b2
leaq 0x2f0(%rsp), %r12
movq %r12, %rdi
leaq 0x2b0(%rsp), %rsi
callq 0x9da8
movq 0x288(%rsp), %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x69cc
movq 0x310(%rsp), %rdi
leaq 0x320(%rsp), %rax
cmpq %rax, %rdi
je 0x722a
movq 0x320(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x2f0(%rsp), %rdi
leaq 0x300(%rsp), %rax
cmpq %rax, %rdi
je 0x724f
movq 0x300(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x1c8(%rsp), %rdi
movl %r13d, %r12d
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x6cf5
movq 0x1d8(%rsp), %rsi
jmp 0x754b
leaq 0x60(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x2110
movq %rsp, %r12
movq %r12, %rdi
leaq 0x60(%rsp), %r15
movq %r15, %rsi
movl $0x20, %edx
callq 0xa66e
movq 0x30(%rsp), %rax
movaps (%rsp), %xmm0
movq 0x10(%rsp), %rcx
movq %rcx, 0x30(%rsp)
movaps 0x20(%rsp), %xmm1
movaps %xmm0, 0x20(%rsp)
movaps %xmm1, 0xa0(%rsp)
movq %rax, 0xb0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
leaq 0xa0(%rsp), %rdi
callq 0x36c0
movq %r12, %rdi
callq 0x36c0
movq 0x20(%rsp), %rsi
movl $0xc0, %eax
addq %rax, %rsi
movq %r15, %rdi
callq 0x2110
leaq 0x178(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
addq %rsi, %rdx
leaq 0x168(%rsp), %rdi
callq 0x3a4c
leaq 0x238(%rsp), %rax
movq %rax, 0x228(%rsp)
leaq 0x228(%rsp), %r15
movq %r15, %rdi
leaq 0x6f65(%rip), %rsi      # 0xe2ba
leaq 0x6f67(%rip), %rdx      # 0xe2c3
callq 0xa0b2
leaq 0x168(%rsp), %rdi
movq %r15, %rsi
callq 0xa604
movq %rsp, %r15
leaq 0x208(%rsp), %r12
testb %al, %al
je 0x7432
leaq 0x158(%rsp), %rax
movq %rax, 0x148(%rsp)
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
addq %rsi, %rdx
leaq 0x148(%rsp), %rdi
callq 0x3a4c
leaq 0x218(%rsp), %rax
movq %rax, 0x208(%rsp)
movq %r12, %rdi
leaq 0x6efc(%rip), %rsi      # 0xe2c4
leaq 0x6ef6(%rip), %rdx      # 0xe2c5
callq 0xa0b2
leaq 0x148(%rsp), %rdi
movq %r12, %rsi
callq 0xa604
movl %eax, %ebp
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0x740b
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x7434
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x7434
xorl %ebp, %ebp
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
cmpq %rax, %rdi
je 0x7459
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x747e
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x21d0
testb %bpl, %bpl
je 0x755b
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %r15, %rdi
leaq 0x6e2c(%rip), %rsi      # 0xe2c6
leaq 0x6e26(%rip), %rdx      # 0xe2c7
callq 0xa0b2
leaq 0x50(%rsp), %r15
leaq 0x60(%rsp), %r12
movq %r12, %rbp
movq %r15, 0x40(%rsp)
leaq 0x40(%rsp), %r12
movq %r12, %rdi
leaq 0x7074(%rip), %rsi      # 0xe53b
leaq 0x706e(%rip), %rdx      # 0xe53c
callq 0xa0b2
leaq 0xa0(%rsp), %r15
movq %r15, %rdi
movq %rbp, %rsi
movq %rsp, %rdx
movq %r12, %rcx
callq 0xa77c
movq %rbp, %rdi
movq %r15, %rsi
callq 0x2220
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x751c
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x7538
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x21d0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x7553
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21d0
movl %r13d, %r12d
jmp 0x6cf5
leaq 0x138(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
addq %rsi, %rdx
leaq 0x128(%rsp), %rdi
callq 0x3a4c
leaq 0x2a0(%rsp), %r15
movq %r15, 0x290(%rsp)
leaq 0x290(%rsp), %r12
movq %r12, %rdi
leaq 0x6d13(%rip), %rsi      # 0xe2ba
leaq 0x6d15(%rip), %rdx      # 0xe2c3
callq 0xa0b2
leaq 0x128(%rsp), %rdi
movq %r12, %rsi
callq 0xa604
movl %eax, %ebp
movq 0x290(%rsp), %rdi
cmpq %r15, %rdi
je 0x75e2
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x7607
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x21d0
movl %r13d, %r12d
testb %bpl, %bpl
je 0x6cf5
movq 0x20(%rsp), %rsi
movl $0xc0, %eax
addq %rax, %rsi
leaq 0x60(%rsp), %rdi
callq 0x2110
movl %r13d, %r12d
jmp 0x6cf5
movq 0xb997(%rip), %rdi      # 0x12fd0
leaq 0x6c3b(%rip), %rsi      # 0xe27b
movl $0x2c, %edx
callq 0x2210
xorl %r13d, %r13d
leaq 0x20(%rsp), %rdi
callq 0x36c0
movq 0x2d0(%rsp), %rdi
leaq 0x2e0(%rsp), %rax
cmpq %rax, %rdi
je 0x767c
movq 0x2e0(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x2b0(%rsp), %rdi
leaq 0x2c0(%rsp), %rax
cmpq %rax, %rdi
leaq 0x70(%rsp), %r14
je 0x76a6
movq 0x2c0(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
leaq 0x90(%rsp), %rbx
je 0x76d3
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x60(%rsp), %rdi
cmpq %r14, %rdi
je 0x76ea
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x80(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7707
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x21d0
movl %r13d, %eax
addq $0x348, %rsp            # imm = 0x348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x788a
jmp 0x78ab
jmp 0x7a29
movq %rax, %rbx
movq 0x290(%rsp), %rdi
cmpq %r15, %rdi
je 0x7750
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x7750
movq %rax, %rbx
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x7a2c
movq 0x138(%rsp), %rsi
jmp 0x7a1f
movq %rax, %rbx
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0x77a3
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x77a3
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x78e1
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x78e1
movq %rax, %rbx
leaq 0x2f0(%rsp), %rdi
callq 0x9e0a
jmp 0x77e6
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x7a2c
movq 0x1d8(%rsp), %rsi
jmp 0x7a1f
jmp 0x7a29
movq %rax, %rbx
leaq 0x330(%rsp), %rdi
callq 0x36c0
jmp 0x7826
movq %rax, %rbx
leaq 0xd0(%rsp), %r14
xorl %r15d, %r15d
movq 0xc0(%rsp,%r15), %rdi
leaq (%r14,%r15), %rax
cmpq %rdi, %rax
je 0x784d
movq (%rax), %rsi
incq %rsi
callq 0x21d0
addq $-0x20, %r15
cmpq $-0x40, %r15
jne 0x7831
jmp 0x7a2c
movq %rax, %rbx
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x7a2c
movq 0xb0(%rsp), %rsi
jmp 0x7a1f
jmp 0x7a29
movq %rax, %rbx
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x78ae
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x78ae
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x7a2c
movq 0x10(%rsp), %rsi
jmp 0x7a1f
jmp 0x7a29
jmp 0x7a29
movq %rax, %rbx
jmp 0x7906
jmp 0x7a29
movq %rax, %rbx
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
cmpq %rax, %rdi
je 0x7906
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x7a2c
movq 0x178(%rsp), %rsi
jmp 0x7a1f
jmp 0x7a29
jmp 0x7a29
movq %rax, %rbx
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x7963
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x7963
movq %rax, %rbx
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x7a2c
movq 0x118(%rsp), %rsi
jmp 0x7a1f
movq %rax, %rbx
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0x79b6
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x79b6
movq %rax, %rbx
movq 0x188(%rsp), %rdi
leaq 0x198(%rsp), %rax
cmpq %rax, %rdi
je 0x7a2c
movq 0x198(%rsp), %rsi
jmp 0x7a1f
movq %rax, %rbx
jmp 0x7a02
movq %rax, %rbx
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0x7a02
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x1a8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
cmpq %rax, %rdi
je 0x7a2c
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x7a2c
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x36c0
leaq 0x2b0(%rsp), %rdi
callq 0x9e0a
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x7a68
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x7a84
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x7aa9
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x21d0
movq %rbx, %rdi
callq 0x2300
nop