// File: /workspace/github_c_makefile_star2_O3/jonof[P]jftekwar/jfbuild/src/engine.c
// Function: transmaskwallscan
static void transmaskwallscan(int x1, int x2)
{
	int x;

	setgotpic(globalpicnum);
	if ((tilesizx[globalpicnum] <= 0) || (tilesizy[globalpicnum] <= 0)) return;

	if (waloff[globalpicnum] == 0) loadtile(globalpicnum);

	setuptvlineasm(globalshiftval);

	x = x1;
	while ((startumost[x+windowx1] > startdmost[x+windowx1]) && (x <= x2)) x++;
#ifndef USING_A_C
	if ((x <= x2) && (x&1)) transmaskvline(x), x++;
	while (x < x2) transmaskvline2(x), x += 2;
#endif
	while (x <= x2) transmaskvline(x), x++;
	faketimerhandler();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movl %edi, %ebp
movswq 0x3d04c5(%rip), %rdi    # 0x410010
leaq 0x3eebee(%rip), %rax    # 0x42e740
cmpb $-0x39, (%rdi,%rax)
ja 0x3fb5c
movb $-0x39, (%rdi,%rax)
movl %edi, %eax
andl $0x7, %eax
leaq 0x64c38(%rip), %rcx     # 0xa47a0
movb (%rax,%rcx), %al
movl %edi, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
leaq 0x3ee736(%rip), %rdx    # 0x42e2b0
orb %al, (%rcx,%rdx)
leaq 0x3d049c(%rip), %rax    # 0x410020
cmpw $0x0, (%rax,%rdi,2)
jle 0x3fd90
leaq 0x3c1c4a(%rip), %rax    # 0x4017e0
cmpw $0x0, (%rax,%rdi,2)
jle 0x3fd90
leaq 0x359738(%rip), %rax    # 0x3992e0
cmpq $0x0, (%rax,%rdi,8)
jne 0x3fbb4
callq 0x2fc7e
movswl 0x413f2d(%rip), %edi    # 0x453ae8
callq 0x6fca7
movslq 0x3921a9(%rip), %rax    # 0x3d1d70
movslq %ebp, %rcx
movslq %ebx, %rdx
leal -0x2(%rcx), %r13d
addq %rcx, %rax
addq %rax, %rax
leaq 0x390392(%rip), %rbp    # 0x3cff70
leaq 0x39219b(%rip), %r12    # 0x3d1d80
incl %r13d
cmpq %rdx, %rcx
jg 0x3fc02
movzwl (%rax,%r12), %esi
incq %rcx
leaq 0x2(%rax), %rdi
cmpw %si, (%rax,%rbp)
movq %rdi, %rax
jg 0x3fbe5
leal 0x1(%r13), %ecx
cmpl %ebx, %ecx
jg 0x3fd7d
movl 0x64c1c(%rip), %eax     # 0xa4830
movslq %ecx, %r15
leaq 0x564902(%rip), %r14    # 0x5a4520
leaq 0x4692eb(%rip), %r10    # 0x4a8f10
incl %r13d
js 0x3fd71
cmpl %r13d, %eax
jle 0x3fd71
movl %r13d, %edx
movswl (%r14,%rdx,2), %esi
movslq 0x39212a(%rip), %rdi    # 0x3d1d70
addq %r15, %rdi
movswl (%rbp,%rdi,2), %ecx
movl 0x393f2b(%rip), %r9d    # 0x3d3b80
subl %r9d, %ecx
cmpl %esi, %ecx
cmovll %esi, %ecx
movswl (%r10,%rdx,2), %esi
movswl (%r12,%rdi,2), %r8d
subl %r9d, %r8d
cmpl %esi, %r8d
cmovgl %esi, %r8d
decl %r8d
cmpw %cx, %r8w
jl 0x3fd71
movswl %cx, %r10d
movslq 0x3d037b(%rip), %rax    # 0x410004
leaq 0x46b080(%rip), %rcx    # 0x4aad10
movslq (%rcx,%rdx,4), %rcx
movslq 0x3d4b95(%rip), %rsi    # 0x414830
imulq %rcx, %rsi
shrq $0x10, %rsi
sarl $0x8, %esi
addl 0x3d4b80(%rip), %esi    # 0x41482c
testl %esi, %esi
movl $0x0, %edi
cmovlel %edi, %esi
movswl 0x3d4b6b(%rip), %edi    # 0x414828
decl %edi
cmpl %edi, %esi
cmovll %esi, %edi
shll $0x8, %edi
movslq %edi, %rsi
leaq 0x358e0f(%rip), %rdi    # 0x398ae0
addq (%rdi,%rax,8), %rsi
movl 0x413e15(%rip), %edi    # 0x453af0
imull %ecx, %edi
movl %r10d, %ecx
subl 0x23bdb5(%rip), %ecx    # 0x27ba9c
incl %ecx
imull %edi, %ecx
addl 0x413dfa(%rip), %ecx    # 0x453aec
movl 0x413de8(%rip), %eax    # 0x453ae0
leaq 0x46ec11(%rip), %r9     # 0x4ae910
addl (%r9,%rdx,4), %eax
movswq 0x3d0305(%rip), %r9     # 0x410010
leaq 0x3d030e(%rip), %rdx    # 0x410020
movswl (%rdx,%r9,2), %r11d
cmpl %r11d, %eax
jl 0x3fd22
cltd
idivl %r11d
movl %edx, %eax
movswl %r8w, %edx
leaq 0x3c1ab3(%rip), %r8     # 0x4017e0
movswq (%r8,%r9,2), %r11
movslq %eax, %r8
imulq %r11, %r8
leaq 0x3595a0(%rip), %rax    # 0x3992e0
addq (%rax,%r9,8), %r8
movslq %r10d, %rax
leaq 0x3d6f52(%rip), %r9     # 0x416ca0
movslq (%r9,%rax,4), %r9
addq 0x397a37(%rip), %r9     # 0x3d7790
addq %r15, %r9
subl %r10d, %edx
callq 0x6fcae
movl 0x64ac6(%rip), %eax     # 0xa4830
leaq 0x46919f(%rip), %r10    # 0x4a8f10
incq %r15
cmpl %ebx, %r13d
jl 0x3fc25
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xacd7
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq