LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: dialogs_load
Dialogs* dialogs_load(char* filename){
	Dialogs *d;
	int npc=0,dlg=0;
	char buff[1024];
	FILE *in;

	if(!filename) return NULL;

	d=(Dialogs*)malloc(sizeof(Dialogs));
	if(!d) return NULL;

	in = (FILE*) fopen(filename, "r");
	if(!in){
		free(d);
		return NULL;
	}

	while(!feof(in)){
		fscanf(in,"%d\t%d\t%[^\n]",&npc,&dlg,buff);
		d->dlgs[npc][dlg]=(char*)malloc(strlen(buff)+1);
        strcpy(d->dlgs[npc][dlg],buff);
	}

	fclose(in);
	return d;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x430, %rsp            # imm = 0x430
movq %rdi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x22d1
movq $0x0, -0x8(%rbp)
jmp 0x23d8
movl $0xe10, %edi            # imm = 0xE10
callq 0x1130
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x22f3
movq $0x0, -0x8(%rbp)
jmp 0x23d8
movq -0x10(%rbp), %rdi
leaq 0x6d34(%rip), %rsi      # 0x9032
callq 0x1190
movq %rax, -0x428(%rbp)
cmpq $0x0, -0x428(%rbp)
jne 0x232a
movq -0x18(%rbp), %rdi
callq 0x1030
movq $0x0, -0x8(%rbp)
jmp 0x23d8
jmp 0x232c
movq -0x428(%rbp), %rdi
callq 0x10f0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2346
jmp 0x23c4
movq -0x428(%rbp), %rdi
leaq -0x420(%rbp), %r8
leaq 0x6e0e(%rip), %rsi      # 0x9169
leaq -0x1c(%rbp), %rdx
leaq -0x20(%rbp), %rcx
movb $0x0, %al
callq 0x1050
leaq -0x420(%rbp), %rdi
callq 0x1070
movq %rax, %rdi
addq $0x1, %rdi
callq 0x1130
movq %rax, %rdx
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x78, %rcx, %rcx
addq %rcx, %rax
movslq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x78, %rcx, %rcx
addq %rcx, %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq -0x420(%rbp), %rsi
callq 0x1040
jmp 0x232c
movq -0x428(%rbp), %rdi
callq 0x1060
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x430, %rsp            # imm = 0x430
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: inventory_destroy
void inventory_destroy(Inventory *inv){
	int i=0;
	if(inv){
	    if(inv->inv){
	        for(i=0;inv->inv[i];i++){
	            object_destroy(inv->inv[i]);
	        }
	        free(inv->inv);
	    }
	free(inv);
	}
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2461
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2458
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x244c
movq -0x8(%rbp), %rax
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4810
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x241b
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rdi
callq 0x1030
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: inventory_erase
int inventory_erase(Inventory *in, int oId){
	int i;
	if(!in || oId<0)return -1;
	for(i=oId; i<in->max && in->inv[i]!=NULL;i++){
	    if(in->inv[i]) object_destroy(in->inv[i]);
		if(in->inv[i+1] && i+1!=in->max){
			in->inv[i] = object_copy(in->inv[i+1]);
		}
		else{
			break;
		}
	}
	in->max--;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x27bc
cmpl $0x0, -0x14(%rbp)
jge 0x27c8
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x28a0
movl -0x14(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rdx
xorl %eax, %eax
cmpl 0x8(%rdx), %ecx
movb %al, -0x19(%rbp)
jge 0x27f5
movq -0x10(%rbp), %rax
movq (%rax), %rax
movslq -0x18(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
setne %al
movb %al, -0x19(%rbp)
movb -0x19(%rbp), %al
testb $0x1, %al
jne 0x2801
jmp 0x288c
movq -0x10(%rbp), %rax
movq (%rax), %rax
movslq -0x18(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2827
movq -0x10(%rbp), %rax
movq (%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4810
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl -0x18(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x287a
movl -0x18(%rbp), %eax
addl $0x1, %eax
movq -0x10(%rbp), %rcx
cmpl 0x8(%rcx), %eax
je 0x287a
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl -0x18(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4f00
movq %rax, %rdx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movslq -0x18(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x287c
jmp 0x288c
jmp 0x287e
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x27ce
movq -0x10(%rbp), %rax
movl 0x8(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x8(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: inventory_insert
Inventory* inventory_insert(Inventory* inv, Object *o){
	if(!inv || !o)return NULL;

	inv->inv[inv->max]=object_copy(o);
	inv->max++;
	return inv;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x293e
cmpq $0x0, -0x18(%rbp)
jne 0x2948
movq $0x0, -0x8(%rbp)
jmp 0x297c
movq -0x18(%rbp), %rdi
callq 0x4f00
movq %rax, %rdx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rcx
movslq 0x8(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: mobjects_destroy
void mobjects_destroy(Mobjects *m){
    int i=0,j=0;
    if(m){
        if(m->objs){
            while(i<MAX_PLC){
                j = 0;
                while(j<MAX_OBJ){
                    if(m->objs[i][j]) object_destroy(m->objs[i][j]);
                    else if(j == 0) goto freetag;
                    else break;
                    j++;
                }
                i++;
            }
        }
    }
    freetag:free(m);
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2a6c
movq -0x8(%rbp), %rax
cmpq $0x0, %rax
je 0x2a6a
jmp 0x29fd
cmpl $0x1a, -0xc(%rbp)
jge 0x2a68
movl $0x0, -0x10(%rbp)
cmpl $0xa, -0x10(%rbp)
jge 0x2a5d
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x10(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x2a48
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4810
jmp 0x2a52
cmpl $0x0, -0x10(%rbp)
jne 0x2a50
jmp 0x2a6e
jmp 0x2a5d
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x2a0a
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x29fd
jmp 0x2a6a
jmp 0x2a6c
jmp 0x2a6e
movq -0x8(%rbp), %rdi
callq 0x1030
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: mobjects_insert
int mobjects_insert(Mobjects *m, Object *o){
	int i,roomid;
	if(!m || !o)return -1;
	roomid=object_getRoomId(o);
	for(i=0; m->objs[roomid][i]!=NULL && i<MAX_OBJ;i++);
	if(i<MAX_OBJ){
	    m->objs[roomid][i]=object_copy(o);
	    return 1;
	}
	else return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2dce
cmpq $0x0, -0x18(%rbp)
jne 0x2dda
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x2e66
movq -0x18(%rbp), %rdi
callq 0x4c70
cwtl
movl %eax, -0x20(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rcx
movslq -0x20(%rbp), %rax
imulq $0x50, %rax, %rax
addq %rax, %rcx
movslq -0x1c(%rbp), %rdx
xorl %eax, %eax
cmpq $0x0, (%rcx,%rdx,8)
movb %al, -0x21(%rbp)
je 0x2e17
cmpl $0xa, -0x1c(%rbp)
setl %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x2e20
jmp 0x2e2d
jmp 0x2e22
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x2dee
cmpl $0xa, -0x1c(%rbp)
jge 0x2e5f
movq -0x18(%rbp), %rdi
callq 0x4f00
movq %rax, %rdx
movq -0x10(%rbp), %rax
movslq -0x20(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl $0x1, -0x4(%rbp)
jmp 0x2e66
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: mobjects_search
int mobjects_search(Mobjects *m, int roomid, int opx, int opy){
	int mid,mpx,mpy;
	int i=0;
	if(roomid < 0 || roomid > MAX_PLC || opx < 0 || opx > XLIMIT || opy < 0 || opy > YLIMIT || !m) return -1;
	while(i<MAX_OBJ || m->objs[roomid][i]){
		mid=object_getRoomId(m->objs[roomid][i]);
		mpx=object_getPx(m->objs[roomid][i]);
		mpy=object_getPy(m->objs[roomid][i]);
		if((roomid==mid && opx==mpx+1 && opy==mpy)||(roomid==mid && opx==mpx-1 && opy==mpy)||(roomid==mid && opx==mpx && opy==mpy+1)||(roomid==mid && opx==mpx && opy==mpy-1)){
			return i;
		}
		i++;
	}
		return -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl $0x0, -0x2c(%rbp)
cmpl $0x0, -0x14(%rbp)
jl 0x2eb7
cmpl $0x1a, -0x14(%rbp)
jg 0x2eb7
cmpl $0x0, -0x18(%rbp)
jl 0x2eb7
cmpl $0x50, -0x18(%rbp)
jg 0x2eb7
cmpl $0x0, -0x1c(%rbp)
jl 0x2eb7
cmpl $0x24, -0x1c(%rbp)
jg 0x2eb7
cmpq $0x0, -0x10(%rbp)
jne 0x2ec3
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x2fe9
jmp 0x2ec5
movb $0x1, %al
cmpl $0xa, -0x2c(%rbp)
movb %al, -0x2d(%rbp)
jl 0x2eee
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x2c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
setne %al
movb %al, -0x2d(%rbp)
movb -0x2d(%rbp), %al
testb $0x1, %al
jne 0x2efa
jmp 0x2fe2
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4c70
cwtl
movl %eax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4cb0
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4ce0
movl %eax, -0x28(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x20(%rbp), %eax
jne 0x2f75
movl -0x18(%rbp), %eax
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
jne 0x2f75
movl -0x1c(%rbp), %eax
cmpl -0x28(%rbp), %eax
je 0x2fcc
movl -0x14(%rbp), %eax
cmpl -0x20(%rbp), %eax
jne 0x2f92
movl -0x18(%rbp), %eax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x2f92
movl -0x1c(%rbp), %eax
cmpl -0x28(%rbp), %eax
je 0x2fcc
movl -0x14(%rbp), %eax
cmpl -0x20(%rbp), %eax
jne 0x2faf
movl -0x18(%rbp), %eax
cmpl -0x24(%rbp), %eax
jne 0x2faf
movl -0x1c(%rbp), %eax
movl -0x28(%rbp), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
je 0x2fcc
movl -0x14(%rbp), %eax
cmpl -0x20(%rbp), %eax
jne 0x2fd4
movl -0x18(%rbp), %eax
cmpl -0x24(%rbp), %eax
jne 0x2fd4
movl -0x1c(%rbp), %eax
movl -0x28(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x2fd4
movl -0x2c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x2fe9
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2ec5
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: mobjects_erase
Mobjects* mobjects_erase(Mobjects *m, int roomid, int id){
	int i=0;

	if(roomid < 0 || roomid > MAX_PLC || !m) return NULL;
	for(i=id; m->objs[roomid][i];i++){
			if(m->objs[roomid][i]) object_destroy(m->objs[roomid][i]);
		if(m->objs[roomid][i+1]){
			m->objs[roomid][i] = object_copy(m->objs[roomid][i+1]);
		}
		else{
			break;
		}
	}
	m->objs[roomid][i]=NULL;
	return m;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
cmpl $0x0, -0x14(%rbp)
jl 0x307c
cmpl $0x1a, -0x14(%rbp)
jg 0x307c
cmpq $0x0, -0x10(%rbp)
jne 0x3089
movq $0x0, -0x8(%rbp)
jmp 0x3174
movl -0x18(%rbp), %eax
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x1c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x3151
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x1c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x30e3
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4810
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movl -0x1c(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x313f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movl -0x1c(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4f00
movq %rax, %rdx
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x1c(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x3141
jmp 0x3151
jmp 0x3143
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x308f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movslq -0x1c(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: map_destroy
void map_destroy(Map *m){
	int i=0;
	if(m){
	    if(m->map){
	        for(i=0;m->map[i];i++){
	            place_destroy(m->map[i]);
	        }
	        free(m->map);
	    }
	free(m);
	}
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x31f1
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x31e8
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x31dc
movq -0x8(%rbp), %rax
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5090
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x31ab
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rdi
callq 0x1030
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: meeting_destroy
void meeting_destroy(Meeting *d){
    int i=0,j=0;
    if(d){
        while(i<MAX_MET){
            j = 0;
            while(j<MAX_Q){
                if(d->meet[i][j]) free(d->meet[i][j]);
                else if(j == 0) goto freetag;
                else break;
                j++;
            }
            i++;
        }
    }
    freetag:free(d);
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x3570
jmp 0x3503
cmpl $0x5, -0xc(%rbp)
jge 0x356e
movl $0x0, -0x10(%rbp)
cmpl $0x3, -0x10(%rbp)
jge 0x3563
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movslq -0x10(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x354e
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1030
jmp 0x3558
cmpl $0x0, -0x10(%rbp)
jne 0x3556
jmp 0x3572
jmp 0x3563
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x3510
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3503
jmp 0x3570
jmp 0x3572
movq -0x8(%rbp), %rdi
callq 0x1030
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: meeting_load
Meeting* meeting_load(char* filename){
	Meeting *d;
	int meet=0,q=0;
	short solution=0;
	char buff[512];
	FILE *in;

	if(!filename) return NULL;

	d=(Meeting*)malloc(sizeof(Meeting));
	if(!d) return NULL;

	in = (FILE*) fopen(filename, "r");
	if(!in){
		free(d);
		return NULL;
	}

	while(!feof(in)){
		fscanf(in,"%hd\t%d\t%d\t%[^\n]",&solution,&meet,&q,buff);
		d->meet[meet][q]=(char*)malloc(strlen(buff)+1);
    strcpy(d->meet[meet][q],buff);
		d->solution[meet][q]=solution;
	}

	fclose(in);
	return d;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movw $0x0, -0x22(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x35c7
movq $0x0, -0x8(%rbp)
jmp 0x36f4
movl $0x98, %edi
callq 0x1130
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x35e9
movq $0x0, -0x8(%rbp)
jmp 0x36f4
movq -0x10(%rbp), %rdi
leaq 0x5a3e(%rip), %rsi      # 0x9032
callq 0x1190
movq %rax, -0x238(%rbp)
cmpq $0x0, -0x238(%rbp)
jne 0x3620
movq -0x18(%rbp), %rdi
callq 0x1030
movq $0x0, -0x8(%rbp)
jmp 0x36f4
jmp 0x3622
movq -0x238(%rbp), %rdi
callq 0x10f0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x363f
jmp 0x36e0
movq -0x238(%rbp), %rdi
leaq -0x230(%rbp), %r9
leaq 0x5b21(%rip), %rsi      # 0x9175
leaq -0x22(%rbp), %rdx
leaq -0x1c(%rbp), %rcx
leaq -0x20(%rbp), %r8
movb $0x0, %al
callq 0x1050
leaq -0x230(%rbp), %rdi
callq 0x1070
movq %rax, %rdi
addq $0x1, %rdi
callq 0x1130
movq %rax, %rdx
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movslq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq -0x230(%rbp), %rsi
callq 0x1040
movw -0x22(%rbp), %dx
movq -0x18(%rbp), %rax
addq $0x78, %rax
movslq -0x1c(%rbp), %rcx
imulq $0x6, %rcx, %rcx
addq %rcx, %rax
movslq -0x20(%rbp), %rcx
movw %dx, (%rax,%rcx,2)
jmp 0x3622
movq -0x238(%rbp), %rdi
callq 0x1060
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: bg_move
int bg_move(Player *c, int x, int y, Map *map,char*desc){
	int room;
	if(!c || !map)return -1;
	room = player_get_room(c);
	if(x<2) return bg_changeRoom(c,LEFT,room,map,desc);
	if (y>YLIMIT) return bg_changeRoom (c,DOWN,room,map,desc);
	if (x>XLIMIT) return bg_changeRoom (c,RIGHT,room,map,desc);
	if (y<0) return bg_changeRoom (c,UP,room,map,desc);
	if(place_blankSpace(map->map[room], x, y)==1){
			c=player_move(c, x, y);
			return B_MOVE;
	}
	return B_NOTHING;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x3738
cmpq $0x0, -0x20(%rbp)
jne 0x3744
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3827
movq -0x10(%rbp), %rdi
callq 0x58e0
movl %eax, -0x2c(%rbp)
cmpl $0x2, -0x14(%rbp)
jge 0x3777
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %edx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
movl $0x1, %esi
callq 0x3830
movl %eax, -0x4(%rbp)
jmp 0x3827
cmpl $0x24, -0x18(%rbp)
jle 0x379e
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %edx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
movl $0x2, %esi
callq 0x3830
movl %eax, -0x4(%rbp)
jmp 0x3827
cmpl $0x50, -0x14(%rbp)
jle 0x37c2
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %edx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
movl $0x3, %esi
callq 0x3830
movl %eax, -0x4(%rbp)
jmp 0x3827
cmpl $0x0, -0x18(%rbp)
jge 0x37e3
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %edx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
xorl %esi, %esi
callq 0x3830
movl %eax, -0x4(%rbp)
jmp 0x3827
movq -0x20(%rbp), %rax
movq (%rax), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movl -0x14(%rbp), %esi
movl -0x18(%rbp), %edx
callq 0x5770
cmpl $0x1, %eax
jne 0x3820
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
movl -0x18(%rbp), %edx
movb $0x0, %al
callq 0x5860
movq %rax, -0x10(%rbp)
movl $0x1, -0x4(%rbp)
jmp 0x3827
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: bg_checkDanger
short bg_checkDanger(Map* map, Player *c, Stat *s){
    int statStars, roomStars;
    if (!map || !c || !s) return -1;
    statStars = stat_get_stars(s);
    roomStars = place_getStars(map->map[player_get_room(c)]);
    if(statStars == -1 || roomStars == -1) return -1;
		if(statStars >= roomStars) return 1;
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x3db9
cmpq $0x0, -0x18(%rbp)
je 0x3db9
cmpq $0x0, -0x20(%rbp)
jne 0x3dc1
movw $0xffff, -0x2(%rbp)     # imm = 0xFFFF
jmp 0x3e20
movq -0x20(%rbp), %rdi
callq 0x6410
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rdi
callq 0x58e0
movl %eax, %ecx
movq -0x30(%rbp), %rax
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5490
movl %eax, -0x28(%rbp)
cmpl $-0x1, -0x24(%rbp)
je 0x3e02
cmpl $-0x1, -0x28(%rbp)
jne 0x3e0a
movw $0xffff, -0x2(%rbp)     # imm = 0xFFFF
jmp 0x3e20
movl -0x24(%rbp), %eax
cmpl -0x28(%rbp), %eax
jl 0x3e1a
movw $0x1, -0x2(%rbp)
jmp 0x3e20
movw $0x0, -0x2(%rbp)
movw -0x2(%rbp), %ax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: bg_box
int bg_box(Inventory* in,Player *c, Map *m, Stat*s,int oId) {
    if(!in || !c || !m) return -1;

    if(place_getLeaveBox(m->map[player_get_room(c)])==1 && place_getLeftBox(m->map[player_get_room(c)])==0 ){
        inventory_erase(in,oId);
        stat_add_motivation(s,BOX_MOTIVATION);
				place_setLeftBox(m->map[player_get_room(c)],1);
        return 1;
    }

    else if(place_getLeaveBox(m->map[player_get_room(c)])==1)return 2;
    else return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movl %r8d, -0x2c(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x4071
cmpq $0x0, -0x18(%rbp)
je 0x4071
cmpq $0x0, -0x20(%rbp)
jne 0x407d
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x415f
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
callq 0x58e0
movl %eax, %ecx
movq -0x38(%rbp), %rax
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5430
cwtl
cmpl $0x1, %eax
jne 0x4123
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rdi
callq 0x58e0
movl %eax, %ecx
movq -0x40(%rbp), %rax
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5460
cwtl
cmpl $0x0, %eax
jne 0x4123
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %esi
callq 0x27a0
movq -0x28(%rbp), %rdi
movl $0xfa, %esi
callq 0x60a0
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rdi
callq 0x58e0
movl %eax, %ecx
movq -0x48(%rbp), %rax
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
movl $0x1, %esi
callq 0x51a0
movl $0x1, -0x4(%rbp)
jmp 0x415f
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rdi
callq 0x58e0
movl %eax, %ecx
movq -0x50(%rbp), %rax
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5430
cwtl
cmpl $0x1, %eax
jne 0x4158
movl $0x2, -0x4(%rbp)
jmp 0x415f
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: bg_use
int bg_use(Inventory* in, Stat *s, int oId, char* name, int*id){
	Object* o;
	int us,nchaos,ndanger,nmot,nmoney,objectId;
	if(!in || !s || oId<0 || oId>MAX_INV)return -1;
	if(oId >= in->max) return 0;
	o=inventory_get(in,oId);
	if(!o)return 0;
	if(object_getId(o)==ID_BOX){
		return B_BOX;
	}
	us=object_getUses(o);
	if(us==0)return 0;
	object_setUses(o, us-1);
	nchaos=object_getChaos(o);
	if(nchaos!=0){
		stat_add_chaos(s,nchaos);
	}
	ndanger=object_getDanger(o);
	if(ndanger!=0){
		stat_add_nodanger(s,ndanger);
	}
	nmot=object_getMotivation(o);
	if(nmot!=0){
		stat_add_motivation(s,nmot);
	}
	nmoney=object_getMoney(o);
	if(nmoney!=0){
		stat_add_money(s,nmoney);
	}
	us--;
	strcpy(name,object_getName(o));
	*id = object_getId(o);
	if(us==0){
		inventory_erase(in, oId);
	}
	return 1;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x41a5
cmpq $0x0, -0x18(%rbp)
je 0x41a5
cmpl $0x0, -0x1c(%rbp)
jl 0x41a5
cmpl $0xa, -0x1c(%rbp)
jle 0x41b1
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x42fb
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x8(%rcx), %eax
jl 0x41c9
movl $0x0, -0x4(%rbp)
jmp 0x42fb
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x28e0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x41ec
movl $0x0, -0x4(%rbp)
jmp 0x42fb
movq -0x38(%rbp), %rdi
callq 0x4c40
cmpl $0x0, %eax
jne 0x4206
movl $0x6, -0x4(%rbp)
jmp 0x42fb
movq -0x38(%rbp), %rdi
callq 0x4e10
movl %eax, -0x3c(%rbp)
cmpl $0x0, -0x3c(%rbp)
jne 0x4224
movl $0x0, -0x4(%rbp)
jmp 0x42fb
movq -0x38(%rbp), %rdi
movl -0x3c(%rbp), %esi
subl $0x1, %esi
callq 0x4ac0
movq -0x38(%rbp), %rdi
callq 0x4ea0
movl %eax, -0x40(%rbp)
cmpl $0x0, -0x40(%rbp)
je 0x4251
movq -0x18(%rbp), %rdi
movl -0x40(%rbp), %esi
callq 0x6150
movq -0x38(%rbp), %rdi
callq 0x4e70
movl %eax, -0x44(%rbp)
cmpl $0x0, -0x44(%rbp)
je 0x426f
movq -0x18(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0x6330
movq -0x38(%rbp), %rdi
callq 0x4e40
movl %eax, -0x48(%rbp)
cmpl $0x0, -0x48(%rbp)
je 0x428d
movq -0x18(%rbp), %rdi
movl -0x48(%rbp), %esi
callq 0x60a0
movq -0x38(%rbp), %rdi
callq 0x4ed0
movl %eax, -0x4c(%rbp)
cmpl $0x0, -0x4c(%rbp)
je 0x42ab
movq -0x18(%rbp), %rdi
movl -0x4c(%rbp), %esi
callq 0x62c0
movl -0x3c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x3c(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x38(%rbp), %rdi
callq 0x4c00
movq -0x58(%rbp), %rdi
movq %rax, %rsi
callq 0x1040
movq -0x38(%rbp), %rdi
callq 0x4c40
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, (%rax)
cmpl $0x0, -0x3c(%rbp)
jne 0x42f4
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x27a0
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: bg_buy
short bg_buy(Inventory*shop, Inventory *in, Stat *s, int id, char* name){
	Object *o;
	int price;
	if(!shop || !in || !s || id<0 || id > MAX_INV) return -1;
	if(inventory_full(in)) return B_FULL;
	o=inventory_get(shop, id);
	if(!o)return -1;
	price = -object_getMoney(o);
	if(stat_get_money(s)<(-price)){
	    return 0;
	}
	stat_add_money(s,price);
	object_setMoney(o,0);
	strcpy(name,object_getName(o));
	if((inventory_insert(in, o))==NULL)return-1;
	inventory_erase(shop,id);
	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movq %r8, -0x30(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x434c
cmpq $0x0, -0x18(%rbp)
je 0x434c
cmpq $0x0, -0x20(%rbp)
je 0x434c
cmpl $0x0, -0x24(%rbp)
jl 0x434c
cmpl $0xa, -0x24(%rbp)
jle 0x4357
movw $0xffff, -0x2(%rbp)     # imm = 0xFFFF
jmp 0x4420
movq -0x18(%rbp), %rdi
callq 0x2990
cmpw $0x0, %ax
je 0x4371
movw $0xb, -0x2(%rbp)
jmp 0x4420
movq -0x10(%rbp), %rdi
movl -0x24(%rbp), %esi
callq 0x28e0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x4393
movw $0xffff, -0x2(%rbp)     # imm = 0xFFFF
jmp 0x4420
movq -0x38(%rbp), %rdi
callq 0x4ed0
movl %eax, %ecx
xorl %eax, %eax
subl %ecx, %eax
movl %eax, -0x3c(%rbp)
movq -0x20(%rbp), %rdi
callq 0x6300
xorl %ecx, %ecx
subl -0x3c(%rbp), %ecx
cmpl %ecx, %eax
jge 0x43bf
movw $0x0, -0x2(%rbp)
jmp 0x4420
movq -0x20(%rbp), %rdi
movl -0x3c(%rbp), %esi
callq 0x62c0
movq -0x38(%rbp), %rdi
xorl %esi, %esi
callq 0x4bc0
movq -0x30(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rdi
callq 0x4c00
movq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x1040
movq -0x18(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x2920
cmpq $0x0, %rax
jne 0x440e
movw $0xffff, -0x2(%rbp)     # imm = 0xFFFF
jmp 0x4420
movq -0x10(%rbp), %rdi
movl -0x24(%rbp), %esi
callq 0x27a0
movw $0x1, -0x2(%rbp)
movw -0x2(%rbp), %ax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/background.c
// Function: bg_talk
int bg_talk(Dialogs *d, Player *c, Mobjects *m, char*dialog, char*name){
    Object *npc;
    int npcid, uses, oid, roomid, px, py;
	if(!m || !d )return -1;

	roomid=player_get_room(c);
	px=player_get_px(c);
	py=player_get_py(c);

    oid = mobjects_search(m,roomid,px,py);

    if(oid==-1) return 0;

	npc = mobjects_get(m,roomid,oid);

	if(object_getNPC(npc)!=1)return -1;
	strcpy(name,object_getName(npc));
  npcid = object_getId(npc);
  uses = object_getUses(npc);
	strcpy(dialog,d->dlgs[npcid][uses]);
	if(uses>0)object_setUses(npc,uses-1);

	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x445a
cmpq $0x0, -0x10(%rbp)
jne 0x4466
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4551
movq -0x18(%rbp), %rdi
callq 0x58e0
movl %eax, -0x48(%rbp)
movq -0x18(%rbp), %rdi
movb $0x0, %al
callq 0x5910
movl %eax, -0x4c(%rbp)
movq -0x18(%rbp), %rdi
movb $0x0, %al
callq 0x5940
movl %eax, -0x50(%rbp)
movq -0x20(%rbp), %rdi
movl -0x48(%rbp), %esi
movl -0x4c(%rbp), %edx
movl -0x50(%rbp), %ecx
callq 0x2e70
movl %eax, -0x44(%rbp)
cmpl $-0x1, -0x44(%rbp)
jne 0x44b5
movl $0x0, -0x4(%rbp)
jmp 0x4551
movq -0x20(%rbp), %rdi
movl -0x48(%rbp), %esi
movl -0x44(%rbp), %edx
callq 0x3000
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0x4d10
cwtl
cmpl $0x1, %eax
je 0x44e0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4551
movq -0x30(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x38(%rbp), %rdi
callq 0x4c00
movq -0x58(%rbp), %rdi
movq %rax, %rsi
callq 0x1040
movq -0x38(%rbp), %rdi
callq 0x4c40
movl %eax, -0x3c(%rbp)
movq -0x38(%rbp), %rdi
callq 0x4e10
movl %eax, -0x40(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
imulq $0x78, %rcx, %rcx
addq %rcx, %rax
movslq -0x40(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x1040
cmpl $0x0, -0x40(%rbp)
jle 0x454a
movq -0x38(%rbp), %rdi
movl -0x40(%rbp), %esi
subl $0x1, %esi
callq 0x4ac0
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_ini
Object* object_ini(){
  Object *O;

  O=(Object*)malloc(sizeof(Object));
  if(!O)return NULL;
  O->name=(char*)malloc(256*sizeof(char));
  if(O->name==NULL){
    free(O);
    return NULL;
  }
  O->id=0;
	O->roomid=0;
	O->px=0;
	O->py=0;
	O->npc=0;
  O->meeting=0;
  O->ispick=0;
  O->onoff=0;
	O->uses=0;
	O->motivation=0;
	O->danger=0;
	O->chaos=0;
	O->money=0;


  return O;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x38, %edi
callq 0x1130
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x473a
movq $0x0, -0x8(%rbp)
jmp 0x4800
movl $0x100, %edi            # imm = 0x100
callq 0x1130
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x476e
movq -0x10(%rbp), %rdi
callq 0x1030
movq $0x0, -0x8(%rbp)
jmp 0x4800
movq -0x10(%rbp), %rax
movl $0x0, 0x8(%rax)
movq -0x10(%rbp), %rax
movw $0x0, 0xc(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x10(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x14(%rax)
movq -0x10(%rbp), %rax
movw $0x0, 0x18(%rax)
movq -0x10(%rbp), %rax
movw $0x0, 0x1e(%rax)
movq -0x10(%rbp), %rax
movw $0x0, 0x1a(%rax)
movq -0x10(%rbp), %rax
movw $0x0, 0x1c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x20(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x24(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x28(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x2c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x30(%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_destroy
void object_destroy(Object *O){
  if(O){
  if(O->name) free(O->name);
  free(O);
  }
  O = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x4842
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x4839
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x1030
movq -0x8(%rbp), %rdi
callq 0x1030
movq $0x0, -0x8(%rbp)
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_setPosition
Object* object_setPosition(Object *O, int px, int py){
  if(!O ||  px<0 || py<0)return NULL;

  O->px=px;
  O->py=py;

  return O;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x4951
cmpl $0x0, -0x14(%rbp)
jl 0x4951
cmpl $0x0, -0x18(%rbp)
jge 0x495b
movq $0x0, -0x8(%rbp)
jmp 0x4977
movl -0x14(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x10(%rax)
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getName
char* object_getName(Object *O){
  char *name;
  if(!O)return NULL;

  name=O->name;

  return name;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4c19
movq $0x0, -0x8(%rbp)
jmp 0x4c2c
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getId
int object_getId(Object *O){
  int id;
  if(!O)return -1;

  id=O->id;

  return id;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4c58
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4c68
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getRoomId
short object_getRoomId(Object *O){
  short roomid;
  if(!O)return -1;

  roomid=O->roomid;

  return roomid;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4c87
movw $0xffff, -0x2(%rbp)     # imm = 0xFFFF
jmp 0x4c9b
movq -0x10(%rbp), %rax
movw 0xc(%rax), %ax
movw %ax, -0x12(%rbp)
movw -0x12(%rbp), %ax
movw %ax, -0x2(%rbp)
movw -0x2(%rbp), %ax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getPx
int object_getPx(Object *O){
  int px;
  if(!O)return -1;

  px=O->px;

  return px;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4cc8
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4cd8
movq -0x10(%rbp), %rax
movl 0x10(%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getPy
int object_getPy(Object *O){
  int py;
  if(!O)return -1;

  py=O->py;

  return py;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4cf8
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4d08
movq -0x10(%rbp), %rax
movl 0x14(%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getNPC
short object_getNPC(Object *O){
  short npc;
  if(!O)return -1;

  npc=O->npc;

  return npc;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4d27
movw $0xffff, -0x2(%rbp)     # imm = 0xFFFF
jmp 0x4d3b
movq -0x10(%rbp), %rax
movw 0x18(%rax), %ax
movw %ax, -0x12(%rbp)
movw -0x12(%rbp), %ax
movw %ax, -0x2(%rbp)
movw -0x2(%rbp), %ax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getMeeting
short object_getMeeting(Object *O){
  short meeting;
  if(!O)return -1;

  meeting=O->meeting;

  return meeting;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4d67
movw $0xffff, -0x2(%rbp)     # imm = 0xFFFF
jmp 0x4d7b
movq -0x10(%rbp), %rax
movw 0x1e(%rax), %ax
movw %ax, -0x12(%rbp)
movw -0x12(%rbp), %ax
movw %ax, -0x2(%rbp)
movw -0x2(%rbp), %ax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getIsPick
short object_getIsPick(Object *O){
  short ispick;
  if(!O)return -1;

  ispick=O->ispick;

  return ispick;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4da7
movw $0xffff, -0x2(%rbp)     # imm = 0xFFFF
jmp 0x4dbb
movq -0x10(%rbp), %rax
movw 0x1a(%rax), %ax
movw %ax, -0x12(%rbp)
movw -0x12(%rbp), %ax
movw %ax, -0x2(%rbp)
movw -0x2(%rbp), %ax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getOnOff
short object_getOnOff(Object *O){
  short onoff;
  if(!O)return -1;

  onoff=O->onoff;

  return onoff;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4de7
movw $0xffff, -0x2(%rbp)     # imm = 0xFFFF
jmp 0x4dfb
movq -0x10(%rbp), %rax
movw 0x1c(%rax), %ax
movw %ax, -0x12(%rbp)
movw -0x12(%rbp), %ax
movw %ax, -0x2(%rbp)
movw -0x2(%rbp), %ax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getUses
int object_getUses(Object *O){
  int uses;
  if(!O)return -2; /*Returning -1 would mean it is of infinite uses*/

  uses=O->uses;

  return uses;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4e28
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x4e38
movq -0x10(%rbp), %rax
movl 0x20(%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getMotivation
int object_getMotivation(Object *O){
  int motivation;
  if(!O)return -1;

  motivation=O->motivation;

  return motivation;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4e58
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4e68
movq -0x10(%rbp), %rax
movl 0x24(%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getDanger
int object_getDanger(Object *O){
  int danger;
  if(!O)return -1;

  danger=O->danger;

  return danger;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4e88
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4e98
movq -0x10(%rbp), %rax
movl 0x28(%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getChaos
int object_getChaos(Object *O){
  int chaos;
  if(!O)return -1;

  chaos=O->chaos;

  return chaos;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4eb8
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4ec8
movq -0x10(%rbp), %rax
movl 0x2c(%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_getMoney
int object_getMoney(Object *O){
  int money;
  if(!O)return -1;

  money=O->money;

  return money;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x4ee8
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4ef8
movq -0x10(%rbp), %rax
movl 0x30(%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/object.c
// Function: object_copy
Object* object_copy(Object *O){
  Object *O2;

  O2=object_ini();
  if(!O2)return NULL;

  strcpy(O2->name,O->name);
  O2->id=O->id;
  O2->roomid=O->roomid;
  O2->px=O->px;
  O2->py=O->py;
	O2->npc=O->npc;
  O2->meeting=O->meeting;
  O2->ispick=O->ispick;
  O2->onoff=O->onoff;
	O2->uses=O->uses;
	O2->motivation=O->motivation;
	O2->danger=O->danger;
	O2->chaos=O->chaos;
	O2->money=O->money;

  return O2;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
callq 0x4710
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x4f29
movq $0x0, -0x8(%rbp)
jmp 0x5004
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0x1040
movq -0x10(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x10(%rbp), %rax
movw 0xc(%rax), %cx
movq -0x18(%rbp), %rax
movw %cx, 0xc(%rax)
movq -0x10(%rbp), %rax
movl 0x10(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x10(%rbp), %rax
movl 0x14(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x10(%rbp), %rax
movw 0x18(%rax), %cx
movq -0x18(%rbp), %rax
movw %cx, 0x18(%rax)
movq -0x10(%rbp), %rax
movw 0x1e(%rax), %cx
movq -0x18(%rbp), %rax
movw %cx, 0x1e(%rax)
movq -0x10(%rbp), %rax
movw 0x1a(%rax), %cx
movq -0x18(%rbp), %rax
movw %cx, 0x1a(%rax)
movq -0x10(%rbp), %rax
movw 0x1c(%rax), %cx
movq -0x18(%rbp), %rax
movw %cx, 0x1c(%rax)
movq -0x10(%rbp), %rax
movl 0x20(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x20(%rax)
movq -0x10(%rbp), %rax
movl 0x24(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x24(%rax)
movq -0x10(%rbp), %rax
movl 0x28(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x28(%rax)
movq -0x10(%rbp), %rax
movl 0x2c(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x2c(%rax)
movq -0x10(%rbp), %rax
movl 0x30(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x30(%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/places.c
// Function: place_ini
Place* place_ini (){
	Place *p;
	p = (Place*) malloc(sizeof(Place));
	if (!p) return NULL;
	p->is_locked = 0;
	p->stars=0;
	p->up=-1;
	p->down=-1;
	p->left=-1;
	p->right=-1;
	return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x11cc, %edi           # imm = 0x11CC
callq 0x1130
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x5037
movq $0x0, -0x8(%rbp)
jmp 0x5080
movq -0x10(%rbp), %rax
movw $0x0, 0x4(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xc(%rax)
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x10(%rax) # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x14(%rax) # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x18(%rax) # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x1c(%rax) # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/places.c
// Function: place_copy
Place* place_copy (Place *src){
	Place *p;
	if (!src) return NULL;
	p = place_ini();
	if (!p) return NULL;
	p->placeID = src->placeID;
	p->is_locked = src->is_locked;
	p->stars = src->stars;
	p->leavebox = src -> leavebox;
	p->leftbox = src -> leftbox;
	p->up = src->up;
	p->down = src->down;
	p->left = src->left;
	p->right = src->right;

	strcpy(p->draw,src->draw);
	strcpy(p->desc,src->desc);
	return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x5600
movq $0x0, -0x8(%rbp)
jmp 0x56d7
callq 0x5010
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x561d
movq $0x0, -0x8(%rbp)
jmp 0x56d7
movq -0x10(%rbp), %rax
movl (%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rax
movw 0x4(%rax), %cx
movq -0x18(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x10(%rbp), %rax
movl 0xc(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x10(%rbp), %rax
movw 0x6(%rax), %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movq -0x10(%rbp), %rax
movw 0x8(%rax), %cx
movq -0x18(%rbp), %rax
movw %cx, 0x8(%rax)
movq -0x10(%rbp), %rax
movl 0x10(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x10(%rbp), %rax
movl 0x14(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x10(%rbp), %rax
movl 0x18(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x10(%rbp), %rax
movl 0x1c(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1c(%rax)
movq -0x18(%rbp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq -0x10(%rbp), %rsi
addq $0x420, %rsi            # imm = 0x420
callq 0x1040
movq -0x18(%rbp), %rdi
addq $0x20, %rdi
movq -0x10(%rbp), %rsi
addq $0x20, %rsi
callq 0x1040
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/places.c
// Function: place_drawchar
Place* place_drawchar(Place* p, int x, int y, char c){
	if (!p || x<0 || y<0) return NULL;
  if((y*ROWSPCOL+x-2)<2) return p;
	p->draw[y * ROWSPCOL + x - 2] = c;
	return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %cl, %al
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movb %al, -0x19(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x5716
cmpl $0x0, -0x14(%rbp)
jl 0x5716
cmpl $0x0, -0x18(%rbp)
jge 0x5720
movq $0x0, -0x8(%rbp)
jmp 0x575c
imull $0x50, -0x18(%rbp), %eax
addl -0x14(%rbp), %eax
subl $0x2, %eax
cmpl $0x2, %eax
jge 0x5739
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x575c
movb -0x19(%rbp), %dl
movq -0x10(%rbp), %rax
imull $0x50, -0x18(%rbp), %ecx
addl -0x14(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movb %dl, 0x420(%rax,%rcx)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/rafa9811[P]theIndiependenceGame/player.c
// Function: player_ini
Player* player_ini(){
	Player *c;
	c = (Player*) malloc(sizeof(Player));
	if(!c) return NULL;
	c->px = INIX;
	c->py = INIY;
	c->room_id = INIROOM;
	return c;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0xc, %edi
callq 0x1130
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x57f7
movq $0x0, -0x8(%rbp)
jmp 0x581f
movq -0x10(%rbp), %rax
movl $0x46, (%rax)
movq -0x10(%rbp), %rax
movl $0x14, 0x4(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x8(%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)