LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: uninitengine
void uninitengine(void)
{
	int i;

	//buildprintf("cacheresets = %d, cacheinvalidates = %d\n", cacheresets, cacheinvalidates);

#if USE_POLYMOST && USE_OPENGL
	polymost_glreset();
	PTClear();
	PTCacheUnloadIndex();
	hicinit();
	freeallmodels();
#endif

	uninitsystem();

	if (logfile) Bfclose(logfile);
	logfile = NULL;

	if (artfil != -1) kclose(artfil);

	if (transluc != NULL) { kfree(transluc); transluc = NULL; }
	if (pic != NULL) { kfree(pic); pic = NULL; }
	if (lookups != NULL) { kfree(lookups); lookups = NULL; }
	for(i=0;i<MAXPALOOKUPS;i++)
		if (palookup[i] != NULL) { kfree(palookup[i]); palookup[i] = NULL; }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
callq 0x72930
callq 0x9a6b0
callq 0x9c3d0
callq 0x8e030
callq 0x8e820
callq 0xa4e40
cmpq $0x0, 0x3b0b7a(%rip)    # 0x3e9058
je 0x384ec
movq 0x3b0b71(%rip), %rdi    # 0x3e9058
callq 0x6420
movq $0x0, 0x3b0b61(%rip) # 0x3e9058
cmpl $-0x1, 0xa8c3e(%rip)    # 0xe113c
je 0x3850b
movl 0xa8c36(%rip), %edi     # 0xe113c
callq 0x30960
cmpq $0x0, 0x1bd07d(%rip)    # 0x1f5590
je 0x3852c
movq 0x1bd074(%rip), %rdi    # 0x1f5590
callq 0x35f10
movq $0x0, 0x1bd064(%rip) # 0x1f5590
cmpq $0x0, 0x1bd034(%rip)    # 0x1f5568
je 0x3854d
movq 0x1bd02b(%rip), %rdi    # 0x1f5568
callq 0x35f10
movq $0x0, 0x1bd01b(%rip) # 0x1f5568
cmpq $0x0, 0x3b0b0b(%rip)    # 0x3e9060
je 0x3856e
movq 0x3b0b02(%rip), %rdi    # 0x3e9060
callq 0x35f10
movq $0x0, 0x3b0af2(%rip) # 0x3e9060
movl $0x0, -0x4(%rbp)
cmpl $0x100, -0x4(%rbp)      # imm = 0x100
jge 0x385c4
movslq -0x4(%rbp), %rcx
leaq 0x39d0b7(%rip), %rax    # 0x3d5640
cmpq $0x0, (%rax,%rcx,8)
je 0x385b7
movslq -0x4(%rbp), %rcx
leaq 0x39d0a5(%rip), %rax    # 0x3d5640
movq (%rax,%rcx,8), %rdi
callq 0x35f10
movslq -0x4(%rbp), %rcx
leaq 0x39d091(%rip), %rax    # 0x3d5640
movq $0x0, (%rax,%rcx,8)
jmp 0x385b9
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x38575
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: initspritelists
void initspritelists(void)
{
	int i;

	for (i=0;i<MAXSECTORS;i++)     //Init doubly-linked sprite sector lists
		headspritesect[i] = -1;
	headspritesect[MAXSECTORS] = 0;
	for(i=0;i<MAXSPRITES;i++)
	{
		prevspritesect[i] = i-1;
		nextspritesect[i] = i+1;
		sprite[i].sectnum = MAXSECTORS;
	}
	prevspritesect[0] = -1;
	nextspritesect[MAXSPRITES-1] = -1;


	for(i=0;i<MAXSTATUS;i++)      //Init doubly-linked sprite status lists
		headspritestat[i] = -1;
	headspritestat[MAXSTATUS] = 0;
	for(i=0;i<MAXSPRITES;i++)
	{
		prevspritestat[i] = i-1;
		nextspritestat[i] = i+1;
		sprite[i].statnum = MAXSTATUS;
	}
	prevspritestat[0] = -1;
	nextspritestat[MAXSPRITES-1] = -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl $0x0, -0x4(%rbp)
cmpl $0x1000, -0x4(%rbp)     # imm = 0x1000
jge 0x38600
movslq -0x4(%rbp), %rcx
leaq 0x3b0a81(%rip), %rax    # 0x3e9070
movw $0xffff, (%rax,%rcx,2)  # imm = 0xFFFF
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x385db
movw $0x0, 0x3b2a67(%rip)    # 0x3eb070
movl $0x0, -0x4(%rbp)
cmpl $0x4000, -0x4(%rbp)     # imm = 0x4000
jge 0x3866c
movl -0x4(%rbp), %eax
subl $0x1, %eax
movw %ax, %dx
movslq -0x4(%rbp), %rcx
leaq 0x3b2a53(%rip), %rax    # 0x3eb080
movw %dx, (%rax,%rcx,2)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movw %ax, %dx
movslq -0x4(%rbp), %rcx
leaq 0x3baa3b(%rip), %rax    # 0x3f3080
movw %dx, (%rax,%rcx,2)
movslq -0x4(%rbp), %rcx
leaq 0x2811bc(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movw $0x1000, 0x18(%rax)     # imm = 0x1000
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x38610
movw $0xffff, 0x3b2a0b(%rip) # imm = 0xFFFF
movw $0xffff, 0x3c2a00(%rip) # imm = 0xFFFF
movl $0x0, -0x4(%rbp)
cmpl $0x400, -0x4(%rbp)      # imm = 0x400
jge 0x386aa
movslq -0x4(%rbp), %rcx
leaq 0x3c29e7(%rip), %rax    # 0x3fb080
movw $0xffff, (%rax,%rcx,2)  # imm = 0xFFFF
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x38685
movw $0x0, 0x3c31cd(%rip)    # 0x3fb880
movl $0x0, -0x4(%rbp)
cmpl $0x4000, -0x4(%rbp)     # imm = 0x4000
jge 0x38716
movl -0x4(%rbp), %eax
subl $0x1, %eax
movw %ax, %dx
movslq -0x4(%rbp), %rcx
leaq 0x3c31b9(%rip), %rax    # 0x3fb890
movw %dx, (%rax,%rcx,2)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movw %ax, %dx
movslq -0x4(%rbp), %rcx
leaq 0x3cb1a1(%rip), %rax    # 0x403890
movw %dx, (%rax,%rcx,2)
movslq -0x4(%rbp), %rcx
leaq 0x281112(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movw $0x400, 0x1a(%rax)      # imm = 0x400
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x386ba
movw $0xffff, 0x3c3171(%rip) # imm = 0xFFFF
movw $0xffff, 0x3d3166(%rip) # imm = 0xFFFF
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: updatesector
void updatesector(int x, int y, short *sectnum)
{
	walltype *wal;
	int i, j;

	if (inside(x,y,*sectnum) == 1) return;

	if ((*sectnum >= 0) && (*sectnum < numsectors))
	{
		wal = &wall[sector[*sectnum].wallptr];
		j = sector[*sectnum].wallnum;
		do
		{
			i = wal->nextsector;
			if (i >= 0)
				if (inside(x,y,(short)i) == 1)
				{
					*sectnum = i;
					return;
				}
			wal++;
			j--;
		} while (j != 0);
	}

	for(i=numsectors-1;i>=0;i--)
		if (inside(x,y,(short)i) == 1)
		{
			*sectnum = i;
			return;
		}

	*sectnum = -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rax
movswl (%rax), %edx
callq 0x4ee70
cmpl $0x1, %eax
jne 0x392ce
jmp 0x393e0
movq -0x10(%rbp), %rax
movswl (%rax), %eax
cmpl $0x0, %eax
jl 0x39392
movq -0x10(%rbp), %rax
movswl (%rax), %eax
movswl 0x3d37d4(%rip), %ecx    # 0x40cac0
cmpl %ecx, %eax
jge 0x39392
movq -0x10(%rbp), %rax
movswq (%rax), %rcx
leaq 0x2472bd(%rip), %rax    # 0x2805c0
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movswq (%rax), %rcx
leaq 0x1bc29b(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movswq (%rax), %rcx
leaq 0x247291(%rip), %rax    # 0x2805c0
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movswl 0x2(%rax), %eax
movl %eax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movswl 0xc(%rax), %eax
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jl 0x39375
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movl -0x1c(%rbp), %eax
movswl %ax, %edx
callq 0x4ee70
cmpl $0x1, %eax
jne 0x39373
movl -0x1c(%rbp), %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, (%rax)
jmp 0x393e0
jmp 0x39375
movq -0x18(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x18(%rbp)
movl -0x20(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jne 0x3933d
jmp 0x39392
movswl 0x3d3727(%rip), %eax    # 0x40cac0
subl $0x1, %eax
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jl 0x393d7
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movl -0x1c(%rbp), %eax
movswl %ax, %edx
callq 0x4ee70
cmpl $0x1, %eax
jne 0x393ca
movl -0x1c(%rbp), %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, (%rax)
jmp 0x393e0
jmp 0x393cc
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x3939f
movq -0x10(%rbp), %rax
movw $0xffff, (%rax)         # imm = 0xFFFF
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: getzsofslope
void getzsofslope(short sectnum, int dax, int day, int *ceilz, int *florz)
{
	int dx, dy, i, j;
	walltype *wal, *wal2;
	sectortype *sec;

	sec = &sector[sectnum];
	*ceilz = sec->ceilingz; *florz = sec->floorz;
	if ((sec->ceilingstat|sec->floorstat)&2)
	{
		wal = &wall[sec->wallptr]; wal2 = &wall[wal->point2];
		dx = wal2->x-wal->x; dy = wal2->y-wal->y;
		i = (nsqrtasm(dx*dx+dy*dy)<<5); if (i == 0) return;
		j = dmulscale3(dx,day-wal->y,-dy,dax-wal->x);
		if (sec->ceilingstat&2) *ceilz = (*ceilz)+scale(sec->ceilingheinum,j,i);
		if (sec->floorstat&2) *florz = (*florz)+scale(sec->floorheinum,j,i);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movq %rcx, -0x18(%rbp)
movq %r8, -0x20(%rbp)
movswq -0x2(%rbp), %rcx
leaq 0x2471a7(%rip), %rax    # 0x2805c0
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x48(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movq -0x48(%rbp), %rax
movswl 0xc(%rax), %eax
movq -0x48(%rbp), %rcx
movswl 0xe(%rcx), %ecx
orl %ecx, %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x3956a
movq -0x48(%rbp), %rax
movswq (%rax), %rcx
leaq 0x1bc145(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movswq 0x8(%rax), %rcx
leaq 0x1bc12a(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movl (%rax), %eax
movq -0x38(%rbp), %rcx
subl (%rcx), %eax
movl %eax, -0x24(%rbp)
movq -0x40(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x38(%rbp), %rcx
subl 0x4(%rcx), %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %edi
imull -0x24(%rbp), %edi
movl -0x28(%rbp), %eax
imull -0x28(%rbp), %eax
addl %eax, %edi
callq 0x37570
shll $0x5, %eax
movl %eax, -0x2c(%rbp)
cmpl $0x0, -0x2c(%rbp)
jne 0x394d7
jmp 0x3956a
movl -0x24(%rbp), %edi
movl -0xc(%rbp), %esi
movq -0x38(%rbp), %rax
subl 0x4(%rax), %esi
xorl %edx, %edx
subl -0x28(%rbp), %edx
movl -0x8(%rbp), %ecx
movq -0x38(%rbp), %rax
subl (%rax), %ecx
callq 0x58ce0
movl %eax, -0x30(%rbp)
movq -0x48(%rbp), %rax
movswl 0xc(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x39531
movq -0x18(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4c(%rbp)
movq -0x48(%rbp), %rax
movswl 0x12(%rax), %edi
movl -0x30(%rbp), %esi
movl -0x2c(%rbp), %edx
callq 0x37720
movl -0x4c(%rbp), %ecx
addl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x48(%rbp), %rax
movswl 0xe(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x39568
movq -0x20(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x50(%rbp)
movq -0x48(%rbp), %rax
movswl 0x1a(%rax), %edi
movl -0x30(%rbp), %esi
movl -0x2c(%rbp), %edx
callq 0x37720
movl -0x50(%rbp), %ecx
addl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x3956a
addq $0x50, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: bunchfront
static int bunchfront(int b1, int b2)
{
	int x1b1, x2b1, x1b2, x2b2, b1f, b2f, i;

	b1f = bunchfirst[b1]; x1b1 = xb1[b1f]; x2b2 = xb2[bunchlast[b2]]+1;
	if (x1b1 >= x2b2) return(-1);
	b2f = bunchfirst[b2]; x1b2 = xb1[b2f]; x2b1 = xb2[bunchlast[b1]]+1;
	if (x1b2 >= x2b1) return(-1);

	if (x1b1 >= x1b2)
	{
		for(i=b2f;xb2[i]<x1b1;i=p2[i]);
		return(wallfront(b1f,i));
	}
	for(i=b1f;xb2[i]<x1b2;i=p2[i]);
	return(wallfront(i,b2f));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x3d6ad7(%rip), %rax    # 0x412520
movswl (%rax,%rcx,2), %eax
movl %eax, -0x20(%rbp)
movslq -0x20(%rbp), %rcx
leaq 0x26cb75(%rip), %rax    # 0x2a85d0
movl (%rax,%rcx,4), %eax
movl %eax, -0x10(%rbp)
movslq -0xc(%rbp), %rcx
leaq 0x3d8ab4(%rip), %rax    # 0x414520
movswq (%rax,%rcx,2), %rcx
leaq 0x270b68(%rip), %rax    # 0x2ac5e0
movl (%rax,%rcx,4), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jl 0x3ba95
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3bb70
movslq -0xc(%rbp), %rcx
leaq 0x3d6a80(%rip), %rax    # 0x412520
movswl (%rax,%rcx,2), %eax
movl %eax, -0x24(%rbp)
movslq -0x24(%rbp), %rcx
leaq 0x26cb1e(%rip), %rax    # 0x2a85d0
movl (%rax,%rcx,4), %eax
movl %eax, -0x18(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x3d8a5d(%rip), %rax    # 0x414520
movswq (%rax,%rcx,2), %rcx
leaq 0x270b11(%rip), %rax    # 0x2ac5e0
movl (%rax,%rcx,4), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jl 0x3baec
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x3bb70
movl -0x10(%rbp), %eax
cmpl -0x18(%rbp), %eax
jl 0x3bb33
movl -0x24(%rbp), %eax
movl %eax, -0x28(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x270adb(%rip), %rax    # 0x2ac5e0
movl (%rax,%rcx,4), %eax
cmpl -0x10(%rbp), %eax
jge 0x3bb23
jmp 0x3bb0f
movslq -0x28(%rbp), %rcx
leaq 0x3dea16(%rip), %rax    # 0x41a530
movswl (%rax,%rcx,2), %eax
movl %eax, -0x28(%rbp)
jmp 0x3bafa
movl -0x20(%rbp), %edi
movl -0x28(%rbp), %esi
callq 0x35f40
movl %eax, -0x4(%rbp)
jmp 0x3bb70
movl -0x20(%rbp), %eax
movl %eax, -0x28(%rbp)
movslq -0x28(%rbp), %rcx
leaq 0x270a9c(%rip), %rax    # 0x2ac5e0
movl (%rax,%rcx,4), %eax
cmpl -0x18(%rbp), %eax
jge 0x3bb62
jmp 0x3bb4e
movslq -0x28(%rbp), %rcx
leaq 0x3de9d7(%rip), %rax    # 0x41a530
movswl (%rax,%rcx,2), %eax
movl %eax, -0x28(%rbp)
jmp 0x3bb39
movl -0x28(%rbp), %edi
movl -0x24(%rbp), %esi
callq 0x35f40
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: lastwall
int lastwall(short point)
{
	int i, j, cnt;

	if ((point > 0) && (wall[point-1].point2 == point)) return(point-1);
	i = point;
	cnt = MAXWALLS;
	do
	{
		j = wall[i].point2;
		if (j == point) return(i);
		i = j;
		cnt--;
	} while (cnt > 0);
	return(point);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movw %di, %ax
movw %ax, -0x6(%rbp)
movswl -0x6(%rbp), %eax
cmpl $0x0, %eax
jle 0x438c4
movswl -0x6(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x1b1d0b(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movswl 0x8(%rax), %eax
movswl -0x6(%rbp), %ecx
cmpl %ecx, %eax
jne 0x438c4
movswl -0x6(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x4391a
movswl -0x6(%rbp), %eax
movl %eax, -0xc(%rbp)
movl $0x4000, -0x14(%rbp)    # imm = 0x4000
movslq -0xc(%rbp), %rcx
leaq 0x1b1cd3(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movswl 0x8(%rax), %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
movswl -0x6(%rbp), %ecx
cmpl %ecx, %eax
jne 0x438fe
movl -0xc(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x4391a
movl -0x10(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jg 0x438d2
movswl -0x6(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: convertv4sectv5
static void convertv4sectv5(struct sectortypev4 *from, struct sectortypev5 *to)
{
	to->wallptr = from->wallptr;
	to->wallnum = from->wallnum;
	to->ceilingpicnum = from->ceilingpicnum;
	to->floorpicnum = from->floorpicnum;
	to->ceilingheinum = from->ceilingheinum;
	to->floorheinum = from->floorheinum;
	to->ceilingz = from->ceilingz;
	to->floorz = from->floorz;
	to->ceilingshade = from->ceilingshade;
	to->floorshade = from->floorshade;
	to->ceilingxpanning = from->ceilingxpanning;
	to->floorxpanning = from->floorxpanning;
	to->ceilingypanning = from->ceilingypanning;
	to->floorypanning = from->floorypanning;
	to->ceilingstat = from->ceilingstat;
	to->floorstat = from->floorstat;
	to->ceilingpal = 0;
	to->floorpal = 0;
	to->visibility = 0;
	to->lotag = (from->tag&65535);
	to->hitag = (from->tag>>16);
	to->extra = -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, (%rax)
movq -0x8(%rbp), %rax
movw 0x2(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x2(%rax)
movq -0x8(%rbp), %rax
movw 0xc(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x8(%rbp), %rax
movw 0x18(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x6(%rax)
movq -0x8(%rbp), %rax
movw 0xe(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x8(%rax)
movq -0x8(%rbp), %rax
movw 0x1a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xa(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x8(%rbp), %rax
movl 0x14(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movb 0x7(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x14(%rax)
movq -0x8(%rbp), %rax
movb 0x13(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x15(%rax)
movq -0x8(%rbp), %rax
movb 0x5(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x16(%rax)
movq -0x8(%rbp), %rax
movb 0x11(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x17(%rax)
movq -0x8(%rbp), %rax
movb 0x6(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x18(%rax)
movq -0x8(%rbp), %rax
movb 0x12(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x19(%rax)
movq -0x8(%rbp), %rax
movb 0x4(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x1a(%rax)
movq -0x8(%rbp), %rax
movb 0x10(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x1b(%rax)
movq -0x10(%rbp), %rax
movb $0x0, 0x1c(%rax)
movq -0x10(%rbp), %rax
movb $0x0, 0x1d(%rax)
movq -0x10(%rbp), %rax
movb $0x0, 0x1e(%rax)
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %eax
andl $0xffff, %eax           # imm = 0xFFFF
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x20(%rax)
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %eax
sarl $0x10, %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x22(%rax)
movq -0x10(%rbp), %rax
movw $0xffff, 0x24(%rax)     # imm = 0xFFFF
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: convertv5sectv6
static void convertv5sectv6(struct sectortypev5 *from, struct sectortypev6 *to)
{
	to->wallptr = from->wallptr;
	to->wallnum = from->wallnum;
	to->ceilingpicnum = from->ceilingpicnum;
	to->floorpicnum = from->floorpicnum;
	to->ceilingheinum = from->ceilingheinum;
	to->floorheinum = from->floorheinum;
	to->ceilingz = from->ceilingz;
	to->floorz = from->floorz;
	to->ceilingshade = from->ceilingshade;
	to->floorshade = from->floorshade;
	to->ceilingxpanning = from->ceilingxpanning;
	to->floorxpanning = from->floorxpanning;
	to->ceilingypanning = from->ceilingypanning;
	to->floorypanning = from->floorypanning;
	to->ceilingstat = from->ceilingstat;
	to->floorstat = from->floorstat;
	to->ceilingpal = from->ceilingpal;
	to->floorpal = from->floorpal;
	to->visibility = from->visibility;
	to->lotag = from->lotag;
	to->hitag = from->hitag;
	to->extra = from->extra;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movw (%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, (%rax)
movq -0x8(%rbp), %rax
movw 0x2(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x2(%rax)
movq -0x8(%rbp), %rax
movw 0x4(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x4(%rax)
movq -0x8(%rbp), %rax
movw 0x6(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x6(%rax)
movq -0x8(%rbp), %rax
movw 0x8(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x8(%rax)
movq -0x8(%rbp), %rax
movw 0xa(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xa(%rax)
movq -0x8(%rbp), %rax
movl 0xc(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x8(%rbp), %rax
movl 0x10(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movb 0x14(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x14(%rax)
movq -0x8(%rbp), %rax
movb 0x15(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x15(%rax)
movq -0x8(%rbp), %rax
movb 0x16(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x16(%rax)
movq -0x8(%rbp), %rax
movb 0x17(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x17(%rax)
movq -0x8(%rbp), %rax
movb 0x18(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x18(%rax)
movq -0x8(%rbp), %rax
movb 0x19(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x19(%rax)
movq -0x8(%rbp), %rax
movb 0x1a(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x1a(%rax)
movq -0x8(%rbp), %rax
movb 0x1b(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x1b(%rax)
movq -0x8(%rbp), %rax
movb 0x1c(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x1c(%rax)
movq -0x8(%rbp), %rax
movb 0x1d(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x1d(%rax)
movq -0x8(%rbp), %rax
movb 0x1e(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x1e(%rax)
movq -0x8(%rbp), %rax
movw 0x20(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x20(%rax)
movq -0x8(%rbp), %rax
movw 0x22(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x22(%rax)
movq -0x8(%rbp), %rax
movw 0x24(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x24(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: convertv4wallv5
static void convertv4wallv5(struct walltypev4 *from, struct walltypev5 *to)
{
	to->x = from->x;
	to->y = from->y;
	to->point2 = from->point2;
	to->picnum = from->picnum;
	to->overpicnum = from->overpicnum;
	to->shade = from->shade;
	to->cstat = from->cstat;
	to->xrepeat = from->xrepeat;
	to->yrepeat = from->yrepeat;
	to->xpanning = from->xpanning;
	to->ypanning = from->ypanning;
	to->nextsector1 = from->nextsector1;
	to->nextwall1 = from->nextwall1;
	to->nextsector2 = from->nextsector2;
	to->nextwall2 = from->nextwall2;
	to->lotag = (from->tag&65535);
	to->hitag = (from->tag>>16);
	to->extra = -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
movw 0x8(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x8(%rax)
movq -0x8(%rbp), %rax
movw 0x10(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xa(%rax)
movq -0x8(%rbp), %rax
movw 0x12(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xc(%rax)
movq -0x8(%rbp), %rax
movb 0xb(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xe(%rax)
movq -0x8(%rbp), %rax
movzbl 0xa(%rax), %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x10(%rax)
movq -0x8(%rbp), %rax
movb 0xc(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x12(%rax)
movq -0x8(%rbp), %rax
movb 0xd(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x13(%rax)
movq -0x8(%rbp), %rax
movb 0xe(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x14(%rax)
movq -0x8(%rbp), %rax
movb 0xf(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x15(%rax)
movq -0x8(%rbp), %rax
movw 0x14(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x16(%rax)
movq -0x8(%rbp), %rax
movw 0x16(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x18(%rax)
movq -0x8(%rbp), %rax
movw 0x18(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1a(%rax)
movq -0x8(%rbp), %rax
movw 0x1a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1c(%rax)
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %eax
andl $0xffff, %eax           # imm = 0xFFFF
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1e(%rax)
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %eax
sarl $0x10, %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x20(%rax)
movq -0x10(%rbp), %rax
movw $0xffff, 0x22(%rax)     # imm = 0xFFFF
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: convertv5wallv6
static void convertv5wallv6(struct walltypev5 *from, struct walltypev6 *to, int i)
{
	to->x = from->x;
	to->y = from->y;
	to->point2 = from->point2;
	to->nextsector = from->nextsector1;
	to->nextwall = from->nextwall1;
	to->picnum = from->picnum;
	to->overpicnum = from->overpicnum;
	to->shade = from->shade;
	to->pal = sector[sectorofwallv5((short)i)].floorpal;
	to->cstat = from->cstat;
	to->xrepeat = from->xrepeat;
	to->yrepeat = from->yrepeat;
	to->xpanning = from->xpanning;
	to->ypanning = from->ypanning;
	to->lotag = from->lotag;
	to->hitag = from->hitag;
	to->extra = from->extra;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
movw 0x8(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x8(%rax)
movq -0x8(%rbp), %rax
movw 0x16(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xa(%rax)
movq -0x8(%rbp), %rax
movw 0x18(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xc(%rax)
movq -0x8(%rbp), %rax
movw 0xa(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xe(%rax)
movq -0x8(%rbp), %rax
movw 0xc(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x10(%rax)
movq -0x8(%rbp), %rax
movb 0xe(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x12(%rax)
movl -0x14(%rbp), %eax
movswl %ax, %edi
callq 0x60f20
movswq %ax, %rcx
leaq 0x23855f(%rip), %rax    # 0x2805c0
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movb 0x1d(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x13(%rax)
movq -0x8(%rbp), %rax
movw 0x10(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x14(%rax)
movq -0x8(%rbp), %rax
movb 0x12(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x16(%rax)
movq -0x8(%rbp), %rax
movb 0x13(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x17(%rax)
movq -0x8(%rbp), %rax
movb 0x14(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x18(%rax)
movq -0x8(%rbp), %rax
movb 0x15(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x19(%rax)
movq -0x8(%rbp), %rax
movw 0x1e(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1a(%rax)
movq -0x8(%rbp), %rax
movw 0x20(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1c(%rax)
movq -0x8(%rbp), %rax
movw 0x22(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1e(%rax)
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: convertv6wallv7
static void convertv6wallv7(struct walltypev6 *from, walltype *to)
{
	to->x = from->x;
	to->y = from->y;
	to->point2 = from->point2;
	to->nextwall = from->nextwall;
	to->nextsector = from->nextsector;
	to->cstat = from->cstat;
	to->picnum = from->picnum;
	to->overpicnum = from->overpicnum;
	to->shade = from->shade;
	to->pal = from->pal;
	to->xrepeat = from->xrepeat;
	to->yrepeat = from->yrepeat;
	to->xpanning = from->xpanning;
	to->ypanning = from->ypanning;
	to->lotag = from->lotag;
	to->hitag = from->hitag;
	to->extra = from->extra;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
movw 0x8(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x8(%rax)
movq -0x8(%rbp), %rax
movw 0xc(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xa(%rax)
movq -0x8(%rbp), %rax
movw 0xa(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xc(%rax)
movq -0x8(%rbp), %rax
movw 0x14(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xe(%rax)
movq -0x8(%rbp), %rax
movw 0xe(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x10(%rax)
movq -0x8(%rbp), %rax
movw 0x10(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x12(%rax)
movq -0x8(%rbp), %rax
movb 0x12(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x14(%rax)
movq -0x8(%rbp), %rax
movb 0x13(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x15(%rax)
movq -0x8(%rbp), %rax
movb 0x16(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x16(%rax)
movq -0x8(%rbp), %rax
movb 0x17(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x17(%rax)
movq -0x8(%rbp), %rax
movb 0x18(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x18(%rax)
movq -0x8(%rbp), %rax
movb 0x19(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x19(%rax)
movq -0x8(%rbp), %rax
movw 0x1a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1a(%rax)
movq -0x8(%rbp), %rax
movw 0x1c(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1c(%rax)
movq -0x8(%rbp), %rax
movw 0x1e(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1e(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: convertv4sprv5
static void convertv4sprv5(struct spritetypev4 *from, struct spritetypev5 *to)
{
	to->x = from->x;
	to->y = from->y;
	to->z = from->z;
	to->cstat = from->cstat;
	to->shade = from->shade;
	to->xrepeat = from->xrepeat;
	to->yrepeat = from->yrepeat;
	to->picnum = from->picnum;
	to->ang = from->ang;
	to->xvel = from->xvel;
	to->yvel = from->yvel;
	to->zvel = from->zvel;
	to->owner = from->owner;
	to->sectnum = from->sectnum;
	to->statnum = from->statnum;
	to->lotag = (from->tag&65535);
	to->hitag = (from->tag>>16);
	to->extra = -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movb 0xc(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xc(%rax)
movq -0x8(%rbp), %rax
movb 0xd(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xd(%rax)
movq -0x8(%rbp), %rax
movb 0xe(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xe(%rax)
movq -0x8(%rbp), %rax
movb 0xf(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xf(%rax)
movq -0x8(%rbp), %rax
movw 0x10(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x10(%rax)
movq -0x8(%rbp), %rax
movw 0x12(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x12(%rax)
movq -0x8(%rbp), %rax
movw 0x14(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x14(%rax)
movq -0x8(%rbp), %rax
movw 0x16(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x16(%rax)
movq -0x8(%rbp), %rax
movw 0x18(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x18(%rax)
movq -0x8(%rbp), %rax
movw 0x1a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1a(%rax)
movq -0x8(%rbp), %rax
movw 0x1c(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1c(%rax)
movq -0x8(%rbp), %rax
movw 0x1e(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1e(%rax)
movq -0x8(%rbp), %rax
movl 0x20(%rax), %eax
andl $0xffff, %eax           # imm = 0xFFFF
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x20(%rax)
movq -0x8(%rbp), %rax
movl 0x20(%rax), %eax
sarl $0x10, %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x22(%rax)
movq -0x10(%rbp), %rax
movw $0xffff, 0x24(%rax)     # imm = 0xFFFF
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: convertv6sprv7
static void convertv6sprv7(struct spritetypev6 *from, spritetype *to)
{
	to->x = from->x;
	to->y = from->y;
	to->z = from->z;
	to->cstat = from->cstat;
	to->picnum = from->picnum;
	to->shade = from->shade;
	to->pal = from->pal;
	to->clipdist = from->clipdist;
	to->filler = 0;
	to->xrepeat = from->xrepeat;
	to->yrepeat = from->yrepeat;
	to->xoffset = from->xoffset;
	to->yoffset = from->yoffset;
	to->sectnum = from->sectnum;
	to->statnum = from->statnum;
	to->ang = from->ang;
	to->owner = from->owner;
	to->xvel = from->xvel;
	to->yvel = from->yvel;
	to->zvel = from->zvel;
	to->lotag = from->lotag;
	to->hitag = from->hitag;
	to->extra = from->extra;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movw 0xc(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xc(%rax)
movq -0x8(%rbp), %rax
movw 0x16(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xe(%rax)
movq -0x8(%rbp), %rax
movb 0xe(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x10(%rax)
movq -0x8(%rbp), %rax
movb 0xf(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x11(%rax)
movq -0x8(%rbp), %rax
movb 0x10(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x12(%rax)
movq -0x10(%rbp), %rax
movb $0x0, 0x13(%rax)
movq -0x8(%rbp), %rax
movb 0x11(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x14(%rax)
movq -0x8(%rbp), %rax
movb 0x12(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x15(%rax)
movq -0x8(%rbp), %rax
movb 0x13(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x16(%rax)
movq -0x8(%rbp), %rax
movb 0x14(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x17(%rax)
movq -0x8(%rbp), %rax
movw 0x22(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x18(%rax)
movq -0x8(%rbp), %rax
movw 0x24(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1a(%rax)
movq -0x8(%rbp), %rax
movw 0x18(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1c(%rax)
movq -0x8(%rbp), %rax
movw 0x20(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1e(%rax)
movq -0x8(%rbp), %rax
movw 0x1a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x20(%rax)
movq -0x8(%rbp), %rax
movw 0x1c(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x22(%rax)
movq -0x8(%rbp), %rax
movw 0x1e(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x24(%rax)
movq -0x8(%rbp), %rax
movw 0x26(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x26(%rax)
movq -0x8(%rbp), %rax
movw 0x28(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x28(%rax)
movq -0x8(%rbp), %rax
movw 0x2a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x2a(%rax)
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: buildputs
void buildputs(const char *str)
{
    fputs(str, stdout);
    if (logfile) fputs(str, logfile);
    initputs(str);  // the startup window
    OSD_Puts(str);  // the onscreen-display
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq 0x848a9(%rip), %rax     # 0xcefe0
movq (%rax), %rsi
callq 0x62f0
cmpq $0x0, 0x39e911(%rip)    # 0x3e9058
je 0x4a759
movq -0x8(%rbp), %rdi
movq 0x39e904(%rip), %rsi    # 0x3e9058
callq 0x62f0
movq -0x8(%rbp), %rdi
callq 0xa50e0
movq -0x8(%rbp), %rdi
callq 0x6e420
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: convertv6wallv5
static void convertv6wallv5(struct walltypev6 *from, struct walltypev5 *to)
{
	to->x = from->x;
	to->y = from->y;
	to->point2 = from->point2;
	to->nextsector1 = from->nextsector;
	to->nextwall1 = from->nextwall;
	to->nextsector2 = -1;
	to->nextwall2 = -1;
	to->picnum = from->picnum;
	to->overpicnum = from->overpicnum;
	to->shade = from->shade;
	to->cstat = from->cstat;
	to->xrepeat = from->xrepeat;
	to->yrepeat = from->yrepeat;
	to->xpanning = from->xpanning;
	to->ypanning = from->ypanning;
	to->lotag = from->lotag;
	to->hitag = from->hitag;
	to->extra = from->extra;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
movw 0x8(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x8(%rax)
movq -0x8(%rbp), %rax
movw 0xa(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x16(%rax)
movq -0x8(%rbp), %rax
movw 0xc(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x18(%rax)
movq -0x10(%rbp), %rax
movw $0xffff, 0x1a(%rax)     # imm = 0xFFFF
movq -0x10(%rbp), %rax
movw $0xffff, 0x1c(%rax)     # imm = 0xFFFF
movq -0x8(%rbp), %rax
movw 0xe(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xa(%rax)
movq -0x8(%rbp), %rax
movw 0x10(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xc(%rax)
movq -0x8(%rbp), %rax
movb 0x12(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xe(%rax)
movq -0x8(%rbp), %rax
movw 0x14(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x10(%rax)
movq -0x8(%rbp), %rax
movb 0x16(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x12(%rax)
movq -0x8(%rbp), %rax
movb 0x17(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x13(%rax)
movq -0x8(%rbp), %rax
movb 0x18(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x14(%rax)
movq -0x8(%rbp), %rax
movb 0x19(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x15(%rax)
movq -0x8(%rbp), %rax
movw 0x1a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1e(%rax)
movq -0x8(%rbp), %rax
movw 0x1c(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x20(%rax)
movq -0x8(%rbp), %rax
movw 0x1e(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x22(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: convertv7sprv6
static void convertv7sprv6(spritetype *from, struct spritetypev6 *to)
{
	to->x = from->x;
	to->y = from->y;
	to->z = from->z;
	to->cstat = from->cstat;
	to->picnum = from->picnum;
	to->shade = from->shade;
	to->pal = from->pal;
	to->clipdist = from->clipdist;
	to->xrepeat = from->xrepeat;
	to->yrepeat = from->yrepeat;
	to->xoffset = from->xoffset;
	to->yoffset = from->yoffset;
	to->sectnum = from->sectnum;
	to->statnum = from->statnum;
	to->ang = from->ang;
	to->owner = from->owner;
	to->xvel = from->xvel;
	to->yvel = from->yvel;
	to->zvel = from->zvel;
	to->lotag = from->lotag;
	to->hitag = from->hitag;
	to->extra = from->extra;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movw 0xc(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0xc(%rax)
movq -0x8(%rbp), %rax
movw 0xe(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x16(%rax)
movq -0x8(%rbp), %rax
movb 0x10(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xe(%rax)
movq -0x8(%rbp), %rax
movb 0x11(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xf(%rax)
movq -0x8(%rbp), %rax
movb 0x12(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x10(%rax)
movq -0x8(%rbp), %rax
movb 0x14(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x11(%rax)
movq -0x8(%rbp), %rax
movb 0x15(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x12(%rax)
movq -0x8(%rbp), %rax
movb 0x16(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x13(%rax)
movq -0x8(%rbp), %rax
movb 0x17(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x14(%rax)
movq -0x8(%rbp), %rax
movw 0x18(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x22(%rax)
movq -0x8(%rbp), %rax
movw 0x1a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x24(%rax)
movq -0x8(%rbp), %rax
movw 0x1c(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x18(%rax)
movq -0x8(%rbp), %rax
movw 0x1e(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x20(%rax)
movq -0x8(%rbp), %rax
movw 0x20(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1a(%rax)
movq -0x8(%rbp), %rax
movw 0x22(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1c(%rax)
movq -0x8(%rbp), %rax
movw 0x24(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1e(%rax)
movq -0x8(%rbp), %rax
movw 0x26(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x26(%rax)
movq -0x8(%rbp), %rax
movw 0x28(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x28(%rax)
movq -0x8(%rbp), %rax
movw 0x2a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x2a(%rax)
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: convertv6sprv5
static void convertv6sprv5(struct spritetypev6 *from, struct spritetypev5 *to)
{
	to->x = from->x;
	to->y = from->y;
	to->z = from->z;
	to->cstat = (unsigned char)from->cstat;
	to->shade = from->shade;
	to->xrepeat = from->xrepeat;
	to->yrepeat = from->yrepeat;
	to->picnum = from->picnum;
	to->ang = from->ang;
	to->xvel = from->xvel;
	to->yvel = from->yvel;
	to->zvel = from->zvel;
	to->owner = from->owner;
	to->sectnum = from->sectnum;
	to->statnum = from->statnum;
	to->lotag = from->lotag;
	to->hitag = from->hitag;
	to->extra = from->extra;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movw 0xc(%rax), %ax
movb %al, %cl
movq -0x10(%rbp), %rax
movb %cl, 0xc(%rax)
movq -0x8(%rbp), %rax
movb 0xe(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xd(%rax)
movq -0x8(%rbp), %rax
movb 0x11(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xe(%rax)
movq -0x8(%rbp), %rax
movb 0x12(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0xf(%rax)
movq -0x8(%rbp), %rax
movw 0x16(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x10(%rax)
movq -0x8(%rbp), %rax
movw 0x18(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x12(%rax)
movq -0x8(%rbp), %rax
movw 0x1a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x14(%rax)
movq -0x8(%rbp), %rax
movw 0x1c(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x16(%rax)
movq -0x8(%rbp), %rax
movw 0x1e(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x18(%rax)
movq -0x8(%rbp), %rax
movw 0x20(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1a(%rax)
movq -0x8(%rbp), %rax
movw 0x22(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1c(%rax)
movq -0x8(%rbp), %rax
movw 0x24(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x1e(%rax)
movq -0x8(%rbp), %rax
movw 0x26(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x20(%rax)
movq -0x8(%rbp), %rax
movw 0x28(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x22(%rax)
movq -0x8(%rbp), %rax
movw 0x2a(%rax), %cx
movq -0x10(%rbp), %rax
movw %cx, 0x24(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: screencapture
int screencapture(char *filename, char mode)
{
	int ret;

	if (filename) {
		strcpy(capturename, filename);
	}
	if (qsetmode == 200 && (mode & 2) && !captureatnextpage) {
		captureatnextpage = mode;
		return 0;
	}
	switch (captureformat) {
		case 0: ret = screencapture_tga(mode&1); break;
		case 1: ret = screencapture_pcx(mode&1); break;
		default: ret = screencapture_png(mode&1); break;
	}
	if (ret == 0) {
		buildprintf("Saved screenshot to %s\n", capturename);
	}
	return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x4dfe9
movq -0x10(%rbp), %rsi
leaq 0x9321c(%rip), %rdi     # 0xe1200
callq 0x63e0
cmpl $0xc8, 0x1a7595(%rip)   # 0x1f5588
jne 0x4e01c
movsbl -0x11(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x4e01c
cmpb $0x0, 0x40f6bc(%rip)    # 0x45d6c4
jne 0x4e01c
movb -0x11(%rbp), %al
movb %al, 0x40f6b1(%rip)     # 0x45d6c4
movl $0x0, -0x4(%rbp)
jmp 0x4e090
movl 0x39b032(%rip), %eax    # 0x3e9054
movl %eax, -0x1c(%rbp)
testl %eax, %eax
je 0x4e035
jmp 0x4e02b
movl -0x1c(%rbp), %eax
subl $0x1, %eax
je 0x4e049
jmp 0x4e05d
movsbl -0x11(%rbp), %eax
andl $0x1, %eax
movsbl %al, %edi
callq 0x59c10
movl %eax, -0x18(%rbp)
jmp 0x4e06f
movsbl -0x11(%rbp), %eax
andl $0x1, %eax
movsbl %al, %edi
callq 0x59dc0
movl %eax, -0x18(%rbp)
jmp 0x4e06f
movsbl -0x11(%rbp), %eax
andl $0x1, %eax
movsbl %al, %edi
callq 0x5a000
movl %eax, -0x18(%rbp)
cmpl $0x0, -0x18(%rbp)
jne 0x4e08a
leaq 0x6532d(%rip), %rdi     # 0xb33a9
leaq 0x9317d(%rip), %rsi     # 0xe1200
movb $0x0, %al
callq 0x37c90
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: allocatepermanenttile
intptr_t allocatepermanenttile(short tilenume, int xsiz, int ysiz)
{
	int j, dasiz;

	if ((xsiz <= 0) || (ysiz <= 0) || ((unsigned)tilenume >= (unsigned)MAXTILES))
		return(0);

	dasiz = xsiz*ysiz;

	walock[tilenume] = 255;
	allocache((void **)&waloff[tilenume],dasiz,&walock[tilenume]);

	tilesizx[tilenume] = xsiz;
	tilesizy[tilenume] = ysiz;
	picanm[tilenume] = 0;

	j = 15; while ((j > 1) && (pow2long[j] > xsiz)) j--;
	picsiz[tilenume] = ((unsigned char)j);
	j = 15; while ((j > 1) && (pow2long[j] > ysiz)) j--;
	picsiz[tilenume] += ((unsigned char)(j<<4));

	return(waloff[tilenume]);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0xa(%rbp)
movl %esi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
cmpl $0x0, -0x10(%rbp)
jle 0x4e5fc
cmpl $0x0, -0x14(%rbp)
jle 0x4e5fc
movswl -0xa(%rbp), %eax
cmpl $0x2400, %eax           # imm = 0x2400
jb 0x4e609
movq $0x0, -0x8(%rbp)
jmp 0x4e756
movl -0x10(%rbp), %eax
imull -0x14(%rbp), %eax
movl %eax, -0x1c(%rbp)
movswq -0xa(%rbp), %rcx
leaq 0x41a961(%rip), %rax    # 0x468f80
movb $-0x1, (%rax,%rcx)
movswq -0xa(%rbp), %rax
leaq 0x387811(%rip), %rdi    # 0x3d5e40
shlq $0x3, %rax
addq %rax, %rdi
movslq -0x1c(%rbp), %rsi
movswq -0xa(%rbp), %rax
leaq 0x41a93a(%rip), %rdx    # 0x468f80
addq %rax, %rdx
callq 0x2e6f0
movl -0x10(%rbp), %eax
movw %ax, %dx
movswq -0xa(%rbp), %rcx
leaq 0x3fc720(%rip), %rax    # 0x44ad80
movw %dx, (%rax,%rcx,2)
movl -0x14(%rbp), %eax
movw %ax, %dx
movswq -0xa(%rbp), %rcx
leaq 0x3edeca(%rip), %rax    # 0x43c540
movw %dx, (%rax,%rcx,2)
movswq -0xa(%rbp), %rcx
leaq 0x228f3a(%rip), %rax    # 0x2775c0
movl $0x0, (%rax,%rcx,4)
movl $0xf, -0x18(%rbp)
xorl %eax, %eax
cmpl $0x1, -0x18(%rbp)
movb %al, -0x1d(%rbp)
jle 0x4e6b6
movslq -0x18(%rbp), %rcx
leaq 0x925f6(%rip), %rax     # 0xe0ca0
movl (%rax,%rcx,4), %eax
cmpl -0x10(%rbp), %eax
setg %al
movb %al, -0x1d(%rbp)
movb -0x1d(%rbp), %al
testb $0x1, %al
jne 0x4e6bf
jmp 0x4e6ca
movl -0x18(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x4e694
movl -0x18(%rbp), %eax
movb %al, %dl
movswq -0xa(%rbp), %rcx
leaq 0x400ed5(%rip), %rax    # 0x44f5b0
movb %dl, (%rax,%rcx)
movl $0xf, -0x18(%rbp)
xorl %eax, %eax
cmpl $0x1, -0x18(%rbp)
movb %al, -0x1e(%rbp)
jle 0x4e707
movslq -0x18(%rbp), %rcx
leaq 0x925a5(%rip), %rax     # 0xe0ca0
movl (%rax,%rcx,4), %eax
cmpl -0x14(%rbp), %eax
setg %al
movb %al, -0x1e(%rbp)
movb -0x1e(%rbp), %al
testb $0x1, %al
jne 0x4e710
jmp 0x4e71b
movl -0x18(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x4e6e5
movl -0x18(%rbp), %eax
shll $0x4, %eax
movzbl %al, %edx
movswq -0xa(%rbp), %rcx
leaq 0x400e80(%rip), %rax    # 0x44f5b0
movzbl (%rax,%rcx), %eax
addl %edx, %eax
movb %al, %dl
leaq 0x400e71(%rip), %rax    # 0x44f5b0
movb %dl, (%rax,%rcx)
movswq -0xa(%rbp), %rcx
leaq 0x3876f2(%rip), %rax    # 0x3d5e40
movq (%rax,%rcx,8), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: qloadkvx
int qloadkvx(int voxindex, char *filename)
{
	int i, fil, dasiz, lengcnt, lengtot;
	unsigned char *ptr;

	if ((fil = kopen4load(filename,0)) == -1) return -1;

	lengcnt = 0;
	lengtot = kfilelength(fil);

	for(i=0;i<MAXVOXMIPS;i++)
	{
		kread(fil,&dasiz,4); dasiz = B_LITTLE32(dasiz);
			//Must store filenames to use cacheing system :(
		voxlock[voxindex][i] = 200;
		allocache((void **)&voxoff[voxindex][i],dasiz,&voxlock[voxindex][i]);
		ptr = (unsigned char *)voxoff[voxindex][i];
		kread(fil,ptr,dasiz);

		lengcnt += dasiz+4;
		if (lengcnt >= lengtot-768) break;
	}
	kclose(fil);

#if USE_POLYMOST && USE_OPENGL
	if (voxmodels[voxindex]) {
		voxfree(voxmodels[voxindex]);
		voxmodels[voxindex] = NULL;
	}
	voxmodels[voxindex] = voxload(filename);
#endif
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x2fee0
movl %eax, -0x18(%rbp)
cmpl $-0x1, %eax
jne 0x4e98e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4eadf
movl $0x0, -0x20(%rbp)
movl -0x18(%rbp), %edi
callq 0x30750
movl %eax, -0x24(%rbp)
movl $0x0, -0x14(%rbp)
cmpl $0x5, -0x14(%rbp)
jge 0x4ea7c
movl -0x18(%rbp), %edi
leaq -0x1c(%rbp), %rsi
movl $0x4, %edx
callq 0x302b0
movl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x374c5d(%rip), %rax    # 0x3c3630
imulq $0x5, %rcx, %rcx
addq %rcx, %rax
movslq -0x14(%rbp), %rcx
movb $-0x38, (%rax,%rcx)
movslq -0x8(%rbp), %rax
leaq 0x34cc43(%rip), %rdi    # 0x39b630
imulq $0x28, %rax, %rax
addq %rax, %rdi
movslq -0x14(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movslq -0x1c(%rbp), %rsi
movslq -0x8(%rbp), %rax
leaq 0x374c22(%rip), %rdx    # 0x3c3630
imulq $0x5, %rax, %rax
addq %rax, %rdx
movslq -0x14(%rbp), %rax
addq %rax, %rdx
callq 0x2e6f0
movslq -0x8(%rbp), %rcx
leaq 0x34cc04(%rip), %rax    # 0x39b630
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x30(%rbp)
movl -0x18(%rbp), %edi
movq -0x30(%rbp), %rsi
movl -0x1c(%rbp), %edx
callq 0x302b0
movl -0x1c(%rbp), %eax
addl $0x4, %eax
addl -0x20(%rbp), %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
movl -0x24(%rbp), %ecx
subl $0x300, %ecx            # imm = 0x300
cmpl %ecx, %eax
jl 0x4ea6c
jmp 0x4ea7c
jmp 0x4ea6e
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x4e9a7
movl -0x18(%rbp), %edi
callq 0x30960
movslq -0x8(%rbp), %rcx
leaq 0x6085b1(%rip), %rax    # 0x657040
cmpq $0x0, (%rax,%rcx,8)
je 0x4eabd
movslq -0x8(%rbp), %rcx
leaq 0x60859f(%rip), %rax    # 0x657040
movq (%rax,%rcx,8), %rdi
callq 0x902a0
movslq -0x8(%rbp), %rcx
leaq 0x60858b(%rip), %rax    # 0x657040
movq $0x0, (%rax,%rcx,8)
movq -0x10(%rbp), %rdi
callq 0x90310
movq %rax, %rdx
movslq -0x8(%rbp), %rcx
leaq 0x60856c(%rip), %rax    # 0x657040
movq %rdx, (%rax,%rcx,8)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)