// File: /workspace/github_c_makefile_star2_O0/S01den[P]Lost_CavernRL/interface.c
// Function: printScreenUser
void printScreenUser(WINDOW *win, Player player, int powerUsed, char diseaseName[20], unsigned int disease, unsigned int nbrEnnemiesKilled)
{
	const char *powers[] = {"Way of life", "Way of power", "Way of protection"};
	wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');
	wattron(win,A_UNDERLINE);
	mvwprintw(win,2,(30-strlen(player.name))/2,"%s",player.name);
	wattroff(win,A_UNDERLINE);

	if(powerUsed)
	{
		wattron(win,COLOR_PAIR(197));
		mvwprintw(win,3,5,"%s",powers[player.power]);
		wattroff(win,COLOR_PAIR(197));
	}
	else
	{
		wattron(win,COLOR_PAIR(47));
		mvwprintw(win,3,5,"%s",powers[player.power]);
		wattroff(win,COLOR_PAIR(47));		
	}

	switch(player.state)
	{
		case 0:
			wattron(win,COLOR_PAIR(197));
			mvwprintw(win,4,5,"          ");
			wattroff(win,COLOR_PAIR(197));		
			break;
		case 1:
			wattron(win,COLOR_PAIR(197));
			mvwprintw(win,4,5,"(ON FIRE)");
			wattroff(win,COLOR_PAIR(197));		
			break;
		case 2:
			wattron(win,COLOR_PAIR(197));
			mvwprintw(win,4,5,"(PARALYSED)");
			wattroff(win,COLOR_PAIR(197));		
			break;
		case 3:
			wattron(win,COLOR_PAIR(197));
			mvwprintw(win,4,5,"(STONE)");
			wattroff(win,COLOR_PAIR(197));		
			break;
		case 4:
			wattron(win,COLOR_PAIR(47));
			mvwprintw(win,4,5,"(BOOSTED)");
			wattroff(win,COLOR_PAIR(47));		
			break;
	}

	printBar(win,"LIFE",player.life,6,2,249);
	printBar(win,diseaseName,disease,7,2,248);

	if(disease <= 20)
	{
		mvwprintw(win,8,9,"(STADE 1)");
	}
	if(disease > 20 && disease <= 50)
	{
		mvwprintw(win,8,9,"(STADE 2)");
	}
	if(disease > 50 && disease <= 75)
	{
		mvwprintw(win,8,9,"(STADE 3)");
	}
	if(disease > 75 && disease <= 100)
	{
		mvwprintw(win,8,9,"(STADE 4)");
	}

	mvwprintw(win,10,2,"strength  Hate   Agility");
	mvwprintw(win,11,2," %d         %d      %d  ",player.strength,player.hate,player.agility);
	mvwprintw(win,13,2,"Souls taken: %d",nbrEnnemiesKilled);

	wrefresh(win);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl %r8d, -0x20(%rbp)
movq 0x10d27(%rip), %rax     # 0x1cbd0
movq %rax, -0x40(%rbp)
movq 0x10d24(%rip), %rax     # 0x1cbd8
movq %rax, -0x38(%rbp)
movq 0x10d21(%rip), %rax     # 0x1cbe0
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movl $0x7c, %edx
movl $0x2d, %r8d
movl $0x2b, %r9d
movl %edx, %esi
movl %r8d, %ecx
movl $0x2b, (%rsp)
movl $0x2b, 0x8(%rsp)
movl $0x2b, 0x10(%rsp)
callq 0x2120
movq -0x8(%rbp), %rdi
movl $0x20000, %esi          # imm = 0x20000
xorl %eax, %eax
movl %eax, %edx
callq 0x21d0
movq -0x48(%rbp), %rdi
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
callq 0x20f0
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %r8
movq %rax, %rcx
movl $0x1e, %eax
subq %rcx, %rax
shrq %rax
movl %eax, %edx
movl $0x2, %esi
leaq 0xd22d(%rip), %rcx      # 0x1916d
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
movl $0x20000, %esi          # imm = 0x20000
xorl %eax, %eax
movl %eax, %edx
callq 0x2060
cmpl $0x0, -0xc(%rbp)
je 0xbfae
movq -0x8(%rbp), %rdi
movl $0xc500, %esi           # imm = 0xC500
xorl %eax, %eax
movl %eax, %edx
callq 0x21d0
movq -0x48(%rbp), %rax
movq -0x8(%rbp), %rdi
movslq 0x1c(%rax), %rax
movq -0x40(%rbp,%rax,8), %r8
movl $0x3, %esi
movl $0x5, %edx
leaq 0xd1da(%rip), %rcx      # 0x1916d
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
movl $0xc500, %esi           # imm = 0xC500
xorl %eax, %eax
movl %eax, %edx
callq 0x2060
jmp 0xbffb
movq -0x8(%rbp), %rdi
movl $0x2f00, %esi           # imm = 0x2F00
xorl %eax, %eax
movl %eax, %edx
callq 0x21d0
movq -0x48(%rbp), %rax
movq -0x8(%rbp), %rdi
movslq 0x1c(%rax), %rax
movq -0x40(%rbp,%rax,8), %r8
movl $0x3, %esi
movl $0x5, %edx
leaq 0xd18b(%rip), %rcx      # 0x1916d
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
movl $0x2f00, %esi           # imm = 0x2F00
xorl %eax, %eax
movl %eax, %edx
callq 0x2060
movq -0x48(%rbp), %rax
movl 0x30(%rax), %eax
movq %rax, -0x58(%rbp)
subq $0x4, %rax
ja 0xc175
movq -0x58(%rbp), %rax
leaq 0xcf5d(%rip), %rcx      # 0x18f78
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rdi
movl $0xc500, %esi           # imm = 0xC500
xorl %eax, %eax
movl %eax, %edx
callq 0x21d0
movq -0x8(%rbp), %rdi
movl $0x4, %esi
movl $0x5, %edx
leaq 0xc092(%rip), %rcx      # 0x180dd
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
movl $0xc500, %esi           # imm = 0xC500
xorl %eax, %eax
movl %eax, %edx
callq 0x2060
jmp 0xc175
movq -0x8(%rbp), %rdi
movl $0xc500, %esi           # imm = 0xC500
xorl %eax, %eax
movl %eax, %edx
callq 0x21d0
movq -0x8(%rbp), %rdi
movl $0x4, %esi
movl $0x5, %edx
leaq 0xcf3f(%rip), %rcx      # 0x18fcf
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
movl $0xc500, %esi           # imm = 0xC500
xorl %eax, %eax
movl %eax, %edx
callq 0x2060
jmp 0xc175
movq -0x8(%rbp), %rdi
movl $0xc500, %esi           # imm = 0xC500
xorl %eax, %eax
movl %eax, %edx
callq 0x21d0
movq -0x8(%rbp), %rdi
movl $0x4, %esi
movl $0x5, %edx
leaq 0xcf04(%rip), %rcx      # 0x18fd9
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
movl $0xc500, %esi           # imm = 0xC500
xorl %eax, %eax
movl %eax, %edx
callq 0x2060
jmp 0xc175
movq -0x8(%rbp), %rdi
movl $0xc500, %esi           # imm = 0xC500
xorl %eax, %eax
movl %eax, %edx
callq 0x21d0
movq -0x8(%rbp), %rdi
movl $0x4, %esi
movl $0x5, %edx
leaq 0xcecb(%rip), %rcx      # 0x18fe5
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
movl $0xc500, %esi           # imm = 0xC500
xorl %eax, %eax
movl %eax, %edx
callq 0x2060
jmp 0xc175
movq -0x8(%rbp), %rdi
movl $0x2f00, %esi           # imm = 0x2F00
xorl %eax, %eax
movl %eax, %edx
callq 0x21d0
movq -0x8(%rbp), %rdi
movl $0x4, %esi
movl $0x5, %edx
leaq 0xce91(%rip), %rcx      # 0x18fed
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
movl $0x2f00, %esi           # imm = 0x2F00
xorl %eax, %eax
movl %eax, %edx
callq 0x2060
movq -0x48(%rbp), %rax
movq -0x8(%rbp), %rdi
movl 0x10(%rax), %edx
leaq 0xce70(%rip), %rsi      # 0x18ff7
movl $0x6, %ecx
movl $0x2, %r8d
movl $0xf9, %r9d
callq 0xc2e0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %edx
movl $0x7, %ecx
movl $0x2, %r8d
movl $0xf8, %r9d
callq 0xc2e0
cmpl $0x14, -0x1c(%rbp)
ja 0xc1e0
movq -0x8(%rbp), %rdi
movl $0x8, %esi
movl $0x9, %edx
leaq 0xce23(%rip), %rcx      # 0x18ffc
movb $0x0, %al
callq 0x2070
cmpl $0x14, -0x1c(%rbp)
jbe 0xc208
cmpl $0x32, -0x1c(%rbp)
ja 0xc208
movq -0x8(%rbp), %rdi
movl $0x8, %esi
movl $0x9, %edx
leaq 0xce05(%rip), %rcx      # 0x19006
movb $0x0, %al
callq 0x2070
cmpl $0x32, -0x1c(%rbp)
jbe 0xc230
cmpl $0x4b, -0x1c(%rbp)
ja 0xc230
movq -0x8(%rbp), %rdi
movl $0x8, %esi
movl $0x9, %edx
leaq 0xcde7(%rip), %rcx      # 0x19010
movb $0x0, %al
callq 0x2070
cmpl $0x4b, -0x1c(%rbp)
jbe 0xc258
cmpl $0x64, -0x1c(%rbp)
ja 0xc258
movq -0x8(%rbp), %rdi
movl $0x8, %esi
movl $0x9, %edx
leaq 0xcdc9(%rip), %rcx      # 0x1901a
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
movl $0xa, %esi
movl $0x2, %edx
leaq 0xcdb7(%rip), %rcx      # 0x19024
movb $0x0, %al
callq 0x2070
movq -0x48(%rbp), %rax
movq -0x8(%rbp), %rdi
movl 0x20(%rax), %r8d
movl 0x28(%rax), %r9d
movl 0x24(%rax), %eax
movl $0xb, %esi
movl $0x2, %edx
leaq 0xcda5(%rip), %rcx      # 0x1903d
movl %eax, (%rsp)
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
movl -0x20(%rbp), %r8d
movl $0xd, %esi
movl $0x2, %edx
leaq 0xcd9b(%rip), %rcx      # 0x19056
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
callq 0x2100
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)