// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/polymost.c
// Function: polymost_scansector
static void polymost_scansector (int sectnum)
{
	double d, xp1, yp1, xp2, yp2;
	walltype *wal, *wal2;
	spritetype *spr;
	int z, zz, startwall, endwall, numscansbefore, scanfirst, bunchfrst, nextsectnum;
	int xs, ys, x1, y1, x2, y2;

	if (sectnum < 0) return;
	if (automapping) show2dsector[sectnum>>3] |= pow2char[sectnum&7];

	sectorborder[0] = sectnum, sectorbordercnt = 1;
	do
	{
		sectnum = sectorborder[--sectorbordercnt];

		for(z=headspritesect[sectnum];z>=0;z=nextspritesect[z])
		{
			spr = &sprite[z];
			if ((((spr->cstat&0x8000) == 0) || (showinvisibility)) &&
				  (spr->xrepeat > 0) && (spr->yrepeat > 0) &&
				  (spritesortcnt < MAXSPRITESONSCREEN))
			{
				xs = spr->x-globalposx; ys = spr->y-globalposy;
				if ((spr->cstat&48) || (xs*gcosang+ys*gsinang > 0))
				{
					copybufbyte(spr,&tsprite[spritesortcnt],sizeof(spritetype));
					tsprite[spritesortcnt++].owner = z;
				}
			}
		}

		gotsector[sectnum>>3] |= pow2char[sectnum&7];

		bunchfrst = numbunches;
		numscansbefore = numscans;

		startwall = sector[sectnum].wallptr; endwall = sector[sectnum].wallnum+startwall;
		scanfirst = numscans;
		xp2 = 0; yp2 = 0;
		for(z=startwall,wal=&wall[z];z<endwall;z++,wal++)
		{
			wal2 = &wall[wal->point2];
			x1 = wal->x-globalposx; y1 = wal->y-globalposy;
			x2 = wal2->x-globalposx; y2 = wal2->y-globalposy;

			nextsectnum = wal->nextsector; //Scan close sectors
			if ((nextsectnum >= 0) && (!(wal->cstat&32)) && (!(gotsector[nextsectnum>>3]&pow2char[nextsectnum&7])))
			{
				d = (double)x1*(double)y2 - (double)x2*(double)y1; xp1 = (double)(x2-x1); yp1 = (double)(y2-y1);
				if (d*d <= (xp1*xp1 + yp1*yp1)*(SCISDIST*SCISDIST*260.0))
					sectorborder[sectorbordercnt++] = nextsectnum;
			}

			if ((z == startwall) || (wall[z-1].point2 != z))
			{
				xp1 = ((double)y1*(double)cosglobalang             - (double)x1*(double)singlobalang            )/64.0;
				yp1 = ((double)x1*(double)cosviewingrangeglobalang + (double)y1*(double)sinviewingrangeglobalang)/64.0;
			}
			else { xp1 = xp2; yp1 = yp2; }
			xp2 = ((double)y2*(double)cosglobalang             - (double)x2*(double)singlobalang            )/64.0;
			yp2 = ((double)x2*(double)cosviewingrangeglobalang + (double)y2*(double)sinviewingrangeglobalang)/64.0;
			if ((yp1 >= SCISDIST) || (yp2 >= SCISDIST))
				if ((double)xp1*(double)yp2 < (double)xp2*(double)yp1) //if wall is facing you...
				{
					if (yp1 >= SCISDIST)
						  dxb1[numscans] = (double)xp1*ghalfx/(double)yp1 + ghalfx;
					else dxb1[numscans] = -1e32;

					if (yp2 >= SCISDIST)
						  dxb2[numscans] = (double)xp2*ghalfx/(double)yp2 + ghalfx;
					else dxb2[numscans] = 1e32;

					if (dxb1[numscans] < dxb2[numscans])
						{ thesector[numscans] = sectnum; thewall[numscans] = z; p2[numscans] = numscans+1; numscans++; }
				}

			if ((wall[z].point2 < z) && (scanfirst < numscans))
				{ p2[numscans-1] = scanfirst; scanfirst = numscans; }
		}

		for(z=numscansbefore;z<numscans;z++)
			if ((wall[thewall[z]].point2 != thewall[p2[z]]) || (dxb2[z] > dxb1[p2[z]]))
				{ bunchfirst[numbunches++] = p2[z]; p2[z] = -1; }

		for(z=bunchfrst;z<numbunches;z++)
		{
			for(zz=bunchfirst[z];p2[zz]>=0;zz=p2[zz]);
			bunchlast[z] = zz;
		}
	} while (sectorbordercnt > 0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x4(%rbp)
cmpl $0x0, -0x4(%rbp)
jge 0x7a449
jmp 0x7ad84
leaq 0x36ebf0(%rip), %rax    # 0x3e9040
cmpb $0x0, (%rax)
je 0x7a48b
movl -0x4(%rbp), %eax
andl $0x7, %eax
movslq %eax, %rcx
leaq 0x6682b(%rip), %rax     # 0xe0c90
movzbl (%rax,%rcx), %edx
movl -0x4(%rbp), %eax
sarl $0x3, %eax
movslq %eax, %rcx
leaq 0x36d9c7(%rip), %rax    # 0x3e7e40
movzbl (%rax,%rcx), %eax
orl %edx, %eax
movb %al, %dl
leaq 0x36d9b8(%rip), %rax    # 0x3e7e40
movb %dl, (%rax,%rcx)
movl -0x4(%rbp), %eax
movw %ax, %cx
leaq 0x40e4d8(%rip), %rax    # 0x488970
movw %cx, (%rax)
leaq 0x40e6ce(%rip), %rax    # 0x488b70
movw $0x1, (%rax)
leaq 0x40e6c2(%rip), %rax    # 0x488b70
movw (%rax), %ax
addw $-0x1, %ax
leaq 0x40e6b4(%rip), %rcx    # 0x488b70
movw %ax, (%rcx)
movswq %ax, %rcx
leaq 0x40e4a6(%rip), %rax    # 0x488970
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x36eb94(%rip), %rax    # 0x3e9070
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4c(%rbp)
cmpl $0x0, -0x4c(%rbp)
jl 0x7a630
movslq -0x4c(%rbp), %rcx
leaq 0x23f318(%rip), %rax    # 0x2b9810
imulq $0x2c, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movswl 0xc(%rax), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
je 0x7a528
leaq 0x320110(%rip), %rax    # 0x39a62c
movzbl (%rax), %eax
cmpl $0x0, %eax
je 0x7a617
movq -0x48(%rbp), %rax
movzbl 0x14(%rax), %eax
cmpl $0x0, %eax
jle 0x7a617
movq -0x48(%rbp), %rax
movzbl 0x15(%rax), %eax
cmpl $0x0, %eax
jle 0x7a617
leaq 0x397fb3(%rip), %rax    # 0x412504
cmpl $0x800, (%rax)          # imm = 0x800
jge 0x7a617
movq -0x48(%rbp), %rax
movl (%rax), %eax
leaq 0x1fd046(%rip), %rcx    # 0x2775b0
subl (%rcx), %eax
movl %eax, -0x6c(%rbp)
movq -0x48(%rbp), %rax
movl 0x4(%rax), %eax
leaq 0x1fd037(%rip), %rcx    # 0x2775b4
subl (%rcx), %eax
movl %eax, -0x70(%rbp)
movq -0x48(%rbp), %rax
movswl 0xc(%rax), %eax
andl $0x30, %eax
cmpl $0x0, %eax
jne 0x7a5bd
cvtsi2sdl -0x6c(%rbp), %xmm0
movsd 0x5733e1(%rip), %xmm2   # 0x5ed980
cvtsi2sdl -0x70(%rbp), %xmm1
mulsd 0x5733e4(%rip), %xmm1   # 0x5ed990
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x7a615
movq -0x48(%rbp), %rdi
leaq 0x397f3c(%rip), %rax    # 0x412504
movslq (%rax), %rax
leaq 0x3a1f5e(%rip), %rsi    # 0x41c530
imulq $0x2c, %rax, %rax
addq %rax, %rsi
movl $0x2c, %edx
callq 0x6ef00
movl -0x4c(%rbp), %eax
movw %ax, %cx
leaq 0x397f14(%rip), %rax    # 0x412504
movl (%rax), %eax
movl %eax, %esi
addl $0x1, %esi
leaq 0x397f06(%rip), %rdx    # 0x412504
movl %esi, (%rdx)
movslq %eax, %rdx
leaq 0x3a1f26(%rip), %rax    # 0x41c530
imulq $0x2c, %rdx, %rdx
addq %rdx, %rax
movw %cx, 0x1e(%rax)
jmp 0x7a617
jmp 0x7a619
movslq -0x4c(%rbp), %rcx
leaq 0x378a5c(%rip), %rax    # 0x3f3080
movswl (%rax,%rcx,2), %eax
movl %eax, -0x4c(%rbp)
jmp 0x7a4e3
movl -0x4(%rbp), %eax
andl $0x7, %eax
movslq %eax, %rcx
leaq 0x66650(%rip), %rax     # 0xe0c90
movzbl (%rax,%rcx), %edx
movl -0x4(%rbp), %eax
sarl $0x3, %eax
movslq %eax, %rcx
leaq 0x39226c(%rip), %rax    # 0x40c8c0
movzbl (%rax,%rcx), %eax
orl %edx, %eax
movb %al, %dl
leaq 0x39225d(%rip), %rax    # 0x40c8c0
movb %dl, (%rax,%rcx)
leaq 0x397e8f(%rip), %rax    # 0x4124fc
movswl (%rax), %eax
movl %eax, -0x64(%rbp)
leaq 0x397e80(%rip), %rax    # 0x4124fa
movswl (%rax), %eax
movl %eax, -0x5c(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x205f35(%rip), %rax    # 0x2805c0
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movswl (%rax), %eax
movl %eax, -0x54(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x205f1d(%rip), %rax    # 0x2805c0
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movswl 0x2(%rax), %eax
addl -0x54(%rbp), %eax
movl %eax, -0x58(%rbp)
leaq 0x397e3f(%rip), %rax    # 0x4124fa
movswl (%rax), %eax
movl %eax, -0x60(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x28(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x30(%rbp)
movl -0x54(%rbp), %eax
movl %eax, -0x4c(%rbp)
movslq -0x4c(%rbp), %rcx
leaq 0x17aece(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movl -0x4c(%rbp), %eax
cmpl -0x58(%rbp), %eax
jge 0x7ac18
movq -0x38(%rbp), %rax
movswq 0x8(%rax), %rcx
leaq 0x17aea7(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
movl (%rax), %eax
leaq 0x1fce8f(%rip), %rcx    # 0x2775b0
subl (%rcx), %eax
movl %eax, -0x74(%rbp)
movq -0x38(%rbp), %rax
movl 0x4(%rax), %eax
leaq 0x1fce80(%rip), %rcx    # 0x2775b4
subl (%rcx), %eax
movl %eax, -0x78(%rbp)
movq -0x40(%rbp), %rax
movl (%rax), %eax
leaq 0x1fce6a(%rip), %rcx    # 0x2775b0
subl (%rcx), %eax
movl %eax, -0x7c(%rbp)
movq -0x40(%rbp), %rax
movl 0x4(%rax), %eax
leaq 0x1fce5b(%rip), %rcx    # 0x2775b4
subl (%rcx), %eax
movl %eax, -0x80(%rbp)
movq -0x38(%rbp), %rax
movswl 0xc(%rax), %eax
movl %eax, -0x68(%rbp)
cmpl $0x0, -0x68(%rbp)
jl 0x7a87e
movq -0x38(%rbp), %rax
movswl 0xe(%rax), %eax
andl $0x20, %eax
cmpl $0x0, %eax
jne 0x7a87e
movl -0x68(%rbp), %eax
sarl $0x3, %eax
movslq %eax, %rcx
leaq 0x392129(%rip), %rax    # 0x40c8c0
movzbl (%rax,%rcx), %eax
movl -0x68(%rbp), %ecx
andl $0x7, %ecx
movslq %ecx, %rdx
leaq 0x664e5(%rip), %rcx     # 0xe0c90
movzbl (%rcx,%rdx), %ecx
andl %ecx, %eax
cmpl $0x0, %eax
jne 0x7a87e
cvtsi2sdl -0x74(%rbp), %xmm0
cvtsi2sdl -0x80(%rbp), %xmm2
cvtsi2sdl -0x7c(%rbp), %xmm1
cvtsi2sdl -0x78(%rbp), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x10(%rbp)
movl -0x7c(%rbp), %eax
subl -0x74(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x18(%rbp)
movl -0x80(%rbp), %eax
subl -0x78(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x10(%rbp), %xmm1
mulsd -0x10(%rbp), %xmm1
movsd -0x18(%rbp), %xmm0
movsd -0x18(%rbp), %xmm3
movsd -0x20(%rbp), %xmm2
mulsd -0x20(%rbp), %xmm2
mulsd %xmm3, %xmm0
addsd %xmm2, %xmm0
movsd 0x3bc66(%rip), %xmm2    # 0xb64a8
mulsd %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jb 0x7a87c
movl -0x68(%rbp), %eax
movw %ax, %dx
leaq 0x40e317(%rip), %rax    # 0x488b70
movw (%rax), %ax
movw %ax, %si
addw $0x1, %si
leaq 0x40e306(%rip), %rcx    # 0x488b70
movw %si, (%rcx)
movswq %ax, %rcx
leaq 0x40e0f8(%rip), %rax    # 0x488970
movw %dx, (%rax,%rcx,2)
jmp 0x7a87e
movl -0x4c(%rbp), %eax
cmpl -0x54(%rbp), %eax
je 0x7a8aa
movl -0x4c(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x17ad1a(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movswl 0x8(%rax), %eax
cmpl -0x4c(%rbp), %eax
je 0x7a93d
cvtsi2sdl -0x78(%rbp), %xmm0
leaq 0x231d1a(%rip), %rax    # 0x2ac5d0
cvtsi2sdl (%rax), %xmm2
cvtsi2sdl -0x74(%rbp), %xmm1
leaq 0x231d12(%rip), %rax    # 0x2ac5d8
cvtsi2sdl (%rax), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x383fb(%rip), %xmm1    # 0xb2cf0
divsd %xmm1, %xmm0
movsd %xmm0, -0x18(%rbp)
cvtsi2sdl -0x74(%rbp), %xmm0
leaq 0x231cd2(%rip), %rax    # 0x2ac5dc
cvtsi2sdl (%rax), %xmm2
cvtsi2sdl -0x78(%rbp), %xmm1
leaq 0x231cba(%rip), %rax    # 0x2ac5d4
cvtsi2sdl (%rax), %xmm3
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x383be(%rip), %xmm1    # 0xb2cf0
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x7a951
movsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x18(%rbp)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
cvtsi2sdl -0x80(%rbp), %xmm0
leaq 0x231c73(%rip), %rax    # 0x2ac5d0
cvtsi2sdl (%rax), %xmm2
cvtsi2sdl -0x7c(%rbp), %xmm1
leaq 0x231c6b(%rip), %rax    # 0x2ac5d8
cvtsi2sdl (%rax), %xmm3
mulsd %xmm3, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x38354(%rip), %xmm1    # 0xb2cf0
divsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
cvtsi2sdl -0x7c(%rbp), %xmm0
leaq 0x231c2b(%rip), %rax    # 0x2ac5dc
cvtsi2sdl (%rax), %xmm2
cvtsi2sdl -0x80(%rbp), %xmm1
leaq 0x231c13(%rip), %rax    # 0x2ac5d4
cvtsi2sdl (%rax), %xmm3
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x38317(%rip), %xmm1    # 0xb2cf0
divsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x20(%rbp), %xmm0
movsd 0x36fe1(%rip), %xmm1    # 0xb19d0
ucomisd %xmm1, %xmm0
jae 0x7aa0c
movsd -0x30(%rbp), %xmm0
movsd 0x36fce(%rip), %xmm1    # 0xb19d0
ucomisd %xmm1, %xmm0
jb 0x7aba2
movsd -0x18(%rbp), %xmm1
mulsd -0x30(%rbp), %xmm1
movsd -0x28(%rbp), %xmm0
mulsd -0x20(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x7aba0
movsd -0x20(%rbp), %xmm0
movsd 0x36f99(%rip), %xmm1    # 0xb19d0
ucomisd %xmm1, %xmm0
jb 0x7aa70
movsd -0x18(%rbp), %xmm0
mulsd 0x5730b6(%rip), %xmm0   # 0x5edb00
divsd -0x20(%rbp), %xmm0
addsd 0x5730a9(%rip), %xmm0   # 0x5edb00
leaq 0x397a9c(%rip), %rax    # 0x4124fa
movswq (%rax), %rcx
leaq 0x577147(%rip), %rax    # 0x5f1bb0
movsd %xmm0, (%rax,%rcx,8)
jmp 0x7aa8f
leaq 0x397a83(%rip), %rax    # 0x4124fa
movswq (%rax), %rcx
leaq 0x57712e(%rip), %rax    # 0x5f1bb0
movsd 0x3ba26(%rip), %xmm0    # 0xb64b0
movsd %xmm0, (%rax,%rcx,8)
movsd -0x30(%rbp), %xmm0
movsd 0x36f34(%rip), %xmm1    # 0xb19d0
ucomisd %xmm1, %xmm0
jb 0x7aad5
movsd -0x28(%rbp), %xmm0
mulsd 0x573051(%rip), %xmm0   # 0x5edb00
divsd -0x30(%rbp), %xmm0
addsd 0x573044(%rip), %xmm0   # 0x5edb00
leaq 0x397a37(%rip), %rax    # 0x4124fa
movswq (%rax), %rcx
leaq 0x57f0e2(%rip), %rax    # 0x5f9bb0
movsd %xmm0, (%rax,%rcx,8)
jmp 0x7aaf4
leaq 0x397a1e(%rip), %rax    # 0x4124fa
movswq (%rax), %rcx
leaq 0x57f0c9(%rip), %rax    # 0x5f9bb0
movsd 0x3b9c9(%rip), %xmm0    # 0xb64b8
movsd %xmm0, (%rax,%rcx,8)
leaq 0x3979ff(%rip), %rax    # 0x4124fa
movswq (%rax), %rcx
leaq 0x5770aa(%rip), %rax    # 0x5f1bb0
movsd (%rax,%rcx,8), %xmm1
leaq 0x3979e8(%rip), %rax    # 0x4124fa
movswq (%rax), %rcx
leaq 0x57f093(%rip), %rax    # 0x5f9bb0
movsd (%rax,%rcx,8), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x7ab9e
movl -0x4(%rbp), %eax
movw %ax, %dx
leaq 0x3979c5(%rip), %rax    # 0x4124fa
movswq (%rax), %rcx
leaq 0x409090(%rip), %rax    # 0x483bd0
movw %dx, (%rax,%rcx,2)
movl -0x4c(%rbp), %eax
movw %ax, %dx
leaq 0x3979a9(%rip), %rax    # 0x4124fa
movswq (%rax), %rcx
leaq 0x1faa54(%rip), %rax    # 0x2755b0
movw %dx, (%rax,%rcx,2)
leaq 0x397993(%rip), %rax    # 0x4124fa
movswl (%rax), %eax
addl $0x1, %eax
movw %ax, %dx
leaq 0x397983(%rip), %rax    # 0x4124fa
movswq (%rax), %rcx
leaq 0x39f9ae(%rip), %rax    # 0x41a530
movw %dx, (%rax,%rcx,2)
leaq 0x39796d(%rip), %rax    # 0x4124fa
movw (%rax), %cx
addw $0x1, %cx
leaq 0x39795f(%rip), %rax    # 0x4124fa
movw %cx, (%rax)
jmp 0x7aba0
jmp 0x7aba2
movslq -0x4c(%rbp), %rcx
leaq 0x17aa03(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movswl 0x8(%rax), %eax
cmpl -0x4c(%rbp), %eax
jge 0x7abfc
movl -0x60(%rbp), %eax
leaq 0x397933(%rip), %rcx    # 0x4124fa
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x7abfc
movl -0x60(%rbp), %eax
movw %ax, %dx
leaq 0x39791f(%rip), %rax    # 0x4124fa
movswl (%rax), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x39f945(%rip), %rax    # 0x41a530
movw %dx, (%rax,%rcx,2)
leaq 0x397904(%rip), %rax    # 0x4124fa
movswl (%rax), %eax
movl %eax, -0x60(%rbp)
jmp 0x7abfe
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
movq -0x38(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x38(%rbp)
jmp 0x7a6ed
movl -0x5c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
leaq 0x3978d2(%rip), %rcx    # 0x4124fa
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x7acfc
movslq -0x4c(%rbp), %rcx
leaq 0x1fa972(%rip), %rax    # 0x2755b0
movswq (%rax,%rcx,2), %rcx
leaq 0x17a966(%rip), %rax    # 0x1f55b0
shlq $0x5, %rcx
addq %rcx, %rax
movswl 0x8(%rax), %eax
movslq -0x4c(%rbp), %rdx
leaq 0x39f8d0(%rip), %rcx    # 0x41a530
movswq (%rcx,%rdx,2), %rdx
leaq 0x1fa944(%rip), %rcx    # 0x2755b0
movswl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
jne 0x7aca2
movslq -0x4c(%rbp), %rcx
leaq 0x57ef31(%rip), %rax    # 0x5f9bb0
movsd (%rax,%rcx,8), %xmm0
movslq -0x4c(%rbp), %rcx
leaq 0x39f8a1(%rip), %rax    # 0x41a530
movswq (%rax,%rcx,2), %rcx
leaq 0x576f15(%rip), %rax    # 0x5f1bb0
ucomisd (%rax,%rcx,8), %xmm0
jbe 0x7acec
movslq -0x4c(%rbp), %rcx
leaq 0x39f883(%rip), %rax    # 0x41a530
movw (%rax,%rcx,2), %dx
leaq 0x397844(%rip), %rax    # 0x4124fc
movw (%rax), %ax
movw %ax, %si
addw $0x1, %si
leaq 0x397833(%rip), %rcx    # 0x4124fc
movw %si, (%rcx)
movswq %ax, %rcx
leaq 0x397849(%rip), %rax    # 0x412520
movw %dx, (%rax,%rcx,2)
movslq -0x4c(%rbp), %rcx
leaq 0x39f84a(%rip), %rax    # 0x41a530
movw $0xffff, (%rax,%rcx,2)  # imm = 0xFFFF
jmp 0x7acee
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x7ac1e
movl -0x64(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
leaq 0x3977f0(%rip), %rcx    # 0x4124fc
movswl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x7ad6f
movslq -0x4c(%rbp), %rcx
leaq 0x397802(%rip), %rax    # 0x412520
movswl (%rax,%rcx,2), %eax
movl %eax, -0x50(%rbp)
movslq -0x50(%rbp), %rcx
leaq 0x39f800(%rip), %rax    # 0x41a530
movswl (%rax,%rcx,2), %eax
cmpl $0x0, %eax
jl 0x7ad4f
jmp 0x7ad3b
movslq -0x50(%rbp), %rcx
leaq 0x39f7ea(%rip), %rax    # 0x41a530
movswl (%rax,%rcx,2), %eax
movl %eax, -0x50(%rbp)
jmp 0x7ad25
movl -0x50(%rbp), %eax
movw %ax, %dx
movslq -0x4c(%rbp), %rcx
leaq 0x3997c0(%rip), %rax    # 0x414520
movw %dx, (%rax,%rcx,2)
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x7ad02
jmp 0x7ad71
leaq 0x40ddf8(%rip), %rax    # 0x488b70
movswl (%rax), %eax
cmpl $0x0, %eax
jg 0x7a4a7
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)