// File: /workspace/github_cpp_makefile_star2_O1/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, %r15d
movq %rdi, %rbx
leaq 0xe6c9(%rip), %rax      # 0x1169c
movl (%rax), %eax
decl %eax
movl %eax, 0xe7ab(%rip)      # 0x11788
leaq 0xe77c(%rip), %rdi      # 0x11760
movq %rbx, %rsi
callq 0x2140
xorl %r14d, %r14d
xorl %edi, %edi
xorl %esi, %esi
movl $0x1, %edx
callq 0x2c0c
movl $0x0, 0xe751(%rip)      # 0x11758
cmpl $0x1, %r15d
jg 0x3027
callq 0x33fc
cmpl $0x2, %ebp
jne 0x3385
movl 0xe736(%rip), %r14d     # 0x11758
jmp 0x3385
movl 0xe753(%rip), %eax      # 0x11780
leal (%r15,%rax), %ecx
decl %ecx
movq 0xe676(%rip), %rax      # 0x116b0
movslq %ecx, %r15
movq (%rax,%r15,8), %rcx
cmpb $0x4, 0x12(%rcx)
jne 0x3167
movq (%rax,%r15,8), %r12
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 0x2b7c
leaq 0x9ff1(%rip), %rsi      # 0xd070
movq %rsp, %rdi
callq 0x2080
testl %eax, %eax
jne 0x30bf
movq 0xe6d6(%rip), %rdx      # 0x11768
leaq 0xe5df(%rip), %rax      # 0x11678
cmpq 0x8(%rax), %rdx
jne 0x30bf
testq %rdx, %rdx
je 0x3253
movq (%rax), %rsi
movq 0xe6ae(%rip), %rdi      # 0x11760
callq 0x2240
testl %eax, %eax
je 0x3253
leaq 0x9faa(%rip), %rsi      # 0xd070
movq %rsp, %rdi
callq 0x2080
testl %eax, %eax
je 0x31f0
leaq 0x9f94(%rip), %rsi      # 0xd071
movq %rsp, %rdi
callq 0x2080
testl %eax, %eax
je 0x3253
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 0x32e1
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x32e9
callq 0x2060
testl %eax, %eax
jne 0x3356
leaq 0x30(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xe5dc(%rip), %rsi      # 0x11760
movq 0xe5dd(%rip), %rdx      # 0x11768
addq %rsi, %rdx
leaq 0x20(%rsp), %rbx
movq %rbx, %rdi
callq 0x2aec
leaq 0x9f6c(%rip), %rsi      # 0xd10e
movq %rbx, %rdi
callq 0x2450
movq 0xe4ff(%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 0x3281
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x3287
leaq 0xe569(%rip), %rbx      # 0x11760
leaq 0x9e54(%rip), %rsi      # 0xd052
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 0xe535(%rip), %rdi      # 0x11760
leaq 0x20(%rsp), %rbx
movq %rbx, %rsi
callq 0x22f0
movq (%rbx), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x3340
movq 0x30(%rsp), %rsi
jmp 0x3338
leaq 0xe506(%rip), %rdi      # 0x11760
movq %rbx, %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3369
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x3369
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rdx
leaq 0x9dab(%rip), %rdi      # 0xd055
leaq 0x9dad(%rip), %rsi      # 0xd05e
xorl %ecx, %ecx
xorl %eax, %eax
callq 0x2300
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0x32d0
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x3356
movq 0x30(%rsp), %rsi
jmp 0x334e
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 0xe454(%rip), %rdi      # 0x11760
movq %rbx, %rsi
callq 0x22f0
movq (%rbx), %rdi
cmpq %r12, %rdi
je 0x3329
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2230
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x3340
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2230
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3356
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2230
leaq 0xe3ab(%rip), %rdi      # 0x11708
leaq 0xe3fc(%rip), %rsi      # 0x11760
callq 0x4044
movl $0x0, 0xe40d(%rip)      # 0x11780
movl $0x1, 0xdedf(%rip)      # 0x1125c
callq 0x33fc
xorl %r14d, %r14d
movl %r14d, %edi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2c0c
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x33c0
jmp 0x33c0
jmp 0x33a4
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x33c3
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x33c3
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x33f4
movq 0x10(%rsp), %rsi
jmp 0x33e7
jmp 0x33d5
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x33f4
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x33f4
movq %rax, %rbx
movq %rbx, %rdi
callq 0x2400