// File: /workspace/github_cpp_makefile_star2_O3/girdhari9[P]TEXPLORER/list_print.cpp
// Function: list_print(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int)
void list_print(string path,int cur_pos, int update_value){
	screen_limit = cmd_mod_screen_start-1;
	new_path = path;
	if(cur_pos < 2){
		screen_point(0,0,1);
		itemCounter = 0;
	    print_dir(); //To print directory attributes
	    //To print current path location
	    
	    if(update_value == 2)
	    	screen_point(itemCounter,0,0);
	    else screen_point(0,0,0);
	    return;
	}
	/* After pressing "Enter" this code will run to traverse in new directroy 
	and Display all files of that directory */
	screen_point(0,0,1);
	itemCounter = 0;
	int index = up + cur_pos-1, flag = 1; 
	while(1){
		if((int)namelist[index]->d_type == 4){
			string s = namelist[index]->d_name;
			if(s == ".." && new_path == home_path){
				flag = 0;
				new_path = path;
			}
			else if(s == ".."){
				size_t found = new_path.find_last_of("/\\");
				new_path = new_path.substr(0,found);
			}
			else if(s == "."){ 
				new_path = path;
				flag = 0;
			}
			else new_path = path + '/' + s;	
			break;
		}
		else{
			pid_t pid = fork();
			if(pid == 0){
				execl("/usr/bin/xdg-open","xdg-open",(new_path + "/" + namelist[index]->d_name).c_str(),NULL);
			}
		}
		break;
	}
	if(flag)
	forword_st.push(new_path);
	up = 0, x = 1;
	print_dir(); 	//To print directory attributes
	screen_point(0,0,0);
	return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x60, %rsp
movl %edx, %ebp
movl %esi, %r14d
movq %rdi, %rbx
leaq 0xe6b5(%rip), %rax      # 0x1169c
movl (%rax), %eax
decl %eax
movl %eax, 0xe797(%rip)      # 0x11788
leaq 0xe768(%rip), %rdi      # 0x11760
movq %rbx, %rsi
callq 0x2140
xorl %edi, %edi
xorl %esi, %esi
movl $0x1, %edx
callq 0x2c18
movl $0x0, 0xe740(%rip)      # 0x11758
cmpl $0x1, %r14d
jg 0x3037
callq 0x341b
cmpl $0x2, %ebp
jne 0x3174
movl 0xe726(%rip), %edi      # 0x11758
jmp 0x3176
movl 0xe743(%rip), %eax      # 0x11780
addl %r14d, %eax
decl %eax
movq 0xe667(%rip), %rcx      # 0x116b0
movslq %eax, %r15
movq (%rcx,%r15,8), %r12
cmpb $0x4, 0x12(%r12)
jne 0x318b
leaq 0x13(%r12), %r14
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
movq %r14, %rdi
callq 0x20f0
leaq (%r12,%rax), %rdx
addq $0x13, %rdx
movq %rsp, %rdi
movq %r14, %rsi
callq 0x2b82
leaq 0xa012(%rip), %rsi      # 0xd09e
movq %rsp, %rdi
callq 0x2080
testl %eax, %eax
jne 0x30cc
movq 0xe6c9(%rip), %rdx      # 0x11768
leaq 0xe5d2(%rip), %rax      # 0x11678
cmpq 0x8(%rax), %rdx
jne 0x30cc
testq %rdx, %rdx
je 0x3277
movq (%rax), %rsi
movq 0xe6a1(%rip), %rdi      # 0x11760
callq 0x2240
testl %eax, %eax
je 0x3277
leaq 0x9fcb(%rip), %rsi      # 0xd09e
movq %rsp, %rdi
callq 0x2080
testl %eax, %eax
je 0x3214
leaq 0x9fb5(%rip), %rsi      # 0xd09f
movq %rsp, %rdi
callq 0x2080
testl %eax, %eax
je 0x3277
leaq 0x50(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
addq %rsi, %rdx
leaq 0x40(%rsp), %rdi
callq 0x2aec
leaq 0x40(%rsp), %rdi
movq 0x8(%rdi), %rsi
movl $0x1, %ecx
xorl %edx, %edx
movl $0x2f, %r8d
callq 0x2440
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x40(%rsp), %rdi
callq 0x2090
leaq 0x30(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3304
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x330c
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x2c18
callq 0x2060
testl %eax, %eax
jne 0x3379
leaq 0x30(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xe5b8(%rip), %rsi      # 0x11760
movq 0xe5b9(%rip), %rdx      # 0x11768
addq %rsi, %rdx
leaq 0x20(%rsp), %rbx
movq %rbx, %rdi
callq 0x2aec
leaq 0x9f78(%rip), %rsi      # 0xd13e
movq %rbx, %rdi
callq 0x2450
movq 0xe4db(%rip), %rax      # 0x116b0
movq (%rax,%r15,8), %rsi
addq $0x13, %rsi
leaq 0x20(%rsp), %rdi
callq 0x2450
leaq 0x10(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x32a5
movq %rdx, (%rsp)
movq (%rcx), %rsi
movq %rsi, 0x10(%rsp)
jmp 0x32ae
leaq 0xe545(%rip), %rbx      # 0x11760
leaq 0x9e5e(%rip), %rsi      # 0xd080
movl $0x2, %ecx
movq %rbx, %rdi
movq $-0x1, %rdx
callq 0x2470
leaq 0x20(%rsp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x2250
leaq 0xe511(%rip), %rdi      # 0x11760
leaq 0x20(%rsp), %rbx
movq %rbx, %rsi
callq 0x22f0
movq (%rbx), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x3363
movq 0x30(%rsp), %rsi
jmp 0x335b
leaq 0xe4e2(%rip), %rdi      # 0x11760
movq %rbx, %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x338c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x338c
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq %rbx, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x9db6(%rip), %rdi      # 0xd083
leaq 0x9db8(%rip), %rsi      # 0xd08c
xorl %ecx, %ecx
xorl %eax, %eax
callq 0x2300
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0x32f3
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x3379
movq 0x30(%rsp), %rsi
jmp 0x3371
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x20(%rsp), %rbx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe431(%rip), %rdi      # 0x11760
movq %rbx, %rsi
callq 0x22f0
movq (%rbx), %rdi
cmpq %r12, %rdi
je 0x334c
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x3363
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2230
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3379
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0xe388(%rip), %rdi      # 0x11708
leaq 0xe3d9(%rip), %rsi      # 0x11760
callq 0x4072
movl $0x0, 0xe3ea(%rip)      # 0x11780
movl $0x1, 0xdebc(%rip)      # 0x1125c
callq 0x341b
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2c18
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x33df
jmp 0x33df
jmp 0x33c3
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x33e2
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x33e2
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3413
movq 0x10(%rsp), %rsi
jmp 0x3406
jmp 0x33f4
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x3413
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x3413
movq %rax, %rbx
movq %rbx, %rdi
callq 0x2400