// File: /workspace/github_c_makefile_star2_O2/jonof[P]jftekwar/jfbuild/src/mdsprite.c
// Function: mddraw
int mddraw (spritetype *tspr, int method)
{
	mdmodel *vm;

	if (maxmodelverts > allocmodelverts)
	{
		point3d *vl = (point3d *)realloc(vertlist,sizeof(point3d)*maxmodelverts);
		if (!vl) { buildprintf("ERROR: Not enough memory to allocate %d vertices!\n",maxmodelverts); return 0; }
		vertlist = vl; allocmodelverts = maxmodelverts;
	}
	if (maxelementvbo > allocelementvbo)
	{
		struct polymostvboitem *vbo = (struct polymostvboitem *)realloc(elementvbo, maxelementvbo * sizeof(struct polymostvboitem));
		if (!vbo) { buildprintf("ERROR: Not enough memory to allocate %d vertex buffer items!\n",maxelementvbo); return 0; }
		elementvbo = vbo; allocelementvbo = maxelementvbo;
	}

	vm = models[tile2model[tspr->picnum].modelid];
	if (vm->mdnum == 1) { return voxdraw((voxmodel *)vm,tspr,method); }
	if (vm->mdnum == 2) { return md2draw((md2model *)vm,tspr,method); }
	if (vm->mdnum == 3) { return md3draw((md3model *)vm,tspr,method); }
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movl %esi, %ebp
movq %rdi, %r15
movl 0x603fbb(%rip), %r14d   # 0x65d048
cmpl 0x603fb8(%rip), %r14d   # 0x65d04c
jle 0x590bd
movq 0x603fa3(%rip), %rdi    # 0x65d040
imulq $0xc, %r14, %rsi
callq 0x6120
testq %rax, %rax
je 0x5914e
movq %rax, 0x603f8a(%rip)    # 0x65d040
movl %r14d, 0x603f8f(%rip)   # 0x65d04c
movl 0x603f94(%rip), %r14d   # 0x65d058
cmpl 0x603f91(%rip), %r14d   # 0x65d05c
jle 0x590f4
movq 0x603f7c(%rip), %rdi    # 0x65d050
imulq $0x14, %r14, %rsi
callq 0x6120
testq %rax, %rax
je 0x5936d
movq %rax, 0x603f63(%rip)    # 0x65d050
movl %r14d, 0x603f68(%rip)   # 0x65d05c
movq 0x5e8f2d(%rip), %rax    # 0x642028
movswq 0xe(%r15), %rcx
imulq $0xc, %rcx, %rcx
leaq 0x5e8f35(%rip), %rdx    # 0x642040
movslq (%rcx,%rdx), %rcx
movq (%rax,%rcx,8), %r14
movl (%r14), %eax
cmpl $0x3, %eax
je 0x592ad
cmpl $0x2, %eax
je 0x5915a
xorl %r12d, %r12d
cmpl $0x1, %eax
jne 0x5a8a1
movq %r14, %rdi
movq %r15, %rsi
movl %ebp, %edx
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x58376
leaq 0x170eb(%rip), %rdi     # 0x70240
jmp 0x59374
movq %r14, %rdi
movq %r15, %rsi
callq 0x5b5b4
movq 0x70(%r14), %rax
movslq 0x24(%r14), %rcx
movslq 0x64(%r14), %rsi
imulq %rsi, %rcx
movslq 0x28(%r14), %rdx
imulq %rsi, %rdx
movss 0x8(%r14), %xmm8
movss 0x3c(%r14), %xmm0
movss 0x12e42(%rip), %xmm15   # 0x6bfd4
subss %xmm0, %xmm15
movaps %xmm8, %xmm2
shufps $0x0, %xmm8, %xmm2      # xmm2 = xmm2[0,0],xmm8[0,0]
movss 0x8(%rax,%rcx), %xmm3
movss 0x8(%rax,%rdx), %xmm12
unpcklps %xmm3, %xmm12           # xmm12 = xmm12[0],xmm3[0],xmm12[1],xmm3[1]
mulps %xmm2, %xmm12
movaps %xmm0, %xmm2
unpcklps %xmm15, %xmm2           # xmm2 = xmm2[0],xmm15[0],xmm2[1],xmm15[1]
movss 0xc(%rax,%rcx), %xmm6
mulss %xmm8, %xmm6
movss 0xc(%rax,%rdx), %xmm11
mulss %xmm8, %xmm11
subss %xmm6, %xmm11
movss 0x10(%rax,%rcx), %xmm10
mulss %xmm8, %xmm10
movss 0x10(%rax,%rdx), %xmm5
mulss %xmm8, %xmm5
subss %xmm10, %xmm5
movss 0x14(%rax,%rcx), %xmm3
mulss %xmm8, %xmm3
movss 0x14(%rax,%rdx), %xmm13
mulss %xmm8, %xmm13
subss %xmm3, %xmm13
mulss %xmm0, %xmm13
addss %xmm3, %xmm13
movss 0x10(%r14), %xmm9
mulss %xmm8, %xmm9
cvtsi2ssl 0x8(%r15), %xmm7
leaq 0x3afdce(%rip), %rsi    # 0x409000
movl (%rsi), %edi
testb %dil, %dil
setns %r8b
movl %edi, %esi
andl $0x30, %esi
cmpl $0x20, %esi
sete %r9b
orb %r8b, %r9b
jne 0x59272
movswq 0xe(%r15), %r8
leaq 0x3a1588(%rip), %r9     # 0x3fa7e0
movswl (%r9,%r8,2), %r8d
movzbl 0x15(%r15), %r9d
imull %r8d, %r9d
addl %r9d, %r9d
cvtsi2ss %r9d, %xmm3
addss %xmm3, %xmm7
movss 0x4(%rax,%rcx), %xmm3
mulss %xmm8, %xmm3
movss 0x4(%rax,%rdx), %xmm4
mulss %xmm8, %xmm4
mulss %xmm0, %xmm5
mulss %xmm0, %xmm11
mulps %xmm12, %xmm2
addss %xmm13, %xmm9
testb $0x8, %dil
jne 0x59386
movb 0x15(%r15), %r8b
jmp 0x593be
movq %r14, %rdi
movq %r15, %rsi
callq 0x5b5b4
movss 0x8(%r14), %xmm0
movss 0x3c(%r14), %xmm1
movss 0x12d07(%rip), %xmm12   # 0x6bfd4
movaps %xmm12, %xmm2
cvtss2sd %xmm0, %xmm3
mulsd 0x16ef3(%rip), %xmm3    # 0x701d0
subss %xmm1, %xmm2
unpcklps %xmm2, %xmm1            # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
cvtps2pd %xmm1, %xmm1
unpcklpd %xmm3, %xmm3            # xmm3 = xmm3[0,0]
mulpd %xmm1, %xmm3
cvtpd2ps %xmm3, %xmm5
cvtsi2ssl 0x8(%r15), %xmm1
leaq 0x3afd00(%rip), %r11    # 0x409000
movl (%r11), %ecx
testb %cl, %cl
setns %dl
movl %ecx, %eax
andl $0x30, %eax
cmpl $0x20, %eax
sete %sil
orb %dl, %sil
jne 0x5933b
movswq 0xe(%r15), %rdx
leaq 0x3a14bb(%rip), %rsi    # 0x3fa7e0
movswl (%rsi,%rdx,2), %edx
movzbl 0x15(%r15), %esi
imull %edx, %esi
addl %esi, %esi
cvtsi2ss %esi, %xmm2
addss %xmm2, %xmm1
mulss 0x10(%r14), %xmm0
movapd %xmm5, %xmm6
shufps $0x55, %xmm5, %xmm6     # xmm6 = xmm6[1,1],xmm5[1,1]
testb $0x8, %cl
jne 0x59d5d
movb 0x15(%r15), %dl
movaps 0x15173(%rip), %xmm3    # 0x6e4d0
xorps %xmm5, %xmm3
movaps %xmm5, %xmm8
movaps %xmm6, %xmm9
jmp 0x59d9c
leaq 0x16eff(%rip), %rdi     # 0x70273
xorl %r12d, %r12d
movl %r14d, %esi
xorl %eax, %eax
callq 0x22427
jmp 0x5a8a1
movaps 0x15142(%rip), %xmm12   # 0x6e4d0
xorps %xmm12, %xmm2
xorps %xmm12, %xmm9
movswq 0xe(%r15), %r8
leaq 0x3a143e(%rip), %r9     # 0x3fa7e0
movswl (%r9,%r8,2), %r9d
movzbl 0x15(%r15), %r8d
imull %r8d, %r9d
shll $0x2, %r9d
cvtsi2ss %r9d, %xmm12
subss %xmm12, %xmm7
mulss %xmm15, %xmm3
mulss %xmm0, %xmm4
addss %xmm10, %xmm5
addss %xmm6, %xmm11
movaps 0x150f8(%rip), %xmm1    # 0x6e4d0
testb $0x4, %dil
je 0x593e7
xorps %xmm1, %xmm3
xorps %xmm1, %xmm4
xorps %xmm1, %xmm5
movss (%rax,%rcx), %xmm13
mulss %xmm8, %xmm13
movzbl 0x14(%r15), %edi
cvtsi2ss %edi, %xmm6
mulss (%rax,%rdx), %xmm8
movss 0x16d86(%rip), %xmm10   # 0x70190
mulss %xmm10, %xmm6
movss 0xc(%r14), %xmm12
mulss %xmm12, %xmm6
mulss %xmm6, %xmm11
movaps %xmm6, 0x70(%rsp)
xorps %xmm1, %xmm6
mulss %xmm6, %xmm3
mulss %xmm6, %xmm4
mulss %xmm5, %xmm6
movzbl %r8b, %r8d
cvtsi2ss %r8d, %xmm14
mulss %xmm10, %xmm14
mulss %xmm12, %xmm14
movaps %xmm2, %xmm5
shufps $0x55, %xmm2, %xmm5     # xmm5 = xmm5[1,1],xmm2[1,1]
mulss %xmm14, %xmm5
mulss %xmm14, %xmm2
mulss %xmm14, %xmm9
movl 0x4(%r15), %edi
cvtsi2ss %edi, %xmm10
cmpl $0x20, %esi
movl %ebp, 0xbc(%rsp)
jne 0x594b2
xorps %xmm1, %xmm5
xorps %xmm1, %xmm2
movaps %xmm2, 0x10(%rsp)
xorps %xmm1, %xmm9
xorps %xmm1, %xmm3
movswq 0xe(%r15), %r9
leaq 0x3a1351(%rip), %r10    # 0x3fa7e0
movswl (%r10,%r9,2), %r9d
imull %r8d, %r9d
sarl $0x3, %r9d
cvtsi2ss %r9d, %xmm12
xorps %xmm1, %xmm4
xorps %xmm1, %xmm6
addss %xmm12, %xmm10
movaps %xmm9, %xmm12
jmp 0x594bf
movaps %xmm2, 0x10(%rsp)
movaps %xmm11, %xmm12
movaps %xmm9, %xmm11
movaps %xmm1, %xmm2
mulss %xmm13, %xmm15
movaps %xmm15, 0x20(%rsp)
mulss %xmm8, %xmm0
movaps %xmm0, 0x150(%rsp)
movl (%r15), %r11d
leaq 0x1da56c(%rip), %r8     # 0x233a50
subl (%r8), %r11d
leaq 0x1da566(%rip), %r8     # 0x233a54
movl (%r8), %r10d
subl %r10d, %edi
movzwl 0x1c(%r15), %r9d
movswq 0x1e(%r15), %r8
imulq $0xc, %r8, %r8
leaq 0x2cc7a7(%rip), %rbx    # 0x325cb0
movzwl 0x6(%rbx,%r8), %ebx
leal (%rbx,%r9), %r8d
movl $0x7ff, %ebp            # imm = 0x7FF
andl %ebp, %r8d
xorl $0x400, %r8d            # imm = 0x400
addl %ebx, %r9d
addl $0x200, %r9d            # imm = 0x200
leaq 0x442fd(%rip), %rbx     # 0x9d830
cvtsi2ssl (%rbx), %xmm8
leaq 0x36f811(%rip), %rbx    # 0x3c8d50
cvtsi2ssl (%rbx), %xmm9
andl %ebp, %r9d
mulss %xmm8, %xmm9
movss 0x16c33(%rip), %xmm15   # 0x70188
divss %xmm9, %xmm15
cvtss2sd %xmm8, %xmm8
leaq 0x59e65a(%rip), %rbx    # 0x5f7bc0
mulsd (%rbx), %xmm8
movsd 0x1606c(%rip), %xmm9    # 0x6f5e0
divsd %xmm8, %xmm9
cvtsd2ss %xmm9, %xmm1
cvtsi2ss %r11d, %xmm8
cvtss2sd %xmm8, %xmm9
movsd 0x129cf(%rip), %xmm13   # 0x6bf60
mulsd %xmm13, %xmm9
cvtss2sd %xmm6, %xmm6
addsd %xmm9, %xmm6
cvtss2sd %xmm15, %xmm9
mulsd %xmm6, %xmm9
movsd %xmm9, 0xc0(%rsp)
movaps %xmm15, %xmm14
xorps %xmm2, %xmm14
cvtsi2ss %r10d, %xmm6
subss %xmm6, %xmm10
cvtss2sd %xmm10, %xmm6
mulsd %xmm13, %xmm6
cvtss2sd %xmm12, %xmm9
subsd %xmm6, %xmm9
leaq 0x20b480(%rip), %r10    # 0x264a60
cvtsi2ssl (%r10), %xmm6
movaps %xmm14, 0x80(%rsp)
cvtss2sd %xmm14, %xmm10
mulsd %xmm9, %xmm10
movsd %xmm10, 0x180(%rsp)
subss %xmm6, %xmm7
cvtss2sd %xmm7, %xmm7
movsd 0x16bc6(%rip), %xmm6    # 0x701d8
mulsd %xmm6, %xmm7
cvtss2sd %xmm11, %xmm9
subsd %xmm7, %xmm9
movss %xmm1, 0xa0(%rsp)
cvtss2sd %xmm1, %xmm1
mulsd %xmm9, %xmm1
movsd %xmm1, 0x170(%rsp)
mulss %xmm15, %xmm8
movss 0x16b43(%rip), %xmm10   # 0x7018c
mulss %xmm10, %xmm8
cvtsi2ss %edi, %xmm11
leaq 0x59a4e6(%rip), %rdi    # 0x5f3b40
movsd (%rdi), %xmm9
leaq 0x59a352(%rip), %rdi    # 0x5f39b8
movsd (%rdi), %xmm14
movapd %xmm9, %xmm7
mulsd %xmm14, %xmm7
cvtsd2ss %xmm7, %xmm7
leaq 0x36e6d0(%rip), %rdi    # 0x3c7d50
movswl (%rdi,%r8,2), %r8d
cvtsi2sd %r8d, %xmm12
movaps %xmm15, 0x90(%rsp)
mulss %xmm15, %xmm11
mulsd %xmm6, %xmm12
cvtsd2ss %xmm12, %xmm2
movaps %xmm2, 0x160(%rsp)
mulss %xmm10, %xmm11
movswl (%rdi,%r9,2), %edi
cvtsi2sd %edi, %xmm10
mulsd %xmm6, %xmm10
cvtsd2ss %xmm10, %xmm10
movss 0x12909(%rip), %xmm1    # 0x6bfd4
movss %xmm1, 0xc(%rsp)
movss 0x128fb(%rip), %xmm6    # 0x6bfd4
subss %xmm2, %xmm6
movaps %xmm8, %xmm15
mulss %xmm6, %xmm15
mulss %xmm11, %xmm6
mulss %xmm10, %xmm11
addss %xmm11, %xmm15
mulss %xmm10, %xmm8
subss %xmm8, %xmm6
leaq 0x59a442(%rip), %rdi    # 0x5f3b48
leaq 0x59a2b3(%rip), %r8     # 0x5f39c0
leaq 0x59a414(%rip), %r9     # 0x5f3b28
movsd (%r9), %xmm11
movsd (%rdi), %xmm12
movapd %xmm12, %xmm8
unpcklpd %xmm11, %xmm8           # xmm8 = xmm8[0],xmm11[0]
unpcklpd %xmm12, %xmm11          # xmm11 = xmm11[0],xmm12[0]
movapd 0x1366a(%rip), %xmm12   # 0x6cda0
movsd (%r8), %xmm1
movapd %xmm1, %xmm13
xorpd %xmm12, %xmm13
leaq 0x59a264(%rip), %rdi    # 0x5f39b0
movsd (%rdi), %xmm2
xorpd %xmm2, %xmm12
unpcklpd %xmm12, %xmm2           # xmm2 = xmm2[0],xmm12[0]
cvtss2sd %xmm7, %xmm7
mulpd %xmm11, %xmm2
movlhps %xmm7, %xmm7            # xmm7 = xmm7[0,0]
mulpd %xmm8, %xmm7
addpd %xmm2, %xmm7
unpcklpd %xmm1, %xmm13           # xmm13 = xmm13[0],xmm1[0]
leaq 0x59a22d(%rip), %rdi    # 0x5f39a8
mulpd %xmm11, %xmm13
movsd (%rdi), %xmm11
movapd %xmm11, %xmm1
mulsd %xmm9, %xmm1
cvtsd2ss %xmm1, %xmm1
cvtss2sd %xmm1, %xmm1
movlhps %xmm1, %xmm1            # xmm1 = xmm1[0,0]
mulpd %xmm8, %xmm1
addpd %xmm13, %xmm1
leaq 0x59a375(%rip), %rdi    # 0x5f3b20
movsd (%rdi), %xmm2
mulsd %xmm2, %xmm11
mulsd %xmm2, %xmm14
unpcklpd %xmm2, %xmm2            # xmm2 = xmm2[0,0]
cvtpd2ps %xmm7, %xmm0
movapd %xmm0, 0xd0(%rsp)
cvtpd2ps %xmm1, %xmm12
movapd %xmm12, 0xe0(%rsp)
mulpd %xmm8, %xmm2
movaps %xmm10, 0x190(%rsp)
movaps %xmm10, %xmm7
shufps $0x0, %xmm10, %xmm7     # xmm7 = xmm7[0,0],xmm10[0,0]
movaps %xmm7, %xmm1
mulps %xmm12, %xmm1
movaps 0x160(%rsp), %xmm8
movaps %xmm8, %xmm13
shufps $0x0, %xmm8, %xmm13     # xmm13 = xmm13[0,0],xmm8[0,0]
movaps %xmm13, %xmm12
mulps %xmm0, %xmm12
subps %xmm1, %xmm12
cvtsd2ss %xmm9, %xmm0
cvtsd2ss %xmm11, %xmm9
cvtsd2ss %xmm14, %xmm1
movaps %xmm10, %xmm11
mulss %xmm1, %xmm11
movaps %xmm8, %xmm14
movaps %xmm8, %xmm10
mulss %xmm9, %xmm14
addss %xmm11, %xmm14
cvtpd2ps %xmm2, %xmm8
movlpd %xmm8, 0x40(%rsp)
movlps %xmm12, 0x50(%rsp)
movss %xmm14, 0x38(%rsp)
movaps %xmm0, %xmm2
xorps 0x14c6e(%rip), %xmm2    # 0x6e4d0
movss %xmm2, 0x48(%rsp)
movaps 0x190(%rsp), %xmm2
mulss %xmm9, %xmm2
mulss %xmm1, %xmm10
subss %xmm2, %xmm10
movaps %xmm10, %xmm11
mulss %xmm6, %xmm1
mulss %xmm15, %xmm9
addss %xmm1, %xmm9
movaps 0xd0(%rsp), %xmm1
mulps %xmm1, %xmm7
movaps 0xe0(%rsp), %xmm2
mulps %xmm2, %xmm13
addps %xmm7, %xmm13
shufps $0x0, %xmm6, %xmm6      # xmm6 = xmm6[0,0,0,0]
mulps %xmm1, %xmm6
shufps $0x0, %xmm15, %xmm15    # xmm15 = xmm15[0,0,0,0]
mulps %xmm2, %xmm15
cvtsd2ss 0xc0(%rsp), %xmm1
cvtsd2ss 0x180(%rsp), %xmm7
cvtsd2ss 0x170(%rsp), %xmm2
addps %xmm6, %xmm15
movaps %xmm0, 0xc0(%rsp)
movaps %xmm0, %xmm10
mulss %xmm2, %xmm10
shufps $0x0, %xmm2, %xmm2      # xmm2 = xmm2[0,0,0,0]
mulps %xmm8, %xmm2
mulss %xmm1, %xmm14
shufps $0x0, %xmm1, %xmm1      # xmm1 = xmm1[0,0,0,0]
mulps %xmm13, %xmm1
addps %xmm2, %xmm1
movaps %xmm7, %xmm6
shufps $0x0, %xmm7, %xmm6      # xmm6 = xmm6[0,0],xmm7[0,0]
mulps %xmm12, %xmm6
addps %xmm1, %xmm6
addps %xmm15, %xmm6
subss %xmm10, %xmm14
mulss %xmm11, %xmm7
addss %xmm14, %xmm7
addss %xmm9, %xmm7
movss %xmm11, 0x58(%rsp)
movlps %xmm13, 0x30(%rsp)
movlps %xmm6, 0x60(%rsp)
movss %xmm7, 0x68(%rsp)
cmpl $0x20, %esi
jne 0x59995
mulps 0x16861(%rip), %xmm12   # 0x701b0
mulps 0x16869(%rip), %xmm8    # 0x701c0
movlps %xmm12, 0x40(%rsp)
mulss 0x1682e(%rip), %xmm11   # 0x70194
movlps %xmm8, 0x50(%rsp)
movss %xmm11, 0x48(%rsp)
movaps 0xc0(%rsp), %xmm1
mulss 0x16815(%rip), %xmm1    # 0x70198
movss %xmm1, 0x58(%rsp)
movaps %xmm12, %xmm1
movaps %xmm8, %xmm12
movaps %xmm1, %xmm8
movaps 0x20(%rsp), %xmm7
movaps 0x70(%rsp), %xmm1
mulss %xmm1, %xmm7
movaps 0x150(%rsp), %xmm0
mulss %xmm1, %xmm0
leaq 0x59a1ea(%rip), %rbx    # 0x5f3ba0
xorps %xmm1, %xmm1
ucomisd (%rbx), %xmm1
movaps 0x10(%rsp), %xmm9
movaps 0x14b05(%rip), %xmm11   # 0x6e4d0
jbe 0x599f8
xorps %xmm11, %xmm13
movss %xmm13, 0x30(%rsp)
xorps %xmm11, %xmm8
movss %xmm8, 0x40(%rsp)
xorps %xmm11, %xmm12
movss %xmm12, 0x50(%rsp)
xorps %xmm11, %xmm6
movss %xmm6, 0x60(%rsp)
movaps 0x90(%rsp), %xmm1
mulss %xmm1, %xmm3
mulss %xmm1, %xmm4
movaps 0x80(%rsp), %xmm1
mulss %xmm1, %xmm7
andl $0x0, 0x5c(%rsp)
mulss %xmm1, %xmm0
andl $0x0, 0x4c(%rsp)
movss 0xa0(%rsp), %xmm1
mulss %xmm1, %xmm5
andl $0x0, 0x3c(%rsp)
mulss %xmm1, %xmm9
movl $0x3f800000, 0x6c(%rsp) # imm = 0x3F800000
movl 0x58(%r14), %edi
movq 0x6035f4(%rip), %rsi    # 0x65d040
imulq $0xc, %rdi, %r8
addq %r8, %rsi
addq $-0x4, %rsi
addq %rax, %rdx
addq $0x26, %rdx
addq %rcx, %rax
addq $0x26, %rax
testl %edi, %edi
jle 0x59adb
movzbl -0x2(%rax,%rdi,4), %ecx
cvtsi2ss %ecx, %xmm1
movzbl -0x2(%rdx,%rdi,4), %ecx
cvtsi2ss %ecx, %xmm2
mulss %xmm7, %xmm1
mulss %xmm0, %xmm2
addss %xmm1, %xmm2
movss %xmm2, (%rsi)
movzbl (%rax,%rdi,4), %ecx
cvtsi2ss %ecx, %xmm1
movzbl (%rdx,%rdi,4), %ecx
cvtsi2ss %ecx, %xmm2
mulss %xmm5, %xmm1
mulss %xmm9, %xmm2
addss %xmm1, %xmm2
movss %xmm2, -0x4(%rsi)
movzbl -0x1(%rax,%rdi,4), %ecx
movzbl -0x1(%rdx,%rdi,4), %r8d
decq %rdi
cvtsi2ss %ecx, %xmm1
mulss %xmm3, %xmm1
cvtsi2ss %r8d, %xmm2
mulss %xmm4, %xmm2
addss %xmm1, %xmm2
movss %xmm2, -0x8(%rsi)
addq $-0xc, %rsi
jmp 0x59a65
movswq 0xe(%r15), %rax
imulq $0xc, %rax, %rax
leaq 0x5e8555(%rip), %rcx    # 0x642040
movl 0x4(%rax,%rcx), %esi
leaq 0x3af50e(%rip), %rbp    # 0x409004
movl (%rbp), %edx
xorl %r12d, %r12d
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x567d6
testq %rax, %rax
je 0x5a8a1
movq %rax, %r13
cmpl $0x0, (%rax)
je 0x5a8a1
movq %r15, 0x20(%rsp)
testb $0x4, 0xd(%r15)
je 0x59b4e
leaq 0x599c12(%rip), %r12    # 0x5f3740
movl $0x201, %edi            # imm = 0x201
callq *0x98(%r12)
movsd 0x1669d(%rip), %xmm1    # 0x701e0
xorps %xmm0, %xmm0
callq *0xa8(%r12)
movsd (%rbx), %xmm0
xorps %xmm1, %xmm1
xorl %eax, %eax
ucomisd %xmm1, %xmm0
setae %al
leaq 0x3af49b(%rip), %rcx    # 0x409000
movl (%rcx), %ecx
movl %ecx, %edx
shrl $0x3, %edx
andl $0x1, %edx
xorl %eax, %edx
btl $0x2, %ecx
sbbl $0x0, %edx
sete %al
leaq 0x599bbe(%rip), %r15    # 0x5f3740
movzbl %al, %edi
orl $0x900, %edi            # imm = 0x900
callq *0x28(%r15)
movl $0xb44, %edi            # imm = 0xB44
callq *0x40(%r15)
movl $0x405, %edi            # imm = 0x405
callq *0x20(%r15)
leaq 0x3b3c80(%rip), %rax    # 0x40d828
leaq 0x3b3c7d(%rip), %rcx    # 0x40d82c
movl 0x4(%r14), %edx
addl (%rcx), %edx
xorl %ebx, %ebx
testl %edx, %edx
cmovlel %ebx, %edx
movswl (%rax), %eax
cmpl %eax, %edx
cmovgel %eax, %edx
cvtsi2ss %eax, %xmm0
subl %edx, %eax
cvtsi2ss %eax, %xmm1
divss %xmm0, %xmm1
movslq (%rbp), %rax
leaq 0x5e8043(%rip), %rcx    # 0x641c20
movd (%rcx,%rax,4), %xmm0
xorps %xmm2, %xmm2
punpcklbw %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3],xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]
punpcklwd %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]
cvtdq2pd %xmm0, %xmm2
divpd 0x157c7(%rip), %xmm2    # 0x6f3c0
cvtss2sd %xmm1, %xmm1
movzbl 0x2(%rcx,%rax,4), %eax
cvtsi2sd %eax, %xmm0
divsd 0x1238a(%rip), %xmm0    # 0x6bf98
mulsd %xmm1, %xmm0
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
mulpd %xmm2, %xmm1
movq 0x20(%rsp), %rax
movzwl 0xc(%rax), %eax
testb $0x2, %al
je 0x59c42
xorl %ecx, %ecx
btl $0x9, %eax
setae %cl
leaq 0x165b1(%rip), %rdx     # 0x701e8
movss (%rdx,%rcx,4), %xmm2
movss %xmm2, 0xc(%rsp)
cvtpd2ps %xmm1, %xmm1
movapd %xmm1, 0x10(%rsp)
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x70(%rsp)
leaq 0x48(%r15), %rcx
leaq 0x40(%r15), %rdx
cmpl $0x0, 0x30(%r14)
cmovneq %rdx, %rcx
testb $0x2, %al
cmovneq %rdx, %rcx
movl $0xbe2, %edi            # imm = 0xBE2
callq *(%rcx)
movq 0x6033c5(%rip), %rcx    # 0x65d040
movq 0x6033ce(%rip), %rax    # 0x65d050
pushq $0x2
popq %rdx
xorl %esi, %esi
movss 0xc(%rsp), %xmm2
movslq 0x60(%r14), %rdi
cmpq %rdi, %rsi
jge 0x5a8b6
imulq $0xc, %rsi, %rdi
addq 0x80(%r14), %rdi
movl %edx, %r8d
testl %r8d, %r8d
js 0x59d52
movl %r8d, %r9d
movswq (%rdi,%r9,2), %r10
imulq $0xc, %r10, %r10
movss (%rcx,%r10), %xmm0
leal (%rbx,%r8), %r10d
imulq $0x14, %r10, %r10
movss %xmm0, (%rax,%r10)
movswq (%rdi,%r9,2), %r11
imulq $0xc, %r11, %r11
movss 0x4(%rcx,%r11), %xmm0
movss %xmm0, 0x4(%rax,%r10)
movswq (%rdi,%r9,2), %r11
imulq $0xc, %r11, %r11
movss 0x8(%rcx,%r11), %xmm0
movss %xmm0, 0x8(%rax,%r10)
movq 0x78(%r14), %r11
movswq 0x6(%rdi,%r9,2), %r12
movswl (%r11,%r12,4), %r11d
cvtsi2ss %r11d, %xmm0
cvtsi2ssl 0x68(%r14), %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0xc(%rax,%r10)
movq 0x78(%r14), %r11
movswq 0x6(%rdi,%r9,2), %r9
movswl 0x2(%r11,%r9,4), %r9d
cvtsi2ss %r9d, %xmm0
cvtsi2ssl 0x6c(%r14), %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0x10(%rax,%r10)
decl %r8d
jmp 0x59ca8
incq %rsi
addl $0x3, %ebx
jmp 0x59c8d
movaps 0x1476c(%rip), %xmm2    # 0x6e4d0
movaps %xmm5, %xmm8
xorps %xmm2, %xmm8
movswq 0xe(%r15), %rdx
leaq 0x3a0a68(%rip), %rsi    # 0x3fa7e0
movswl (%rsi,%rdx,2), %esi
movzbl 0x15(%r15), %edx
imull %edx, %esi
shll $0x2, %esi
cvtsi2ss %esi, %xmm3
xorps %xmm2, %xmm0
pshufd $0x55, %xmm8, %xmm9     # xmm9 = xmm8[1,1,1,1]
subss %xmm3, %xmm1
movaps %xmm8, %xmm3
xorps %xmm4, %xmm4
xorps %xmm2, %xmm2
testb $0x4, %cl
je 0x59daf
movss 0x163d5(%rip), %xmm2    # 0x70184
movaps %xmm5, %xmm10
je 0x59db9
movaps %xmm3, %xmm10
movaps %xmm5, 0x20(%rsp)
movaps %xmm6, 0x10(%rsp)
movaps %xmm6, %xmm11
je 0x59dd1
shufps $0x55, %xmm3, %xmm3     # xmm3 = xmm3[1,1,1,1]
movaps %xmm3, %xmm11
movzbl 0x14(%r15), %ecx
cvtsi2ss %ecx, %xmm13
movss 0x163ad(%rip), %xmm3    # 0x70190
mulss %xmm3, %xmm13
movss 0xc(%r14), %xmm5
mulss %xmm5, %xmm13
movaps 0x146d6(%rip), %xmm6    # 0x6e4d0
xorps %xmm13, %xmm6
mulss %xmm6, %xmm11
mulss %xmm6, %xmm10
movzbl %dl, %edx
cvtsi2ss %edx, %xmm7
mulss %xmm6, %xmm2
movaps %xmm13, 0x180(%rsp)
mulss %xmm13, %xmm4
mulss %xmm3, %xmm7
mulss %xmm5, %xmm7
mulss %xmm7, %xmm9
mulss %xmm7, %xmm8
mulss %xmm7, %xmm0
movl 0x4(%r15), %ecx
cvtsi2ss %ecx, %xmm3
cmpl $0x20, %eax
jne 0x59ea5
movaps 0x14685(%rip), %xmm5    # 0x6e4d0
xorps %xmm5, %xmm9
movaps %xmm9, 0xa0(%rsp)
xorps %xmm5, %xmm8
movaps %xmm8, 0x70(%rsp)
xorps %xmm5, %xmm0
xorps %xmm5, %xmm11
movaps %xmm11, 0x80(%rsp)
movswq 0xe(%r15), %rsi
leaq 0x3a0962(%rip), %rdi    # 0x3fa7e0
movswl (%rdi,%rsi,2), %esi
imull %edx, %esi
sarl $0x3, %esi
cvtsi2ss %esi, %xmm6
xorps %xmm5, %xmm10
movaps %xmm10, 0x90(%rsp)
xorps %xmm5, %xmm2
addss %xmm6, %xmm3
movaps %xmm0, %xmm5
jmp 0x59ecc
movaps %xmm11, 0x80(%rsp)
movaps %xmm10, 0x90(%rsp)
movaps %xmm9, 0xa0(%rsp)
movaps %xmm8, 0x70(%rsp)
movaps %xmm4, %xmm5
movaps %xmm0, %xmm4
movl (%r15), %r8d
leaq 0x1d9b7a(%rip), %rdx    # 0x233a50
subl (%rdx), %r8d
leaq 0x1d9b74(%rip), %rdx    # 0x233a54
movl (%rdx), %edi
subl %edi, %ecx
movzwl 0x1c(%r15), %esi
movswq 0x1e(%r15), %rdx
imulq $0xc, %rdx, %rdx
leaq 0x2cbdb7(%rip), %r9     # 0x325cb0
movzwl 0x6(%r9,%rdx), %r9d
leal (%r9,%rsi), %edx
movl $0x7ff, %r10d           # imm = 0x7FF
andl %r10d, %edx
xorl $0x400, %edx            # imm = 0x400
addl %r9d, %esi
addl $0x200, %esi            # imm = 0x200
andl %r10d, %esi
leaq 0x4390b(%rip), %r9      # 0x9d830
cvtsi2ssl (%r9), %xmm0
leaq 0x36ee1f(%rip), %r9     # 0x3c8d50
cvtsi2ssl (%r9), %xmm6
mulss %xmm0, %xmm6
movss 0x16245(%rip), %xmm10   # 0x70188
divss %xmm6, %xmm10
cvtss2sd %xmm0, %xmm0
leaq 0x59dc6d(%rip), %r9     # 0x5f7bc0
mulsd (%r9), %xmm0
movsd 0x15680(%rip), %xmm6    # 0x6f5e0
divsd %xmm0, %xmm6
cvtsi2ss %r8d, %xmm7
cvtsd2ss %xmm6, %xmm9
cvtss2sd %xmm7, %xmm0
movsd 0x11fe6(%rip), %xmm6    # 0x6bf60
mulsd %xmm6, %xmm0
cvtss2sd %xmm2, %xmm8
addsd %xmm0, %xmm8
cvtss2sd %xmm10, %xmm0
mulsd %xmm8, %xmm0
movsd %xmm0, 0xe0(%rsp)
movaps %xmm10, %xmm2
xorps 0x1452a(%rip), %xmm2    # 0x6e4d0
cvtsi2ss %edi, %xmm0
subss %xmm0, %xmm3
cvtss2sd %xmm3, %xmm0
mulsd %xmm6, %xmm0
cvtss2sd %xmm5, %xmm5
subsd %xmm0, %xmm5
leaq 0x20aa9b(%rip), %rdi    # 0x264a60
cvtsi2ssl (%rdi), %xmm0
movaps %xmm2, 0x150(%rsp)
cvtss2sd %xmm2, %xmm2
mulsd %xmm5, %xmm2
movsd %xmm2, 0xd0(%rsp)
subss %xmm0, %xmm1
cvtss2sd %xmm1, %xmm1
movsd 0x161e6(%rip), %xmm0    # 0x701d8
mulsd %xmm0, %xmm1
cvtss2sd %xmm4, %xmm5
subsd %xmm1, %xmm5
movss %xmm9, 0x160(%rsp)
cvtss2sd %xmm9, %xmm3
mulsd %xmm5, %xmm3
mulss %xmm10, %xmm7
movss 0x1616e(%rip), %xmm1    # 0x7018c
mulss %xmm1, %xmm7
cvtsi2ss %ecx, %xmm9
movaps %xmm10, 0x170(%rsp)
mulss %xmm10, %xmm9
mulss %xmm1, %xmm9
leaq 0x599aff(%rip), %rcx    # 0x5f3b40
movsd (%rcx), %xmm8
leaq 0x36dd03(%rip), %rcx    # 0x3c7d50
movswl (%rcx,%rdx,2), %edx
cvtsi2sd %edx, %xmm1
leaq 0x59995c(%rip), %rdx    # 0x5f39b8
mulsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm2
movsd (%rdx), %xmm11
movswl (%rcx,%rsi,2), %ecx
cvtsi2sd %ecx, %xmm5
mulsd %xmm0, %xmm5
cvtsd2ss %xmm5, %xmm0
movss %xmm12, 0xc0(%rsp)
movaps %xmm12, %xmm6
subss %xmm2, %xmm6
movaps %xmm7, %xmm5
mulss %xmm6, %xmm5
mulss %xmm9, %xmm6
mulss %xmm0, %xmm9
addss %xmm9, %xmm5
mulss %xmm0, %xmm7
subss %xmm7, %xmm6
leaq 0x599a98(%rip), %rcx    # 0x5f3b48
leaq 0x599a71(%rip), %rdx    # 0x5f3b28
movsd (%rdx), %xmm10
movsd (%rcx), %xmm9
movapd %xmm9, %xmm7
unpcklpd %xmm10, %xmm7           # xmm7 = xmm7[0],xmm10[0]
unpcklpd %xmm9, %xmm10           # xmm10 = xmm10[0],xmm9[0]
movapd %xmm8, %xmm9
mulsd %xmm11, %xmm9
cvtsd2ss %xmm9, %xmm9
leaq 0x5998da(%rip), %rcx    # 0x5f39c0
movapd 0x12cb1(%rip), %xmm12   # 0x6cda0
movsd (%rcx), %xmm13
movapd %xmm13, %xmm14
xorpd %xmm12, %xmm14
leaq 0x5998ab(%rip), %rcx    # 0x5f39b0
movsd (%rcx), %xmm15
xorpd %xmm15, %xmm12
unpcklpd %xmm12, %xmm15          # xmm15 = xmm15[0],xmm12[0]
cvtss2sd %xmm9, %xmm9
mulpd %xmm10, %xmm15
movlhps %xmm9, %xmm9            # xmm9 = xmm9[0,0]
mulpd %xmm7, %xmm9
addpd %xmm15, %xmm9
unpcklpd %xmm13, %xmm14          # xmm14 = xmm14[0],xmm13[0]
mulpd %xmm10, %xmm14
leaq 0x59986b(%rip), %rcx    # 0x5f39a8
movsd (%rcx), %xmm13
movapd %xmm13, %xmm10
mulsd %xmm8, %xmm10
cvtsd2ss %xmm10, %xmm10
cvtss2sd %xmm10, %xmm10
movlhps %xmm10, %xmm10          # xmm10 = xmm10[0,0]
mulpd %xmm7, %xmm10
addpd %xmm14, %xmm10
leaq 0x5999b5(%rip), %rcx    # 0x5f3b20
movsd (%rcx), %xmm12
mulsd %xmm12, %xmm13
mulsd %xmm12, %xmm11
unpcklpd %xmm12, %xmm12          # xmm12 = xmm12[0,0]
cvtpd2ps %xmm9, %xmm15
cvtpd2ps %xmm10, %xmm14
mulpd %xmm7, %xmm12
movaps %xmm0, %xmm10
shufps $0x0, %xmm0, %xmm10     # xmm10 = xmm10[0,0],xmm0[0,0]
movaps %xmm10, %xmm4
mulps %xmm14, %xmm4
movaps %xmm2, %xmm9
shufps $0x0, %xmm2, %xmm9      # xmm9 = xmm9[0,0],xmm2[0,0]
movaps %xmm9, %xmm7
mulps %xmm15, %xmm7
subps %xmm4, %xmm7
cvtsd2ss %xmm8, %xmm1
cvtsd2ss %xmm13, %xmm13
cvtsd2ss %xmm11, %xmm4
movaps %xmm0, %xmm8
mulss %xmm4, %xmm8
movaps %xmm2, %xmm11
mulss %xmm13, %xmm11
addss %xmm8, %xmm11
cvtpd2ps %xmm12, %xmm8
movlpd %xmm8, 0x40(%rsp)
movlps %xmm7, 0x50(%rsp)
movss %xmm11, 0x38(%rsp)
movaps %xmm1, %xmm12
xorps 0x142d3(%rip), %xmm12   # 0x6e4d0
movss %xmm12, 0x48(%rsp)
movaps %xmm1, %xmm12
mulss %xmm13, %xmm0
mulss %xmm4, %xmm2
subss %xmm0, %xmm2
movaps %xmm2, %xmm1
mulss %xmm6, %xmm4
mulss %xmm5, %xmm13
addss %xmm4, %xmm13
mulps %xmm15, %xmm10
mulps %xmm14, %xmm9
addps %xmm10, %xmm9
shufps $0x0, %xmm6, %xmm6      # xmm6 = xmm6[0,0,0,0]
mulps %xmm15, %xmm6
shufps $0x0, %xmm5, %xmm5      # xmm5 = xmm5[0,0,0,0]
mulps %xmm14, %xmm5
cvtsd2ss 0xe0(%rsp), %xmm4
cvtsd2ss 0xd0(%rsp), %xmm0
cvtsd2ss %xmm3, %xmm2
addps %xmm6, %xmm5
movaps %xmm12, %xmm3
mulss %xmm2, %xmm3
shufps $0x0, %xmm2, %xmm2      # xmm2 = xmm2[0,0,0,0]
mulps %xmm8, %xmm2
mulss %xmm4, %xmm11
shufps $0x0, %xmm4, %xmm4      # xmm4 = xmm4[0,0,0,0]
mulps %xmm9, %xmm4
addps %xmm2, %xmm4
movaps %xmm0, %xmm2
shufps $0x0, %xmm0, %xmm2      # xmm2 = xmm2[0,0],xmm0[0,0]
mulps %xmm7, %xmm2
addps %xmm4, %xmm2
addps %xmm5, %xmm2
subss %xmm3, %xmm11
mulss %xmm1, %xmm0
addss %xmm11, %xmm0
addss %xmm13, %xmm0
movss %xmm1, 0x58(%rsp)
movlps %xmm9, 0x30(%rsp)
movlps %xmm2, 0x60(%rsp)
movss %xmm0, 0x68(%rsp)
cmpl $0x20, %eax
jne 0x5a2fd
mulps 0x15eef(%rip), %xmm7    # 0x701b0
mulps 0x15ef7(%rip), %xmm8    # 0x701c0
movlps %xmm7, 0x40(%rsp)
mulss 0x15ebe(%rip), %xmm1    # 0x70194
movlps %xmm8, 0x50(%rsp)
movss %xmm1, 0x48(%rsp)
mulss 0x15ead(%rip), %xmm12   # 0x70198
movss %xmm12, 0x58(%rsp)
movaps %xmm7, %xmm0
movaps %xmm8, %xmm7
movaps %xmm0, %xmm8
leaq 0x59989c(%rip), %rbx    # 0x5f3ba0
movsd (%rbx), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jbe 0x5a340
movaps 0x141b8(%rip), %xmm1    # 0x6e4d0
xorps %xmm1, %xmm9
movss %xmm9, 0x30(%rsp)
xorps %xmm1, %xmm8
movss %xmm8, 0x40(%rsp)
xorps %xmm1, %xmm7
movss %xmm7, 0x50(%rsp)
xorps %xmm1, %xmm2
movss %xmm2, 0x60(%rsp)
andl $0x0, 0x5c(%rsp)
andl $0x0, 0x4c(%rsp)
andl $0x0, 0x3c(%rsp)
movl $0x3f800000, 0x6c(%rsp) # imm = 0x3F800000
movq %r15, %r13
testb $0x4, 0xd(%r15)
je 0x5a393
leaq 0x5993d8(%rip), %r12    # 0x5f3740
movl $0x201, %edi            # imm = 0x201
movq %r11, %r15
callq *0x98(%r12)
movsd 0x15e60(%rip), %xmm1    # 0x701e0
xorpd %xmm0, %xmm0
callq *0xa8(%r12)
movq %r15, %r11
movsd (%rbx), %xmm0
xorpd %xmm1, %xmm1
xorl %eax, %eax
ucomisd %xmm1, %xmm0
setae %al
movl (%r11), %ecx
movl %ecx, %edx
shrl $0x3, %edx
andl $0x1, %edx
xorl %eax, %edx
btl $0x2, %ecx
sbbl $0x0, %edx
sete %al
leaq 0x599382(%rip), %rbx    # 0x5f3740
movzbl %al, %edi
orl $0x900, %edi            # imm = 0x900
callq *0x28(%rbx)
movl $0xb44, %edi            # imm = 0xB44
callq *0x40(%rbx)
movl $0x405, %edi            # imm = 0x405
callq *0x20(%rbx)
leaq 0x3b3447(%rip), %rax    # 0x40d828
leaq 0x3b3444(%rip), %rcx    # 0x40d82c
movl 0x4(%r14), %edx
addl (%rcx), %edx
xorl %ecx, %ecx
testl %edx, %edx
cmovgl %edx, %ecx
movswl (%rax), %eax
cmpl %eax, %ecx
cmovgel %eax, %ecx
cvtsi2ss %eax, %xmm0
subl %ecx, %eax
cvtsi2ss %eax, %xmm1
divss %xmm0, %xmm1
leaq 0x3aebf2(%rip), %r15    # 0x409004
movslq (%r15), %rax
leaq 0x5e7804(%rip), %rcx    # 0x641c20
movd (%rcx,%rax,4), %xmm0
xorps %xmm2, %xmm2
punpcklbw %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3],xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]
punpcklwd %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]
cvtdq2pd %xmm0, %xmm0
divpd 0x14f88(%rip), %xmm0    # 0x6f3c0
cvtss2sd %xmm1, %xmm1
movzbl 0x2(%rcx,%rax,4), %eax
cvtsi2sd %eax, %xmm2
divsd 0x11b4b(%rip), %xmm2    # 0x6bf98
mulsd %xmm1, %xmm2
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
mulpd %xmm0, %xmm1
cvtpd2ps %xmm1, %xmm0
movapd %xmm0, 0xe0(%rsp)
cvtsd2ss %xmm2, %xmm0
movss %xmm0, 0xd0(%rsp)
movzwl 0xc(%r13), %eax
testb $0x2, %al
je 0x5a49a
xorl %ecx, %ecx
btl $0x9, %eax
setae %cl
leaq 0x15d5c(%rip), %rdx     # 0x701e8
movss (%rdx,%rcx,4), %xmm0
movss %xmm0, 0xc0(%rsp)
movaps 0x10(%rsp), %xmm0
movaps 0x180(%rsp), %xmm1
mulss %xmm1, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x48(%rbx), %rcx
leaq 0x40(%rbx), %rdx
cmpl $0x0, 0x30(%r14)
cmovneq %rdx, %rcx
movaps 0x20(%rsp), %xmm0
mulss %xmm1, %xmm0
movaps %xmm0, 0x20(%rsp)
testb $0x2, %al
cmovneq %rdx, %rcx
movl $0xbe2, %edi            # imm = 0xBE2
callq *(%rcx)
movabsq $0x3ea3d70a00000000, %rax # imm = 0x3EA3D70A00000000
movq %rax, 0xfc(%rsp)
movaps 0xe0(%rsp), %xmm0
movlps %xmm0, 0x104(%rsp)
movss 0xd0(%rsp), %xmm0
movss %xmm0, 0x10c(%rsp)
leaq 0x599461(%rip), %rax    # 0x5f3978
movslq (%rax), %rax
leaq 0x3d508f(%rip), %rcx    # 0x42f5b0
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]
cvtdq2ps %xmm0, %xmm0
divps 0x14e75(%rip), %xmm0    # 0x6f3b0
movzbl 0x2(%rcx,%rax,4), %eax
cvtsi2ss %eax, %xmm1
movss 0xc0(%rsp), %xmm2
movss %xmm2, 0x110(%rsp)
movlps %xmm0, 0x114(%rsp)
divss 0x14db2(%rip), %xmm1    # 0x6f318
movss %xmm1, 0x11c(%rsp)
movl $0x3f800000, 0x120(%rsp) # imm = 0x3F800000
leaq 0x5993fb(%rip), %rax    # 0x5f397c
movss (%rax), %xmm0
movss %xmm0, 0x124(%rsp)
andl $0x0, 0x138(%rsp)
andl $0x0, 0x140(%rsp)
movq 0x602aab(%rip), %rax    # 0x65d050
movq %rax, 0x148(%rsp)
testb $0x1, %bpl
jne 0x5a5bc
leaq 0x5994a6(%rip), %rax    # 0x5f3a60
jmp 0x5a5c3
leaq 0x5994dd(%rip), %rax    # 0x5f3aa0
movaps 0x70(%rsp), %xmm4
movaps 0xa0(%rsp), %xmm5
movaps 0x90(%rsp), %xmm6
movaps 0x80(%rsp), %xmm7
movaps 0x170(%rsp), %xmm0
mulss %xmm0, %xmm7
mulss %xmm0, %xmm6
movaps 0x10(%rsp), %xmm3
movaps 0x150(%rsp), %xmm0
mulss %xmm0, %xmm3
movaps 0x20(%rsp), %xmm2
mulss %xmm0, %xmm2
movss 0x160(%rsp), %xmm0
mulss %xmm0, %xmm5
mulss %xmm0, %xmm4
leaq 0xf8(%rsp), %rcx
movq %rax, 0x38(%rcx)
leaq 0x30(%rsp), %rax
movq %rax, 0x30(%rcx)
xorl %r12d, %r12d
pushq $0x2
popq %rbx
movaps %xmm2, 0x20(%rsp)
movaps %xmm3, 0x10(%rsp)
movaps %xmm4, 0x70(%rsp)
movaps %xmm5, 0xa0(%rsp)
movaps %xmm6, 0x90(%rsp)
movaps %xmm7, 0x80(%rsp)
movslq 0xac(%r14), %rax
cmpq %rax, %r12
jge 0x5a863
movq 0xc8(%r14), %rax
movq %r12, %rcx
shlq $0x7, %rcx
leaq (%rax,%rcx), %rbp
movq 0x70(%rax,%rcx), %rsi
movl 0x50(%rax,%rcx), %eax
movl 0x24(%r14), %ecx
imull %eax, %ecx
movslq %ecx, %rdi
movl 0x28(%r14), %ecx
imull %eax, %ecx
movslq %ecx, %rdx
movq 0x60299d(%rip), %rcx    # 0x65d040
imulq $0xc, %rax, %r8
addq %r8, %rcx
addq $-0x4, %rcx
leaq (%rsi,%rdx,8), %rdx
addq $-0x4, %rdx
leaq (%rsi,%rdi,8), %rsi
addq $-0x4, %rsi
testl %eax, %eax
jle 0x5a733
movswl -0x4(%rsi,%rax,8), %edi
cvtsi2ss %edi, %xmm0
movswl -0x4(%rdx,%rax,8), %edi
cvtsi2ss %edi, %xmm1
mulss %xmm3, %xmm0
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movss %xmm1, (%rcx)
movswl (%rsi,%rax,8), %edi
cvtsi2ss %edi, %xmm0
movswl (%rdx,%rax,8), %edi
cvtsi2ss %edi, %xmm1
mulss %xmm5, %xmm0
mulss %xmm4, %xmm1
addss %xmm0, %xmm1
movss %xmm1, -0x4(%rcx)
movswl -0x2(%rsi,%rax,8), %edi
movswl -0x2(%rdx,%rax,8), %r8d
decq %rax
cvtsi2ss %edi, %xmm0
mulss %xmm7, %xmm0
cvtsi2ss %r8d, %xmm1
mulss %xmm6, %xmm1
addss %xmm0, %xmm1
movss %xmm1, -0x8(%rcx)
addq $-0xc, %rcx
jmp 0x5a6be
movswq 0xe(%r13), %rax
imulq $0xc, %rax, %rax
leaq 0x5e78fd(%rip), %rcx    # 0x642040
movl 0x4(%rax,%rcx), %esi
movl (%r15), %edx
movq %r14, %rdi
movl %r12d, %ecx
callq 0x567d6
testq %rax, %rax
je 0x5a834
movl (%rax), %eax
testl %eax, %eax
je 0x5a834
movl %eax, 0xf8(%rsp)
movq 0x6028ca(%rip), %rax    # 0x65d040
xorl %ecx, %ecx
movq 0x6028d1(%rip), %rdx    # 0x65d050
xorl %esi, %esi
movslq 0x54(%rbp), %rdi
cmpq %rdi, %rcx
jge 0x5a80f
imulq $0xc, %rcx, %rdi
movl %ebx, %r8d
testl %r8d, %r8d
js 0x5a804
movq 0x58(%rbp), %r9
addq %rdi, %r9
movl %r8d, %r10d
movslq (%r9,%r10,4), %r9
imulq $0xc, %r9, %r10
movss (%rax,%r10), %xmm0
leal (%rsi,%r8), %r11d
imulq $0x14, %r11, %r11
movss %xmm0, (%rdx,%r11)
movss 0x4(%rax,%r10), %xmm0
movss %xmm0, 0x4(%rdx,%r11)
movss 0x8(%rax,%r10), %xmm0
movss %xmm0, 0x8(%rdx,%r11)
movq 0x68(%rbp), %r10
movss (%r10,%r9,8), %xmm0
movss %xmm0, 0xc(%rdx,%r11)
movq 0x68(%rbp), %r10
movss 0x4(%r10,%r9,8), %xmm0
movss %xmm0, 0x10(%rdx,%r11)
decl %r8d
jmp 0x5a795
incq %rcx
addl $0x3, %esi
jmp 0x5a781
leal (%rdi,%rdi,2), %eax
movl %eax, 0x13c(%rsp)
imull $0x3, 0x54(%rbp), %eax
movl %eax, 0x144(%rsp)
pushq $0x4
popq %rdi
leaq 0xf8(%rsp), %rsi
callq 0x4727b
incq %r12
movaps 0x20(%rsp), %xmm2
movaps 0x10(%rsp), %xmm3
movaps 0x70(%rsp), %xmm4
movaps 0xa0(%rsp), %xmm5
movaps 0x90(%rsp), %xmm6
movaps 0x80(%rsp), %xmm7
jmp 0x5a65d
movl $0xb44, %edi            # imm = 0xB44
leaq 0x598ed1(%rip), %rbx    # 0x5f3740
callq *0x48(%rbx)
movl $0x901, %edi            # imm = 0x901
callq *0x28(%rbx)
testb $0x4, 0xd(%r13)
je 0x5a89d
movl $0x203, %edi            # imm = 0x203
callq *0x98(%rbx)
movsd 0x14d24(%rip), %xmm1    # 0x6f5b8
xorps %xmm0, %xmm0
callq *0xa8(%rbx)
pushq $0x1
popq %r12
movl %r12d, %eax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl (%r13), %ecx
movl %ecx, 0xf8(%rsp)
movabsq $0x3ea3d70a00000000, %rcx # imm = 0x3EA3D70A00000000
movq %rcx, 0xfc(%rsp)
movaps 0x10(%rsp), %xmm0
movlps %xmm0, 0x104(%rsp)
movss 0x70(%rsp), %xmm0
movss %xmm0, 0x10c(%rsp)
movss %xmm2, 0x110(%rsp)
leaq 0x599079(%rip), %rcx    # 0x5f3978
movslq (%rcx), %rcx
leaq 0x3d4ca7(%rip), %rdx    # 0x42f5b0
movd (%rdx,%rcx,4), %xmm0
xorpd %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]
cvtdq2ps %xmm0, %xmm0
divps 0x14a8c(%rip), %xmm0    # 0x6f3b0
movlps %xmm0, 0x114(%rsp)
movzbl 0x2(%rdx,%rcx,4), %ecx
cvtsi2ss %ecx, %xmm0
divss 0x149db(%rip), %xmm0    # 0x6f318
movss %xmm0, 0x11c(%rsp)
movl $0x3f800000, 0x120(%rsp) # imm = 0x3F800000
leaq 0x599024(%rip), %rcx    # 0x5f397c
movss (%rcx), %xmm0
movss %xmm0, 0x124(%rsp)
testb $0x1, 0xbc(%rsp)
jne 0x5a978
leaq 0x5990ea(%rip), %rcx    # 0x5f3a60
jmp 0x5a97f
leaq 0x599121(%rip), %rcx    # 0x5f3aa0
leaq 0xf8(%rsp), %rsi
movq %rcx, 0x38(%rsi)
leaq 0x30(%rsp), %rcx
movq %rcx, 0x30(%rsi)
leal (%rdi,%rdi,2), %ecx
movl %ecx, 0x44(%rsi)
andl $0x0, 0x40(%rsi)
andl $0x0, 0x48(%rsi)
movl %ecx, 0x4c(%rsi)
movq %rax, 0x50(%rsi)
pushq $0x4
popq %rdi
callq 0x4727b
movl $0xb44, %edi            # imm = 0xB44
callq *0x48(%r15)
movl $0x901, %edi            # imm = 0x901
callq *0x28(%r15)
pushq $0x1
popq %r12
movq 0x20(%rsp), %rax
testb $0x4, 0xd(%rax)
je 0x5a8a1
movl $0x203, %edi            # imm = 0x203
callq *0x98(%r15)
movsd 0x14bce(%rip), %xmm1    # 0x6f5b8
xorps %xmm0, %xmm0
callq *0xa8(%r15)
jmp 0x5a8a1