LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: RemoveTList
void RemoveTList(TList* L,CList* C){	//Diagrafi mias CList apo thn TList
	TList* T;
	while(L->Next!=NULL){
		if(L->Next->node==C){
			T=L->Next;
			L->Next=T->Next;
			T->node=NULL;
			free(T);
			break;
		}
		L=L->Next;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x45dc
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
cmpq -0x10(%rbp), %rax
jne 0x45ce
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
movq $0x0, (%rax)
movq -0x18(%rbp), %rdi
callq 0x1030
jmp 0x45dc
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x4580
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: FreeTList
void FreeTList(TList* L){//Apodesmevi thn TList
  TList* T;
  while(L->Next!=NULL){
    T=L->Next;
    L->Next=T->Next;
    T->node=NULL;
    free(T);
  }
  free(L);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x4639
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, (%rax)
movq -0x10(%rbp), %rdi
callq 0x1030
jmp 0x45fc
movq -0x8(%rbp), %rdi
callq 0x1030
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: FreeCList
void FreeCList(CList* L){//Apodesmevi thn CList
  CList* T;
	if(L->Diffrend!=NULL){
		FreeTList(L->Diffrend);
		L->Diffrend=NULL;
	}
  while(L->Next!=NULL){
    T=L->Next;
    L->Next=T->Next;
    free(T->name);
    free(T);
  }
	free(L->name);
  free(L);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x4680
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x45f0
movq -0x8(%rbp), %rax
movq $0x0, 0x10(%rax)
jmp 0x4682
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x46c0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x1030
movq -0x10(%rbp), %rdi
callq 0x1030
jmp 0x4682
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rdi
callq 0x1030
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: SearchDiffList
int SearchDiffList(CList* C,CList* S){
	if(C==NULL || S==NULL) return 0;
	if(C==S) return 1;
	int ret;
	ret=FindTList(C->Diffrend,S);
	if(ret) return 0;
	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x46fe
cmpq $0x0, -0x18(%rbp)
jne 0x4707
movl $0x0, -0x4(%rbp)
jmp 0x4744
movq -0x10(%rbp), %rax
cmpq -0x18(%rbp), %rax
jne 0x471a
movl $0x1, -0x4(%rbp)
jmp 0x4744
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x4230
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
je 0x473d
movl $0x0, -0x4(%rbp)
jmp 0x4744
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: CreateTList
TList* CreateTList(){ //Dimiourgei mia nea TList
	TList *L;
	L=(TList *)malloc(sizeof(TList));
	L->Next=NULL;
  L->node=NULL;
	return L;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x10, %edi
callq 0x1190
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq $0x0, (%rax)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: CountTList
int CountTList(TList* T){	//Ipologixei to posous komvous exei h TList
	int i=0;
	while(T->Next!=NULL){
		T=T->Next;
		i++;
	}
	return i;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x47c1
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x8(%rbp)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x479f
movl -0xc(%rbp), %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: Print_Camera_Count_TList
void Print_Camera_Count_TList(TList* T)
{
	int i = 1;
	TList* tptr = T->Next;
	while(tptr != NULL)
	{
		printf("list %d has %d cameras\n", i, tptr->node->camera_count);
		tptr = tptr->Next;
		i++;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x1, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x4828
movl -0xc(%rbp), %esi
movq -0x18(%rbp), %rax
movq (%rax), %rax
movl 0x20(%rax), %edx
leaq 0x3aae(%rip), %rdi      # 0x82b8
movb $0x0, %al
callq 0x10b0
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x47ef
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: FreeeTList
void FreeeTList(TList* L){  //Apodesmevi thn TList kai tis CList pou exei os dedomena
	TList* T;
	while(L->Next!=NULL){
    T=L->Next;
    L->Next=T->Next;
    FreeCList(T->node);
    free(T);
  }
  free(L);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x487a
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x4650
movq -0x10(%rbp), %rdi
callq 0x1030
jmp 0x483c
movq -0x8(%rbp), %rdi
callq 0x1030
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: CreateNList
NList* CreateNList(){ /*Dimiourgei mia nea WHash*/
	NList *L;
	L=(NList *)malloc(sizeof(NList));
	L->Next=NULL;
  L->camera=NULL;
	return L;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x30, %edi
callq 0x1190
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq $0x0, 0x20(%rax)
movq -0x8(%rbp), %rax
movq $0x0, (%rax)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: InsertNList
void InsertNList(NList* L,char* camera){//Eisagei ena neo product sthn arxh ths NList
	NList *N;
  N=(NList*)malloc(sizeof(NList));
  N->camera=strdup(camera);
	N->clique=NULL;
	N->Spear=NULL;
	N->vector=NULL;
  N->Next=L->Next;
  L->Next=N;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x30, %edi
callq 0x1190
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1250
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: ConectNList
CList* ConectNList(NList* L,char* product,CList* clique){//Eisagei ena neo product sthn arxh ths CList
	while(L->Next!=NULL){	//Vrisko ton komvo ston opio einai apothikevmeno to product
		L=L->Next;
		if(!strcmp(L->camera,product)){
				break;
		}
	}

	if(L->clique==NULL){	//Ean den einai to product idi se kapia klika

		if(clique==NULL){	//Ean den exei dwthei kapia klika wste na mpei ekei to product
			L->clique=CreateCList();	//Dimiourgise mia nea klika
			InsertCList(L->clique,product,L);	//Vale to product sthn nea klika
		}else{	//Ean exei dothei mia klika sthn opia prepei na valw afto kai tous komvous ths klikas tou
			L->clique=clique;	//O komvos pou einai apothikevmeno to product dixnei sthn klika pou dothike
			InsertCList(L->clique,product,L);	//vale to product sthn klika pou dothike
		}

	}else{	//Ean to product einai idi se kapia klika

		if(clique!=NULL){ //Ean exei dwthei kapia klika wste na mpei ekei to product
			if(L->clique!=clique){	//ean oi dio klikes den einai idies
					L->clique=AppendCList(clique,L->clique);	//sigxonevw tis dio klikes
			}
		}

	}
		return L->clique; //Epistrefo thn klika sthn opia evala to product
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x4994
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x1120
cmpl $0x0, %eax
jne 0x4992
jmp 0x4994
jmp 0x4964
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x49f0
cmpq $0x0, -0x18(%rbp)
jne 0x49cd
callq 0x3f80
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x8(%rbp), %rdx
callq 0x3fd0
jmp 0x49ee
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x8(%rbp), %rdx
callq 0x3fd0
jmp 0x4a25
cmpq $0x0, -0x18(%rbp)
je 0x4a23
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x18(%rbp), %rax
je 0x4a21
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x43b0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x4a23
jmp 0x4a25
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: PrintNList
void PrintNList(NList* L){//Ektiponei thn NList
	printf("[");
  while(L->Next!=NULL){
    L=L->Next;
		printf(" %s ",L->camera );
	}
	printf("]\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x387d(%rip), %rdi      # 0x82d0
movb $0x0, %al
callq 0x10b0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x4a88
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x3853(%rip), %rdi      # 0x82d2
movb $0x0, %al
callq 0x10b0
jmp 0x4a5a
leaq 0x3848(%rip), %rdi      # 0x82d7
movb $0x0, %al
callq 0x10b0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: TransferNList
void TransferNList(NList* L,TList* Transfered,FILE* csvfile){	//Metaferi ta dedomena  ths NList
  while(L->Next!=NULL){
    L=L->Next;
		if(L->clique!=NULL){
				if(FindTList(Transfered,L->clique)){//Ean h klika pou dixnei o komvos L den exei metaferthi
						TransferCList(L->clique,csvfile);
						InsertTList(Transfered,L->clique);//Vale thn klika pou dixnei o komvos L se aftes pou exoun metaferthei
				}
  		}
		}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x4b12
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x4b10
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x4230
cmpl $0x0, %eax
je 0x4b0e
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x4060
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x4360
jmp 0x4b10
jmp 0x4ab4
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: DiffNList
void DiffNList(NList* L,TList* Transfered,FILE* csvfile){	//Metaferi ta dedomena  ths NList
  while(L->Next!=NULL){
    L=L->Next;
		if(L->clique!=NULL){
				if(FindTList(Transfered,L->clique)){//Ean h klika pou dixnei o komvos L den exei metaferthi
						DiffCList(L->clique,Transfered,csvfile);
						InsertTList(Transfered,L->clique);//Vale thn klika pou dixnei o komvos L se aftes pou exoun metaferthei
				}
  	}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x4b96
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x4b94
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x4230
cmpl $0x0, %eax
je 0x4b92
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x4110
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x4360
jmp 0x4b94
jmp 0x4b34
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: FreeNList
void FreeNList(NList* L,TList* Deleted){//Apodesmevi thn NList
	NList* T;
  while(L->Next!=NULL){
    T=L->Next;
    L->Next=T->Next;
		if(T->Spear!=NULL) FreeWHash(T->Spear);
		if(T->vector!=NULL)FreeHVector(T->vector);
    if(T->camera!=NULL) free(T->camera);
		if(T->clique!=NULL){
			if(FindTList(Deleted,T->clique)){//Ean h klika pou dixnei o komvos L den exei ektipothei
				InsertTList(Deleted,T->clique);//Vale thn klika pou dixnei o komvos L stis ektipomenes
			}
		}
		free(T);
  }
  free(L);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x4c63
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x4bf3
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x4c80
movq -0x18(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x4c0b
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x4cf0
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
je 0x4c21
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x1030
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x4c55
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x4230
cmpl $0x0, %eax
je 0x4c53
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x4360
jmp 0x4c55
movq -0x18(%rbp), %rdi
callq 0x1030
jmp 0x4bb0
movq -0x8(%rbp), %rdi
callq 0x1030
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: FreeWHash
void FreeWHash(WHash* H){   //apodesmefsth tou Hash
  for(int i=0 ; i<H->size ; i++){
    if(H[i].word!=NULL) free(H[i].word);
  }
  free(H);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x14(%rcx), %eax
jge 0x4cda
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x8(%rax)
je 0x4ccd
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdi
callq 0x1030
jmp 0x4ccf
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x4c93
movq -0x8(%rbp), %rdi
callq 0x1030
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: CreateWHash
WHash* CreateWHash(int size){ //Dimiourgia enos neou WHash
	WHash *H;
	H=(WHash *)malloc(sizeof(WHash)*size);
	H->size=size;
	H->count=0;
	for(int i=0 ; i< size ; i++){//gia kathe bucket tou HashTable arxikopiise ta dedomena
		H[i].word=NULL;
		H[i].tfidf=0;
	}
	return H;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movslq -0x4(%rbp), %rax
imulq $0x18, %rax, %rdi
callq 0x1190
movq %rax, -0x10(%rbp)
movl -0x4(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x10(%rax)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x4(%rbp), %eax
jge 0x4d88
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq $0x0, 0x8(%rax)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x4d48
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: InsertWHash
WHash* InsertWHash(WHash* H,char* word){	//Eisagei ena neo value stho WHash
	int index,exist=0,j=0;

  while(1){ //Evresi tou bucket pou tha paei to neo product
    if(!j){ //Sthn proth epanalipsh ipologizoume mono thn sinartish whashf
      index=whashf(word,H->size);
			j=1;
    }else{
      index++;
			if(index>=H->size) index-=H->size;
    }
    if(H[index].word==NULL){  //Ean einai adio to bucket tha isagoume se afto thn leksh
      break;
    }else if(!strcmp(H[index].word,word)){  //Ean iparxi idi tha vgoume ap thn epanalipsh
      exist=1;
      break;
    }
  }
  if(!exist){ //Ean h leksh den iparxei idi
    H->count++;
    H[index].word=strdup(word);
    H[index].tfidf=1;
    float n=(1.0*H->count)/H->size;
    if(n>=0.8){ //Ean h plirotita ftasei to 80% kanei rehash
      H=Wrehash(H);
    }
  }else{	//Ean iparxi afksise to tf kata ena
    H[index].tfidf=H[index].tfidf+1;
  }
  return H;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x4de0
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x14(%rax), %esi
callq 0x4f30
movl %eax, -0x14(%rbp)
movl $0x1, -0x1c(%rbp)
jmp 0x4e06
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x14(%rcx), %eax
jl 0x4e04
movq -0x8(%rbp), %rax
movl 0x14(%rax), %ecx
movl -0x14(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x14(%rbp)
jmp 0x4e06
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x8(%rax)
jne 0x4e1e
jmp 0x4e4f
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x1120
cmpl $0x0, %eax
jne 0x4e48
movl $0x1, -0x18(%rbp)
jmp 0x4e4f
jmp 0x4e4a
jmp 0x4dbe
cmpl $0x0, -0x18(%rbp)
jne 0x4ef1
movq -0x8(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x10(%rbp), %rdi
callq 0x1250
movq %rax, %rcx
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rdx
imulq $0x18, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x3394(%rip), %xmm0     # 0x8230
movsd %xmm0, (%rax)
movq -0x8(%rbp), %rax
cvtsi2sdl 0x10(%rax), %xmm1
movsd 0x337f(%rip), %xmm0     # 0x8230
mulsd %xmm1, %xmm0
movq -0x8(%rbp), %rax
cvtsi2sdl 0x14(%rax), %xmm1
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x33b4(%rip), %xmm1     # 0x8290
ucomisd %xmm1, %xmm0
jb 0x4eef
movq -0x8(%rbp), %rdi
callq 0x4f80
movq %rax, -0x8(%rbp)
jmp 0x4f1f
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd 0x3328(%rip), %xmm0     # 0x8230
addsd (%rax), %xmm0
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: whashf
int whashf(char *str,int size){ //Hash sinartisi gia strings
  int hash = 5381;
  int c;
  while ((c = *str++))
    hash = ((hash << 5) + hash) + c; /* hash * 33 + c */

  return abs(hash % size);;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl $0x1505, -0x10(%rbp)    # imm = 0x1505
movq -0x8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x8(%rbp)
movsbl (%rax), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
je 0x4f6d
movl -0x10(%rbp), %eax
shll $0x5, %eax
addl -0x10(%rbp), %eax
addl -0x14(%rbp), %eax
movl %eax, -0x10(%rbp)
jmp 0x4f42
movl -0x10(%rbp), %eax
cltd
idivl -0xc(%rbp)
movl %edx, %eax
movl %eax, %edx
negl %edx
cmovnsl %edx, %eax
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: WHashTF
WHash* WHashTF(WHash* H ){
	int count=WHashCount(H);	//Apothikevi to sinolo olwn twn leksewn ths cameras
	for(int i=0 ; i<H->size ; i++){
		if(H[i].word!=NULL){	//Gia kathe bucket pou periexei mia leksh
			H[i].tfidf=(H[i].tfidf)/count;	//Ipologizw to tf gia thn antistih leksh
		}
	}
	return H;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x51c0
movl %eax, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x14(%rcx), %eax
jge 0x51ad
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x8(%rax)
je 0x51a0
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
cvtsi2sdl -0xc(%rbp), %xmm1
divsd %xmm1, %xmm0
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
jmp 0x51a2
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x514f
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: WHashCount
int WHashCount(WHash* H){	//Ipologizei to sinoliko athrisma twn leksewn mias cameras
	int count=0;
	for(int i=0 ; i<H->size ; i++){
		if(H[i].word!=NULL){
			count+=H[i].tfidf;
		}
	}
	return count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x14(%rcx), %eax
jge 0x5228
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x8(%rax)
je 0x521b
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
cvtsi2sdl -0xc(%rbp), %xmm0
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0xc(%rbp)
jmp 0x521d
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x51d6
movl -0xc(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: WHashFind
int WHashFind(WHash* H,char* word){ //Epistrefei 1 an iparxei  leksh sto hash allios 0
	int index,exist=0,j=0;

  while(1){
    if(!j){
      index=whashf(word,H->size);
			j=1;
    }else{
      index++;
			if(index>=H->size) index-=H->size;
    }
    if(H[index].word==NULL){
      break;
    }else if(!strcmp(H[index].word,word)){
      exist=1;
      break;
    }
  }
  return exist;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x5270
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x14(%rax), %esi
callq 0x4f30
movl %eax, -0x14(%rbp)
movl $0x1, -0x1c(%rbp)
jmp 0x5296
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x14(%rcx), %eax
jl 0x5294
movq -0x8(%rbp), %rax
movl 0x14(%rax), %ecx
movl -0x14(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x14(%rbp)
jmp 0x5296
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x8(%rax)
jne 0x52ae
jmp 0x52df
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x1120
cmpl $0x0, %eax
jne 0x52d8
movl $0x1, -0x18(%rbp)
jmp 0x52df
jmp 0x52da
jmp 0x524e
movl -0x18(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: GiveTfIdf
double GiveTfIdf(WHash* H,char* camera){ //Epistrefei thn timh tou tf an iparxei h leksh allios 0
	int index,j=0;

  while(1){
    if(!j){
      index=whashf(camera,H->size);
			j=1;
    }else{
      index++;
			if(index>=H->size) index-=H->size;
    }
    if(H[index].word==NULL){
      break;
    }else if(!strcmp(H[index].word,camera)){
      return H[index].tfidf;
      break;
    }
  }
  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x0, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jne 0x5329
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x14(%rax), %esi
callq 0x4f30
movl %eax, -0x1c(%rbp)
movl $0x1, -0x20(%rbp)
jmp 0x534f
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x14(%rcx), %eax
jl 0x534d
movq -0x10(%rbp), %rax
movl 0x14(%rax), %ecx
movl -0x1c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x1c(%rbp)
jmp 0x534f
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x8(%rax)
jne 0x5367
jmp 0x53a9
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x1120
cmpl $0x0, %eax
jne 0x53a2
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0x53b1
jmp 0x53a4
jmp 0x5307
xorps %xmm0, %xmm0
movsd %xmm0, -0x8(%rbp)
movsd -0x8(%rbp), %xmm0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: PrintWHash
void PrintWHash(WHash* H){
	int c=0;
	for(int i=0 ; i<H->size ; i++){
		if(H[i].word!=NULL){
			c++;
			printf("	%dh:%s-%f\n",c,H[i].word,H[i].tfidf);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x14(%rcx), %eax
jge 0x5449
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x8(%rax)
je 0x543c
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %esi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdx
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
leaq 0x2ea5(%rip), %rdi      # 0x82da
movb $0x1, %al
callq 0x10b0
jmp 0x543e
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x53da
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: HVhash
int HVhash(int id,int size){
  id^= (id << 13);
  id^= (id >> 17);
  id^= (id << 5);
  return abs(id) % size;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl -0x4(%rbp), %eax
shll $0xd, %eax
xorl -0x4(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
sarl $0x11, %eax
xorl -0x4(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
shll $0x5, %eax
xorl -0x4(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
cltd
idivl -0x8(%rbp)
movl %edx, %eax
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: CreateHVector
HVector* CreateHVector(int size){ //Dimiourgia enos neou WHash
	HVector *H;
	H=(HVector *)malloc(sizeof(HVector)*size);
	H->size=size;
	H->count=0;
	H->sum=0;
	for(int i=0 ; i< size ; i++){//gia kathe bucket tou HashTable arxikopiise ta dedomena
		H[i].key=-1;
		H[i].value=0;
	}
	return H;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movslq -0x4(%rbp), %rdi
shlq $0x5, %rdi
callq 0x1190
movq %rax, -0x10(%rbp)
movl -0x4(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x1c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x18(%rax)
movq -0x10(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x10(%rax)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x4(%rbp), %eax
jge 0x5513
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x8(%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x54d4
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: InsertHVector
HVector* InsertHVector(HVector* H,int key,double value){	//Eisagei ena neo value stho WHash
	int index,j=0;

  while(1){ //Evresi tou bucket pou tha paei to neo product
    if(!j){ //Sthn proth epanalipsh ipologizoume mono thn sinartish whashf
      index=HVhash(key,H->size);
			j=1;
    }else{
      index++;
			if(index>=H->size) index-=H->size;
    }
    if(H[index].key==-1){  //Ean einai adio to bucket tha isagoume se afto thn leksh
			H->count++;
			(H->sum)+=value;
			H[index].key=key;
			H[index].value=value;
      break;
    }
  }
  float n=(1.0*H->count)/H->size;
  if(n>=0.8){ //Ean h plirotita ftasei to 80% kanei rehash
      H=HVrehash(H);
  }
  return H;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movsd %xmm0, -0x18(%rbp)
movl $0x0, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jne 0x555c
movl -0xc(%rbp), %edi
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %esi
callq 0x5450
movl %eax, -0x1c(%rbp)
movl $0x1, -0x20(%rbp)
jmp 0x5582
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x1c(%rcx), %eax
jl 0x5580
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %ecx
movl -0x1c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5582
movq -0x8(%rbp), %rax
movslq -0x1c(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
cmpl $-0x1, (%rax)
jne 0x55e5
movq -0x8(%rbp), %rax
movl 0x18(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x18(%rax)
movsd -0x18(%rbp), %xmm0
movq -0x8(%rbp), %rax
addsd 0x10(%rax), %xmm0
movsd %xmm0, 0x10(%rax)
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
movslq -0x1c(%rbp), %rdx
shlq $0x5, %rdx
addq %rdx, %rax
movl %ecx, (%rax)
movsd -0x18(%rbp), %xmm0
movq -0x8(%rbp), %rax
movslq -0x1c(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movsd %xmm0, 0x8(%rax)
jmp 0x55ea
jmp 0x553b
movq -0x8(%rbp), %rax
cvtsi2sdl 0x18(%rax), %xmm1
movsd 0x2c35(%rip), %xmm0     # 0x8230
mulsd %xmm1, %xmm0
movq -0x8(%rbp), %rax
cvtsi2sdl 0x1c(%rax), %xmm1
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2c6a(%rip), %xmm1     # 0x8290
ucomisd %xmm1, %xmm0
jb 0x5639
movq -0x8(%rbp), %rdi
callq 0x5650
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: HVrehash
HVector* HVrehash(HVector* H){
  HVector*  Temp;
  int i;
  Temp=(HVector* )malloc( (H->size*1.5) *  sizeof(HVector) ); //Dimiourgo ena neo HasTable me thn diplasia xoritikotita
  Temp->size=H->size * 1.5;
  Temp->count=0;
	Temp->sum=0;
  for(i=0 ; i< Temp->size ; i++){
    Temp[i].key=-1;
    Temp[i].value=0;
  }
  for(i=0 ; i< H->size ; i++){  //Pernaw ta dedomena tou paliou sto neo HasTable

    if(H[i].key!=-1)  //Ean to arxiko Hash exei dedomena se afthn thn thesh
      Temp=InsertHVector(Temp,H[i].key,H[i].value);
  }

  FreeHVector(H);
  return Temp;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cvtsi2sdl 0x1c(%rax), %xmm0
movsd 0x2c2b(%rip), %xmm1     # 0x8298
mulsd %xmm1, %xmm0
movsd 0x2c27(%rip), %xmm1     # 0x82a0
mulsd %xmm1, %xmm0
movaps %xmm0, %xmm1
cvttsd2si %xmm1, %rdi
movq %rdi, %rcx
sarq $0x3f, %rcx
movsd 0x2c14(%rip), %xmm1     # 0x82a8
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rax
andq %rcx, %rax
orq %rax, %rdi
callq 0x1190
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cvtsi2sdl 0x1c(%rax), %xmm0
movsd 0x2bdb(%rip), %xmm1     # 0x8298
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x1c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x18(%rax)
movq -0x10(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x10(%rax)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x1c(%rcx), %eax
jge 0x572d
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x8(%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x56ea
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x1c(%rcx), %eax
jge 0x5793
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
cmpl $-0x1, (%rax)
je 0x5786
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %esi
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
callq 0x5520
movq %rax, -0x10(%rbp)
jmp 0x5788
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x5734
movq -0x8(%rbp), %rdi
callq 0x4cf0
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: HVSumValues
double HVSumValues(HVector* H){
		double sum=0;
		for(int i=0 ; i<H->size ; i++){
			if(H[i].key!=-1) sum+=H[i].value;
		}
		return sum;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x1c(%rcx), %eax
jge 0x5812
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
cmpl $-0x1, (%rax)
je 0x5805
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
addsd -0x10(%rbp), %xmm0
movsd %xmm0, -0x10(%rbp)
jmp 0x5807
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x57c7
movsd -0x10(%rbp), %xmm0
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: HVGetValue
double HVGetValue(HVector* H,int key){
	int index,j=0;

  while(1){ //Evresi tou bucket pou tha paei to neo product
    if(!j){ //Sthn proth epanalipsh ipologizoume mono thn sinartish whashf
      index=HVhash(key,H->size);
    }else{
      index++;
			if(index>=H->size) index-=H->size;
    }
    if(H[index].key==key){  //Ean einai adio to bucket tha isagoume se afto thn leks
			return H[index].value;
      break;
    }
  }
	return -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl $0x0, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jne 0x5850
movl -0xc(%rbp), %edi
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %esi
callq 0x5450
movl %eax, -0x10(%rbp)
jmp 0x5876
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x1c(%rcx), %eax
jl 0x5874
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %ecx
movl -0x10(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x10(%rbp)
jmp 0x5876
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %eax
cmpl -0xc(%rbp), %eax
jne 0x58a6
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
addq $0x20, %rsp
popq %rbp
retq
jmp 0x5836
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/list.c
// Function: PrintHVector
void PrintHVector(HVector* H){
	int c=0;
	printf("[");
	for(int i=0; i<H->size ;i++){
		if(H[i].key!=-1){
			c++;
			printf("(%d-%f),",H[i].key,H[i].value);
		}
		if(c==H->count) break;
	}
	printf("]\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
leaq 0x2a06(%rip), %rdi      # 0x82d0
movb $0x0, %al
callq 0x10b0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x1c(%rcx), %eax
jge 0x594f
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
cmpl $-0x1, (%rax)
je 0x5934
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movl (%rax), %esi
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
leaq 0x29b9(%rip), %rdi      # 0x82e6
movb $0x1, %al
callq 0x10b0
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x18(%rcx), %eax
jne 0x5942
jmp 0x594f
jmp 0x5944
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x58d8
leaq 0x2981(%rip), %rdi      # 0x82d7
movb $0x0, %al
callq 0x10b0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/hash.c
// Function: hash
int hash(int id,int size){
  id^= (id << 13);
  id^= (id >> 17);
  id^= (id << 5);
  return abs(id % size);

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl -0x4(%rbp), %eax
shll $0xd, %eax
xorl -0x4(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
sarl $0x11, %eax
xorl -0x4(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
shll $0x5, %eax
xorl -0x4(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
cltd
idivl -0x8(%rbp)
movl %edx, %eax
movl %eax, %edx
negl %edx
cmovnsl %edx, %eax
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/hash.c
// Function: HashCreate
Hash* HashCreate(int size){ //Dimiourgei ena neo HashTable megetous size
  int i;
	Hash *H;
	H=(Hash* )malloc(size *  sizeof(Hash) );
	H->size=size;
  H->count=0;

  for(i=0 ; i< size ; i++){//gia kathe bucket tou HashTable dimiourgise mia nea NList
		H[i].Head=CreateNList();
	}
	return H;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movslq -0x4(%rbp), %rdi
shlq $0x4, %rdi
callq 0x1190
movq %rax, -0x10(%rbp)
movl -0x4(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x4(%rax)
movl $0x0, -0x8(%rbp)
movl -0x8(%rbp), %eax
cmpl -0x4(%rbp), %eax
jge 0x5a17
movb $0x0, %al
callq 0x4890
movq %rax, %rcx
movq -0x10(%rbp), %rax
movslq -0x8(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x59e7
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/hash.c
// Function: FreeHash
void FreeHash(Hash* H){//Apodesmevi to HashTable
  int i;
  TList* Deleted=CreateTList();
	for(i=0 ; i< H->size ; i++){
		FreeNList(H[i].Head,Deleted);
	}
  free(H);
  FreeeTList(Deleted);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movb $0x0, %al
callq 0x4750
movq %rax, -0x18(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl (%rcx), %eax
jge 0x5a80
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x4ba0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x5a4e
movq -0x8(%rbp), %rdi
callq 0x1030
movq -0x18(%rbp), %rdi
callq 0x4830
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/hash.c
// Function: HashInsert
Hash* HashInsert(Hash* H,char* camera){ /*Eisagei enan neo product sto HashTable*/
  NList *L;
	int i=0,j=0,in;
	char name[20];
  H->count++;
	while(camera[i]!='/'){//Vrisko to simio pou teliwnei to onoma ths istoselidas tou proiontos
    i++;
  }
	i+=2;//pigeno to i sthn thesh pou arxizei o arithmos tou proiontos
	while(i<strlen(camera)){
		name[j]=camera[i];
		j++;
		i++;
	}
	name[j]='\0';
	in=atoi(name);//apothievo ton arithmo tou proiontos ston int in
	int index=hash(in,H->size);
  L=(NList*)H[index].Head;//pernw thn lista pou vriskete sto index bucket tou HashTable
  InsertNList(L,camera);
  float n=(1.0*H->count)/H->size;
  if(n>=0.9){ //Ean h plirotita ftasei to 90% kanei rehash
    H=rehash(H);
  }
  return H;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0x5ae7
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5acb
movl -0x1c(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x1c(%rbp)
movslq -0x1c(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
callq 0x10a0
movq %rax, %rcx
movq -0x50(%rbp), %rax
cmpq %rcx, %rax
jae 0x5b34
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movb (%rax,%rcx), %cl
movslq -0x20(%rbp), %rax
movb %cl, -0x40(%rbp,%rax)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5af0
movslq -0x20(%rbp), %rax
movb $0x0, -0x40(%rbp,%rax)
leaq -0x40(%rbp), %rdi
callq 0x1230
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %edi
movq -0x8(%rbp), %rax
movl (%rax), %esi
callq 0x5970
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rax
movslq -0x44(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x48d0
movq -0x8(%rbp), %rax
cvtsi2sdl 0x4(%rax), %xmm1
movsd 0x26a1(%rip), %xmm0     # 0x8230
mulsd %xmm1, %xmm0
movq -0x8(%rbp), %rax
cvtsi2sdl (%rax), %xmm1
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x48(%rbp)
movss -0x48(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2737(%rip), %xmm1     # 0x82f0
ucomisd %xmm1, %xmm0
jb 0x5bcc
movq -0x8(%rbp), %rdi
callq 0x5be0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/hash.c
// Function: rehash
Hash* rehash(Hash *H){
  NList* N;
  Hash*  Temp;
  int i;
  Temp=(Hash* )malloc( (H->size*1.5) *  sizeof(Hash) ); //Dimiourgo ena neo HasTable me 150% xoritikotita
  Temp->size=H->size * 1.5;
  Temp->count=0;
  for(i=0 ; i< Temp->size ; i++){
    Temp[i].Head=CreateNList();
  }

  for(i=0 ; i< H->size ; i++){  //Pernaw ta dedomena tou paliou sto neo HasTable
    N=(NList*)H[i].Head;
    while(N->Next!=NULL){
      N=N->Next;
      Temp=HashInsert(Temp,N->camera);
      Temp=HashReplaceSpear(Temp,N->camera,N->Spear);
      N->Spear=NULL;
    }
  }

  FreeHash(H);
  H=Temp;
  return H;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cvtsi2sdl (%rax), %xmm0
movsd 0x269c(%rip), %xmm1     # 0x8298
mulsd %xmm1, %xmm0
movsd 0x26f0(%rip), %xmm1     # 0x82f8
mulsd %xmm1, %xmm0
movaps %xmm0, %xmm1
cvttsd2si %xmm1, %rdi
movq %rdi, %rcx
sarq $0x3f, %rcx
movsd 0x2685(%rip), %xmm1     # 0x82a8
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rax
andq %rcx, %rax
orq %rax, %rdi
callq 0x1190
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
cvtsi2sdl (%rax), %xmm0
movsd 0x264d(%rip), %xmm1     # 0x8298
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x18(%rbp), %rax
movl $0x0, 0x4(%rax)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl (%rcx), %eax
jge 0x5c9e
movb $0x0, %al
callq 0x4890
movq %rax, %rcx
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5c6b
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl (%rcx), %eax
jge 0x5d2c
movq -0x8(%rbp), %rax
movslq -0x1c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x5d1c
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0x5aa0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
callq 0x5d50
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq $0x0, 0x8(%rax)
jmp 0x5cc7
jmp 0x5d1e
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5ca5
movq -0x8(%rbp), %rdi
callq 0x5a30
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/hash.c
// Function: HashReplaceSpear
Hash* HashReplaceSpear(Hash* H,char* word,WHash* Spear){  //Antikathistw to WHash ths cameras me onoma word
  NList *L;
	int i=0,j=0,in;
	char name[20];
  while(word[i]!='/'){//Vrisko to simio pou teliwnei to onoma ths istoselidas tou proiontos
    i++;
  }
	i+=2;//pigeno to i sthn thesh pou arxizei o arithmos tou proiontos
	while(i<strlen(word)){
		name[j]=word[i];
		j++;
		i++;
	}
	name[j]='\0';
	in=atoi(name);//apothievo ton arithmo tou proiontos ston int in
	int index=hash(in,H->size);
  L=(NList*)H[index].Head;//pernw thn lista pou vriskete sto index bucket tou HashTable
  while(L->Next!=NULL){ //Antikathistw to WHash ths cameras me onoma word
    L=L->Next;
    if(!strcmp(L->camera,word)){
      if(L->Spear!=NULL) FreeWHash(L->Spear);
      L->Spear=Spear;
      return H;
    }
  }
  return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl $0x0, -0x2c(%rbp)
movl $0x0, -0x30(%rbp)
movq -0x18(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0x5d8e
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x5d72
movl -0x2c(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x2c(%rbp)
movslq -0x2c(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rdi
callq 0x10a0
movq %rax, %rcx
movq -0x60(%rbp), %rax
cmpq %rcx, %rax
jae 0x5ddb
movq -0x18(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movb (%rax,%rcx), %cl
movslq -0x30(%rbp), %rax
movb %cl, -0x50(%rbp,%rax)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x5d97
movslq -0x30(%rbp), %rax
movb $0x0, -0x50(%rbp,%rax)
leaq -0x50(%rbp), %rdi
callq 0x1230
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %edi
movq -0x10(%rbp), %rax
movl (%rax), %esi
callq 0x5970
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
movslq -0x54(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x5e74
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x1120
cmpl $0x0, %eax
jne 0x5e72
movq -0x28(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x5e5c
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x4c80
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x5e7c
jmp 0x5e18
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/DVaronos[P]AnLogProject1/hash.c
// Function: HashTransfer
void HashTransfer(Hash* H,FILE* csvfile){//Metaferi ta proionta poy teriazoun se ena csv arxio
  NList *L;
  TList* Transfered=CreateTList();
  for(int i=0 ; i<H->size ; i++){
    L=(NList*)H[i].Head;
    TransferNList(L,Transfered,csvfile);
  }
  FreeTList(Transfered);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb $0x0, %al
callq 0x4750
movq %rax, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl (%rcx), %eax
jge 0x6100
movq -0x8(%rbp), %rax
movslq -0x24(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rdx
callq 0x4aa0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x60c2
movq -0x20(%rbp), %rdi
callq 0x45f0
addq $0x30, %rsp
popq %rbp
retq
nop