// File: /workspace/github_c_makefile_star2_O3/jonof[P]jftekwar/jfbuild/src/polymost.c
// Function: polymost_fillpolygon
void polymost_fillpolygon (int npoints)
{
	PTHead *pth;
	int i;
	unsigned short ptflags = 0;
	struct polymostdrawpolycall draw;

	globalx1 = mulscale16(globalx1,xyaspect);
	globaly2 = mulscale16(globaly2,xyaspect);
	gux = ((double)asm1)*(1.0/4294967296.0);
	gvx = ((double)asm2)*(1.0/4294967296.0);
	guy = ((double)globalx1)*(1.0/4294967296.0);
	gvy = ((double)globaly2)*(-1.0/4294967296.0);
	guo = (((double)xdim)*gux + ((double)ydim)*guy)*-.5 + ((double)globalposx)*(1.0/4294967296.0);
	gvo = (((double)xdim)*gvx + ((double)ydim)*gvy)*-.5 - ((double)globalposy)*(1.0/4294967296.0);

		//Convert int to float (in-place)
	for(i=npoints-1;i>=0;i--)
	{
		((float *)rx1)[i] = ((float)rx1[i])/4096.0;
		((float *)ry1)[i] = ((float)ry1[i])/4096.0;
	}

	if ((unsigned int)globalpicnum >= MAXTILES) globalpicnum = 0;
	if (!palookup[globalpal]) globalpal = 0;

	if (usehightile) ptflags |= PTH_HIGHTILE;

	draw.texture0 = 0;
	pth = PT_GetHead(globalpicnum, globalpal, ptflags, 0);
	if (pth && pth->pic[PTHPIC_BASE]) {
		draw.texture0 = pth->pic[ PTHPIC_BASE ]->glpic;
	}
	draw.texture1 = nulltexture;
	draw.alphacut = 0.f;
	draw.fogcolour.r = draw.fogcolour.g = draw.fogcolour.b = draw.fogcolour.a = 0.f;
	draw.fogdensity = 0.f;

	draw.colour.r = draw.colour.g = draw.colour.b =
		((float)(numpalookups-min(max(globalshade,0),numpalookups)))/((float)numpalookups);
	switch ((globalorientation>>7)&3) {
		case 0:
		case 1: draw.colour.a = 1.0; glfunc.glDisable(GL_BLEND); break;
		case 2: draw.colour.a = 0.66; glfunc.glEnable(GL_BLEND); break;
		case 3: draw.colour.a = 0.33; glfunc.glEnable(GL_BLEND); break;
	}
	if (pth && (pth->flags & PTH_HIGHTILE) && (globalpal != pth->repldef->palnum)) {
		// apply tinting for replaced textures
		draw.colour.r *= (float)hictinting[globalpal].r / 255.0;
		draw.colour.g *= (float)hictinting[globalpal].g / 255.0;
		draw.colour.b *= (float)hictinting[globalpal].b / 255.0;
	}

	draw.modelview = &gidentitymat[0][0];
	draw.projection = &gorthoprojmat[0][0];

	draw.indexbuffer = 0;
	draw.elementbuffer = 0;
	tessectrap((float *)rx1,(float *)ry1,xb1,npoints,&draw);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movl %edi, %ebx
leaq 0x3b7db5(%rip), %rax    # 0x414838
movslq (%rax), %rcx
leaq 0x300e2b(%rip), %rdx    # 0x35d8b8
movslq (%rdx), %rdx
imulq %rdx, %rcx
shrq $0x10, %rcx
movl %ecx, (%rax)
leaq 0x3b7da3(%rip), %rax    # 0x414844
movslq (%rax), %rsi
imulq %rdx, %rsi
shrq $0x10, %rsi
movl %esi, (%rax)
leaq 0x3ba19f(%rip), %rax    # 0x416c54
cvtsi2sdl (%rax), %xmm1
movsd 0x1de17(%rip), %xmm3    # 0x7a8d8
mulsd %xmm3, %xmm1
movsd %xmm1, 0x59e09b(%rip)   # 0x5fab68
leaq 0x3ba184(%rip), %rax    # 0x416c58
cvtsi2sdl (%rax), %xmm0
mulsd %xmm3, %xmm0
movsd %xmm0, 0x59e09c(%rip)   # 0x5fab80
cvtsi2sd %ecx, %xmm4
mulsd %xmm3, %xmm4
movsd %xmm4, 0x59e07c(%rip)   # 0x5fab70
cvtsi2sd %esi, %xmm5
movsd 0x1de50(%rip), %xmm2    # 0x7a950
leaq 0x3ab4e5(%rip), %rax    # 0x407fec
cvtsi2sdl (%rax), %xmm6
mulsd %xmm2, %xmm5
leaq 0x3ab4da(%rip), %rax    # 0x407ff0
cvtsi2sdl (%rax), %xmm7
movsd %xmm5, 0x59e066(%rip)   # 0x5fab88
mulsd %xmm7, %xmm4
mulsd %xmm6, %xmm1
addsd %xmm4, %xmm1
leaq 0x1ddf1b(%rip), %rax    # 0x23aa50
xorps %xmm4, %xmm4
cvtsi2sdl (%rax), %xmm4
mulsd %xmm3, %xmm4
movsd 0x1dcd8(%rip), %xmm3    # 0x7a820
mulsd %xmm3, %xmm1
addsd %xmm4, %xmm1
movsd %xmm1, 0x59e020(%rip)   # 0x5fab78
mulsd %xmm7, %xmm5
mulsd %xmm6, %xmm0
addsd %xmm5, %xmm0
leaq 0x1ddee9(%rip), %rax    # 0x23aa54
xorps %xmm1, %xmm1
cvtsi2sdl (%rax), %xmm1
mulsd %xmm2, %xmm1
mulsd %xmm3, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x59e00a(%rip)   # 0x5fab90
movl %edi, %r12d
testl %edi, %edi
jle 0x5cbd7
leaq 0x1(%r12), %rax
leaq 0x3ab467(%rip), %rcx    # 0x408000
movss 0x1da23(%rip), %xmm0    # 0x7a5c4
leaq 0x3af458(%rip), %rdx    # 0x40c000
xorps %xmm1, %xmm1
cvtsi2ssl -0x8(%rcx,%rax,4), %xmm1
mulss %xmm0, %xmm1
movss %xmm1, -0x8(%rcx,%rax,4)
xorps %xmm1, %xmm1
cvtsi2ssl -0x8(%rdx,%rax,4), %xmm1
mulss %xmm0, %xmm1
movss %xmm1, -0x8(%rdx,%rax,4)
decq %rax
cmpq $0x1, %rax
ja 0x5cba8
leaq 0x3b3432(%rip), %rcx    # 0x410010
movzwl (%rcx), %eax
cmpl $0x2400, %eax           # imm = 0x2400
jb 0x5cbef
movw $0x0, (%rcx)
xorl %eax, %eax
leaq 0x3b340e(%rip), %r15    # 0x410004
movslq (%r15), %rsi
leaq 0x33bee0(%rip), %rcx    # 0x398ae0
cmpq $0x0, (%rcx,%rsi,8)
jne 0x5cc10
movl $0x0, (%r15)
xorl %esi, %esi
xorl %edx, %edx
cmpl $0x0, 0x488fb(%rip)     # 0xa5514
setne %dl
movl $0x0, 0x40(%rsp)
movzwl %ax, %edi
addl %edx, %edx
xorl %ebp, %ebp
xorl %ecx, %ecx
callq 0x674d5
movq %rax, %r14
testq %rax, %rax
je 0x5cc48
movq (%r14), %rax
testq %rax, %rax
je 0x5cc48
movl (%rax), %eax
movl %eax, 0x40(%rsp)
movl 0x59ddfa(%rip), %eax    # 0x5faa48
movl %eax, 0x44(%rsp)
movl %ebp, 0x48(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x5c(%rsp)
movl %ebp, 0x6c(%rsp)
leaq 0x3b7bbd(%rip), %rax    # 0x414828
leaq 0x3b7bba(%rip), %rcx    # 0x41482c
movl (%rcx), %ecx
testl %ecx, %ecx
cmovgl %ecx, %ebp
movswl (%rax), %eax
cmpl %eax, %ebp
cmovgel %eax, %ebp
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
subl %ebp, %eax
xorps %xmm1, %xmm1
cvtsi2ss %eax, %xmm1
divss %xmm0, %xmm1
movss %xmm1, 0x54(%rsp)
movss %xmm1, 0x50(%rsp)
movss %xmm1, 0x18(%rsp)
movss %xmm1, 0x4c(%rsp)
leaq 0x3b334c(%rip), %rax    # 0x410000
movl (%rax), %eax
shrl $0x7, %eax
andl $0x3, %eax
leaq 0x1db4d(%rip), %rcx     # 0x7a810
movss (%rcx,%rax,4), %xmm0
leaq 0x35e71(%rip), %rcx     # 0x92b40
movq (%rcx,%rax,8), %rax
movss %xmm0, 0x58(%rsp)
movl $0xbe2, %edi            # imm = 0xBE2
callq *(%rax)
testq %r14, %r14
je 0x5cd5b
testb $0x2, 0x38(%r14)
je 0x5cd5b
movslq (%r15), %rax
movq 0x40(%r14), %rcx
movzbl 0x8(%rcx), %ecx
cmpl %ecx, %eax
je 0x5cd5b
leaq 0x5ebf1e(%rip), %rcx    # 0x648c20
movd (%rcx,%rax,4), %xmm0
xorps %xmm1, %xmm1
punpcklbw %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
cvtdq2pd %xmm0, %xmm0
divpd 0x1d922(%rip), %xmm0    # 0x7a640
xorps %xmm1, %xmm1
cvtss2sd 0x18(%rsp), %xmm1
movzbl 0x2(%rcx,%rax,4), %eax
cvtsi2sd %eax, %xmm2
divsd 0x1a3b8(%rip), %xmm2    # 0x770f0
mulsd %xmm1, %xmm2
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
mulpd %xmm0, %xmm1
cvtpd2ps %xmm1, %xmm0
movlpd %xmm0, 0x4c(%rsp)
xorps %xmm0, %xmm0
cvtsd2ss %xmm2, %xmm0
movss %xmm0, 0x54(%rsp)
leaq 0x1dc6e(%rip), %rax     # 0x7a9d0
movq %rax, 0x70(%rsp)
leaq 0x59dd72(%rip), %rax    # 0x5faae0
movq %rax, 0x78(%rsp)
xorl %eax, %eax
movl %eax, 0x80(%rsp)
movl %eax, 0x88(%rsp)
leal 0x10(%rbx), %eax
cmpl 0x5d9e58(%rip), %eax    # 0x636be4
jle 0x5cdf8
movl %eax, 0x5d9e50(%rip)    # 0x636be4
movq 0x5d9e5d(%rip), %rdi    # 0x636bf8
movl %eax, %r14d
movq %r14, %rsi
shlq $0x4, %rsi
callq 0x6120
movq %rax, 0x5d9e47(%rip)    # 0x636bf8
movq 0x5d9e30(%rip), %rdi    # 0x636be8
shlq $0x2, %r14
movq %r14, %rsi
callq 0x6120
movq %rax, 0x5d9e1d(%rip)    # 0x636be8
movq 0x5d9e1e(%rip), %rdi    # 0x636bf0
movq %r14, %rsi
callq 0x6120
movq %rax, 0x5d9e0f(%rip)    # 0x636bf0
movq 0x5d9e18(%rip), %rdi    # 0x636c00
leaq (%r14,%r14,4), %rsi
callq 0x6120
movq %rax, 0x5d9e08(%rip)    # 0x636c00
testl %ebx, %ebx
jle 0x5d639
movq 0x5d9de9(%rip), %rcx    # 0x636bf0
xorl %eax, %eax
leaq 0x20ec60(%rip), %rdx    # 0x26ba70
movl (%rdx,%rax,4), %esi
movl %esi, (%rcx,%rax,4)
incq %rax
cmpq %rax, %r12
jne 0x5ce10
leal -0x1(%rbx), %edi
xorl %esi, %esi
movl $0x3, %r8d
leaq 0x3ab1d0(%rip), %r13    # 0x408000
leaq 0x3af1c9(%rip), %r15    # 0x40c000
movl %ebx, %eax
xorl %r9d, %r9d
movl %esi, %ebp
movslq %r9d, %r10
cmpl %edi, %r10d
cmovll %r8d, %esi
cmpl %r10d, (%rdx,%r10,4)
movslq (%rcx,%r10,4), %r11
cmovgel %ebp, %esi
testq %r11, %r11
js 0x5cebe
movslq (%rcx,%r11,4), %r14
movss (%r13,%r11,4), %xmm1
movss (%r13,%r14,4), %xmm0
subss %xmm1, %xmm0
movaps %xmm1, %xmm2
subss (%r13,%r10,4), %xmm2
movss (%r15,%r14,4), %xmm1
movss (%r15,%r11,4), %xmm3
subss %xmm3, %xmm1
subss (%r15,%r10,4), %xmm3
mulss %xmm2, %xmm1
mulss %xmm3, %xmm0
ucomiss %xmm1, %xmm0
jbe 0x5cea0
orl $0x1, %esi
jmp 0x5cebe
ucomiss %xmm0, %xmm1
jbe 0x5ceaa
orl $0x2, %esi
jmp 0x5cebe
movl %r14d, (%rcx,%r10,4)
movl $0xffffffff, (%rcx,%r11,4) # imm = 0xFFFFFFFF
decl %eax
decl %r10d
movl %r10d, %r9d
incl %r9d
cmpl %ebx, %r9d
jl 0x5ce3c
testl %esi, %esi
je 0x5d639
leaq 0x3ab127(%rip), %r10    # 0x408000
movss (%r10), %xmm0
movss %xmm0, 0x5d9d26(%rip)   # 0x636c0c
movss %xmm0, 0x5d9d1a(%rip)   # 0x636c08
xorl %edi, %edi
movq 0x5d9cf1(%rip), %rdx    # 0x636be8
xorl %r8d, %r8d
movaps %xmm0, %xmm1
cmpl $0x0, (%rcx,%rdi,4)
js 0x5cf33
movss (%r10,%rdi,4), %xmm2
ucomiss %xmm2, %xmm0
jbe 0x5cf19
movss %xmm2, 0x5d9cf2(%rip)   # 0x636c08
movaps %xmm2, %xmm0
ucomiss %xmm1, %xmm2
jbe 0x5cf29
movss %xmm2, 0x5d9ce6(%rip)   # 0x636c0c
movaps %xmm2, %xmm1
movslq %r8d, %r9
incl %r8d
movl %edi, (%rdx,%r9,4)
incq %rdi
cmpq %rdi, %r12
jne 0x5cefd
cmpl $0x3, %esi
jne 0x5d56a
cmpl $0x2, %eax
jb 0x5cf9c
movl %eax, %esi
sarl %esi
movl %eax, %edi
subl %esi, %edi
jle 0x5cf97
xorl %r8d, %r8d
movl %r8d, %r11d
movl %r11d, %r9d
movslq (%rdx,%r9,4), %r10
movslq (%rcx,%r10,4), %r14
addl %esi, %r11d
movslq %r11d, %r11
movslq (%rdx,%r11,4), %rbx
movslq (%rcx,%rbx,4), %r12
movss (%r15,%r12,4), %xmm0
ucomiss (%r15,%r14,4), %xmm0
jae 0x5cf8f
movl %ebx, (%rdx,%r9,4)
movl %r10d, (%rdx,%r11,4)
subl %esi, %r9d
movl %r9d, %r11d
jns 0x5cf59
incl %r8d
cmpl %edi, %r8d
jne 0x5cf56
cmpl $0x2, %esi
jae 0x5cf4b
testl %eax, %eax
jle 0x5d639
movl %eax, %r8d
xorl %r13d, %r13d
xorl %r9d, %r9d
movq %r8, 0x20(%rsp)
movq 0x5d9c2f(%rip), %rax    # 0x636be8
movl (%rax,%r13,4), %edi
movq 0x5d9c2c(%rip), %rax    # 0x636bf0
movslq %edi, %rdx
movl (%rax,%rdx,4), %ebx
movss (%r15,%rdx,4), %xmm0
movslq %ebx, %r12
movss (%r15,%r12,4), %xmm5
ucomiss %xmm5, %xmm0
jne 0x5cfe4
jnp 0x5d559
movl (%rax,%r12,4), %esi
movslq %esi, %rcx
ucomiss (%r15,%rcx,4), %xmm5
movq %rdx, 0x18(%rsp)
jne 0x5d001
jp 0x5d001
movl %esi, %r10d
movl (%rax,%rcx,4), %esi
jmp 0x5d004
movl %ebx, %r10d
movl %r9d, %ecx
leaq (%r15,%r12,4), %r11
ucomiss %xmm5, %xmm0
movl %r10d, 0xc(%rsp)
jbe 0x5d0a9
movslq %r10d, %r14
movslq %esi, %rbp
movss (%r15,%rbp,4), %xmm1
ucomiss (%r15,%r14,4), %xmm1
jbe 0x5d0a9
movq 0x5d9bc5(%rip), %rax    # 0x636bf8
movl %r9d, %edx
testl %r9d, %r9d
movl %esi, 0x4(%rsp)
jle 0x5d3c6
movq %rcx, %rdx
shlq $0x4, %rdx
addq %rax, %rdx
addq $-0x10, %rdx
movss (%r15,%r12,4), %xmm5
movaps %xmm5, %xmm0
subss 0x4(%rdx), %xmm0
mulss 0x8(%rdx), %xmm0
addss (%rdx), %xmm0
leaq 0x3aaf91(%rip), %rsi    # 0x408000
movss (%rsi,%r12,4), %xmm1
ucomiss %xmm0, %xmm1
ja 0x5d3c4
movups (%rdx), %xmm0
movups %xmm0, 0x20(%rdx)
leaq -0x1(%rcx), %rsi
addq $-0x10, %rdx
cmpq $0x1, %rcx
movq %rsi, %rcx
jg 0x5d051
movss (%r11), %xmm5
movq $0x0, 0x10(%rsp)
jmp 0x5d482
cmpl %r10d, %ebx
je 0x5d0d9
testl %r9d, %r9d
jle 0x5d0ff
movq 0x5d9b3e(%rip), %rax    # 0x636bf8
addq $0xc, %rax
xorl %ebp, %ebp
movl (%rax), %edx
cmpl %ebx, %edx
je 0x5d101
cmpl %r10d, %edx
je 0x5d101
incq %rbp
addq $0x10, %rax
cmpq %rbp, %rcx
jne 0x5d0c0
jmp 0x5d0fb
testl %r9d, %r9d
jle 0x5d0ff
movq 0x5d9b13(%rip), %rax    # 0x636bf8
addq $0xc, %rax
xorl %ebp, %ebp
cmpl %ebx, (%rax)
je 0x5d101
incq %rbp
addq $0x10, %rax
cmpq %rbp, %rcx
jne 0x5d0eb
movl %ecx, %ebp
jmp 0x5d101
xorl %ebp, %ebp
movl %r9d, (%rsp)
movl %ebp, %eax
andl $0x7ffffffe, %eax       # imm = 0x7FFFFFFE
ucomiss %xmm0, %xmm5
movq %r11, 0x30(%rsp)
jbe 0x5d262
movslq %r10d, %rcx
movss (%r15,%rcx,4), %xmm0
movslq %esi, %rdx
ucomiss (%r15,%rdx,4), %xmm0
jbe 0x5d265
leal 0x1(%rbp), %ecx
cmpl %ecx, %eax
ja 0x5d225
movl %eax, %r14d
movl %ebp, %eax
movq %rax, 0x28(%rsp)
movl %ecx, %eax
movq %rax, 0x10(%rsp)
movq 0x5d9aa4(%rip), %rax    # 0x636bf8
movl %ebp, %r12d
shrl %r12d
andl $0x3fffffff, %r12d      # imm = 0x3FFFFFFF
shlq $0x5, %r12
orq $0x14, %r12
movss -0x14(%rax,%r12), %xmm0
movss -0x10(%rax,%r12), %xmm2
movaps %xmm5, %xmm3
subss %xmm2, %xmm3
mulss -0xc(%rax,%r12), %xmm3
addss %xmm0, %xmm3
cmpl %r10d, %ebx
jne 0x5d1a1
cmpq %r14, 0x28(%rsp)
jne 0x5d1a1
movss -0x4(%rax,%r12), %xmm1
movaps %xmm3, %xmm4
jmp 0x5d1bc
movaps %xmm5, %xmm4
subss (%rax,%r12), %xmm4
movss -0x4(%rax,%r12), %xmm1
mulss 0x4(%rax,%r12), %xmm4
addss %xmm1, %xmm4
movss %xmm3, 0x4(%rsp)
movss %xmm4, 0x18(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x5f838
movq 0x5d9a1f(%rip), %rax    # 0x636bf8
movss 0x4(%rsp), %xmm0
movss %xmm0, -0x14(%rax,%r12)
movq 0x30(%rsp), %rcx
movss (%rcx), %xmm0
movss %xmm0, -0x10(%rax,%r12)
movss 0x18(%rsp), %xmm0
movss %xmm0, -0x4(%rax,%r12)
movss (%rcx), %xmm5
movss %xmm5, (%rax,%r12)
addq $0x2, %r14
addq $0x20, %r12
cmpq 0x10(%rsp), %r14
movl 0xc(%rsp), %r10d
jbe 0x5d169
movl (%rsp), %r9d
addl $-0x2, %r9d
cmpl %r9d, %ebp
jge 0x5d258
movq 0x5d99bf(%rip), %rax    # 0x636bf8
movl %ebp, %ecx
shlq $0x4, %rcx
addq %rcx, %rax
addq $0x20, %rax
movups (%rax), %xmm0
movups %xmm0, -0x20(%rax)
incl %ebp
addq $0x10, %rax
cmpl %ebp, %r9d
jg 0x5d246
movq 0x20(%rsp), %r8
jmp 0x5d559
movslq %esi, %rdx
movq %r12, 0x38(%rsp)
movl %edi, 0x8(%rsp)
movl %esi, 0x4(%rsp)
movq 0x5d997f(%rip), %rcx    # 0x636bf8
movl %eax, %ebx
shlq $0x4, %rbx
movss 0x4(%rcx,%rbx), %xmm2
movaps %xmm5, %xmm1
subss %xmm2, %xmm1
mulss 0x8(%rcx,%rbx), %xmm1
movss (%rcx,%rbx), %xmm0
addss %xmm0, %xmm1
movaps %xmm1, %xmm3
movss %xmm1, 0x28(%rsp)
movl %ebp, %r14d
orl $0x1, %r14d
shlq $0x4, %r14
movaps %xmm5, %xmm4
subss 0x4(%rcx,%r14), %xmm4
movss (%rcx,%r14), %xmm1
mulss 0x8(%rcx,%r14), %xmm4
addss %xmm1, %xmm4
movss %xmm4, 0x10(%rsp)
leaq 0x40(%rsp), %rdi
movq %rdx, %r12
callq 0x5f838
movq 0x30(%rsp), %r10
movq 0x5d990f(%rip), %rax    # 0x636bf8
movss 0x28(%rsp), %xmm0
movss %xmm0, (%rax,%rbx)
movss (%r10), %xmm0
movss %xmm0, 0x4(%rax,%rbx)
movss 0x10(%rsp), %xmm0
movss %xmm0, (%rax,%r14)
movss (%r10), %xmm0
movss %xmm0, 0x4(%rax,%r14)
movss (%r15,%r12,4), %xmm0
movq 0x18(%rsp), %r8
ucomiss (%r15,%r8,4), %xmm0
movl %ebp, %ecx
jbe 0x5d35e
movslq 0xc(%rsp), %rdx
leaq 0x3aacc9(%rip), %rdi    # 0x408000
movss (%rdi,%rdx,4), %xmm0
shlq $0x2, %rdx
movq %rcx, %rsi
shlq $0x4, %rsi
movss %xmm0, (%rax,%rsi)
addq %r15, %rdx
movq 0x20(%rsp), %r8
movl (%rsp), %r9d
movl 0x4(%rsp), %esi
jmp 0x5d38e
leaq 0x3aac9b(%rip), %rdi    # 0x408000
movq 0x38(%rsp), %rdx
movss (%rdi,%rdx,4), %xmm0
movq %rcx, %rdx
shlq $0x4, %rdx
movss %xmm0, (%rax,%rdx)
movq %r10, %rdx
movl 0x8(%rsp), %esi
movq %r8, %r12
movq 0x20(%rsp), %r8
movl (%rsp), %r9d
movss (%rdx), %xmm1
shlq $0x4, %rcx
movss %xmm1, 0x4(%rax,%rcx)
movl %esi, 0xc(%rax,%rcx)
movss (%rdi,%r12,4), %xmm1
subss %xmm0, %xmm1
movss (%r15,%r12,4), %xmm0
subss (%r10), %xmm0
divss %xmm0, %xmm1
movss %xmm1, 0x8(%rax,%rcx)
jmp 0x5d559
movl %ecx, %edx
testb $0x1, %dl
movq %rdx, 0x10(%rsp)
je 0x5d482
movq %rbp, 0x28(%rsp)
movslq %edx, %rbp
shlq $0x4, %rbp
movss -0x10(%rax,%rbp), %xmm0
movss -0xc(%rax,%rbp), %xmm2
movaps %xmm5, %xmm1
subss %xmm2, %xmm1
mulss -0x8(%rax,%rbp), %xmm1
addss %xmm0, %xmm1
movaps %xmm1, %xmm3
movss %xmm1, 0x38(%rsp)
movaps %xmm5, %xmm4
subss 0x4(%rax,%rbp), %xmm4
movss (%rax,%rbp), %xmm1
mulss 0x8(%rax,%rbp), %xmm4
addss %xmm1, %xmm4
movss %xmm4, 0x8(%rsp)
leaq 0x40(%rsp), %rdi
movl %r9d, (%rsp)
movq %r11, 0x30(%rsp)
callq 0x5f838
movl 0xc(%rsp), %r10d
movl (%rsp), %r9d
movq 0x5d97b1(%rip), %rax    # 0x636bf8
movss 0x38(%rsp), %xmm0
movss %xmm0, -0x10(%rax,%rbp)
movq 0x30(%rsp), %rcx
movss (%rcx), %xmm0
movss %xmm0, -0xc(%rax,%rbp)
movss 0x8(%rsp), %xmm0
movss %xmm0, 0x20(%rbp,%rax)
movss (%rcx), %xmm5
movss %xmm5, 0x24(%rbp,%rax)
movq 0x28(%rsp), %rbp
movq 0x20(%rsp), %r8
addl $0x2, %r9d
leaq 0x3aab73(%rip), %rdi    # 0x408000
movss (%rdi,%r12,4), %xmm1
movss (%rdi,%r14,4), %xmm2
movss (%rdi,%rbp,4), %xmm3
movq 0x18(%rsp), %r11
movss (%rdi,%r11,4), %xmm0
unpcklps %xmm3, %xmm0            # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
ucomiss %xmm2, %xmm1
unpcklps %xmm2, %xmm1            # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subps %xmm1, %xmm0
movss (%r15,%rbp,4), %xmm1
movss (%r15,%r11,4), %xmm2
unpcklps %xmm1, %xmm2            # xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
movss (%r15,%r14,4), %xmm1
unpcklps %xmm1, %xmm5            # xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1]
subps %xmm5, %xmm2
divps %xmm2, %xmm0
seta %cl
cmpl %r10d, %ebx
sete %dl
movaps %xmm0, %xmm1
shufps $0x55, %xmm0, %xmm1     # xmm1 = xmm1[1,1],xmm0[1,1]
ucomiss %xmm1, %xmm0
setae %sil
andb %dl, %sil
orb %cl, %sil
movzbl %sil, %ecx
movq 0x10(%rsp), %rdx
addl %edx, %ecx
leal 0x1(,%rdx,2), %edx
subl %ecx, %edx
movslq %ecx, %rcx
shlq $0x4, %rcx
movl %r11d, 0xc(%rax,%rcx)
movss %xmm0, 0x8(%rax,%rcx)
movss (%rdi,%r12,4), %xmm0
movss %xmm0, (%rax,%rcx)
movss (%r15,%r12,4), %xmm0
movss %xmm0, 0x4(%rax,%rcx)
movslq %edx, %rcx
shlq $0x4, %rcx
movl 0x4(%rsp), %edx
movl %edx, 0xc(%rax,%rcx)
movss %xmm1, 0x8(%rax,%rcx)
movss (%rdi,%r14,4), %xmm0
movss %xmm0, (%rax,%rcx)
movss (%r15,%r14,4), %xmm0
movss %xmm0, 0x4(%rax,%rcx)
incq %r13
cmpq %r8, %r13
jne 0x5cfb2
jmp 0x5d639
movq 0x5d968f(%rip), %rcx    # 0x636c00
testl %eax, %eax
jle 0x5d620
movl %eax, %esi
leaq 0x10(%rcx), %rdi
xorl %r8d, %r8d
movslq (%rdx,%r8,4), %r9
xorps %xmm0, %xmm0
cvtss2sd (%r10,%r9,4), %xmm0
xorps %xmm1, %xmm1
cvtss2sd (%r15,%r9,4), %xmm1
mulsd 0x59d5d0(%rip), %xmm1   # 0x5fab70
mulsd 0x59d5c0(%rip), %xmm0   # 0x5fab68
addsd %xmm1, %xmm0
addsd 0x59d5c4(%rip), %xmm0   # 0x5fab78
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x4(%rdi)
xorps %xmm0, %xmm0
cvtss2sd (%r10,%r9,4), %xmm0
xorps %xmm1, %xmm1
cvtss2sd (%r15,%r9,4), %xmm1
mulsd 0x59d5b1(%rip), %xmm1   # 0x5fab88
mulsd 0x59d5a1(%rip), %xmm0   # 0x5fab80
addsd %xmm1, %xmm0
addsd 0x59d5a5(%rip), %xmm0   # 0x5fab90
cvtsd2ss %xmm0, %xmm0
movss %xmm0, (%rdi)
movss (%r10,%r9,4), %xmm0
movss %xmm0, -0x10(%rdi)
movss (%r15,%r9,4), %xmm0
movss %xmm0, -0xc(%rdi)
movl $0x0, -0x8(%rdi)
incq %r8
addq $0x14, %rdi
cmpq %r8, %rsi
jne 0x5d582
leaq 0x40(%rsp), %rsi
movl %eax, 0x44(%rsi)
movl %eax, 0x4c(%rsi)
movq %rcx, 0x50(%rsi)
movl $0x6, %edi
callq 0x50d4b
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq