// File: /workspace/github_cpp_makefile_star2_O2/FreeSlave[P]vhlt/hlrad/qrad.cpp
// Function: RadWorld()
static void     RadWorld()
{
    unsigned        i;
#ifdef ZHLT_TEXLIGHT
    unsigned        j;
#endif

    MakeBackplanes();
    MakeParents(0, -1);
    MakeTnodes(&g_dmodels[0]);
#ifdef HLRAD_OPAQUE_NODE
	CreateOpaqueNodes();
	LoadOpaqueEntities();
#endif

    // turn each face into a single patch
    MakePatches();
#ifdef HLRAD_DEBUG_DRAWPOINTS
	if (g_drawpatch)
	{
		char name[_MAX_PATH+20];
		sprintf (name, "%s_patch.pts", g_Mapname);
		Log ("Writing '%s' ...\n", name);
		FILE *f;
		f = fopen(name, "w");
		if (f)
		{
			const int pos_count = 15;
			const vec3_t pos[pos_count] = {{0,0,0},{1,0,0},{0,1,0},{-1,0,0},{0,-1,0},{1,0,0},{0,0,1},{-1,0,0},{0,0,-1},{0,-1,0},{0,0,1},{0,1,0},{0,0,-1},{1,0,0},{0,0,0}};
			int j, k;
			patch_t *patch;
			vec3_t v;
			for (j = 0, patch = g_patches; j < g_num_patches; j++, patch++)
			{
				if (patch->flags == ePatchFlagOutside)
					continue;
				VectorCopy (patch->origin, v);
				for (k = 0; k < pos_count; ++k)
					fprintf (f, "%g %g %g\n", v[0]+pos[k][0], v[1]+pos[k][1], v[2]+pos[k][2]);
			}
			fclose(f);
			Log ("OK.\n");
		}
		else
			Log ("Error.\n");
	}
#endif
    CheckMaxPatches();                                     // Check here for exceeding max patches, to prevent a lot of work from occuring before an error occurs
    SortPatches();                                         // Makes the runs in the Transfer Compression really good
    PairEdges();
#ifdef HLRAD_DEBUG_DRAWPOINTS
	if (g_drawedge)
	{
		char name[_MAX_PATH+20];
		sprintf (name, "%s_edge.pts", g_Mapname);
		Log ("Writing '%s' ...\n", name);
		FILE *f;
		f = fopen(name, "w");
		if (f)
		{
			const int pos_count = 15;
			const vec3_t pos[pos_count] = {{0,0,0},{1,0,0},{0,1,0},{-1,0,0},{0,-1,0},{1,0,0},{0,0,1},{-1,0,0},{0,0,-1},{0,-1,0},{0,0,1},{0,1,0},{0,0,-1},{1,0,0},{0,0,0}};
			int j, k;
			edgeshare_t *es;
			vec3_t v;
			for (j = 0, es = g_edgeshare; j < MAX_MAP_EDGES; j++, es++)
			{
#ifdef HLRAD_GetPhongNormal_VL
				if (es->smooth)
#else
				if (es->coplanar || !VectorCompare (es->interface_normal, vec3_origin))
#endif
				{
					int v0 = g_dedges[j].v[0], v1 = g_dedges[j].v[1];
					VectorAdd (g_dvertexes[v0].point, g_dvertexes[v1].point, v);
					VectorScale (v, 0.5, v);
					VectorAdd (v, es->interface_normal, v);
					VectorAdd (v, g_face_offset[es->faces[0] - g_dfaces], v);
					for (k = 0; k < pos_count; ++k)
						fprintf (f, "%g %g %g\n", v[0]+pos[k][0], v[1]+pos[k][1], v[2]+pos[k][2]);
				}
			}
			fclose(f);
			Log ("OK.\n");
		}
		else
			Log ("Error.\n");
	}
#endif

#ifdef HLRAD_SOFTSKY
	BuildDiffuseNormals ();
#endif
    // create directlights out of g_patches and lights
    CreateDirectLights();

    Log("\n");
	
#ifdef HLRAD_GROWSAMPLE
	// generate a position map for each face
	NamedRunThreadsOnIndividual(g_numfaces, g_estimate, FindFacePositions);

#endif
    // build initial facelights
    NamedRunThreadsOnIndividual(g_numfaces, g_estimate, BuildFacelights);

#ifdef HLRAD_GROWSAMPLE
	FreePositionMaps ();

#endif
    // free up the direct lights now that we have facelights
    DeleteDirectLights();

    if (g_numbounce > 0)
    {
        // build transfer lists
        MakeScalesStub();

#ifdef HLRAD_MORE_PATCHES
		// these arrays are only used in CollectLight, GatherLight and BounceLight
	#ifdef ZHLT_TEXLIGHT
		emitlight = (vec3_t (*)[MAXLIGHTMAPS])AllocBlock ((g_num_patches + 1) * sizeof (vec3_t [MAXLIGHTMAPS]));
		addlight = (vec3_t (*)[MAXLIGHTMAPS])AllocBlock ((g_num_patches + 1) * sizeof (vec3_t [MAXLIGHTMAPS]));
	#ifdef ZHLT_XASH
		emitlight_direction = (vec3_t (*)[MAXLIGHTMAPS])AllocBlock ((g_num_patches + 1) * sizeof (vec3_t [MAXLIGHTMAPS]));
		addlight_direction = (vec3_t (*)[MAXLIGHTMAPS])AllocBlock ((g_num_patches + 1) * sizeof (vec3_t [MAXLIGHTMAPS]));
	#endif
	#ifdef HLRAD_AUTOCORING
		newstyles = (unsigned char (*)[MAXLIGHTMAPS])AllocBlock ((g_num_patches + 1) * sizeof (unsigned char [MAXLIGHTMAPS]));
	#endif
	#else
		emitlight = (vec3_t *)AllocBlock ((g_num_patches + 1) * sizeof (vec3_t));
		addlight = (vec3_t *)AllocBlock ((g_num_patches + 1) * sizeof (vec3_t));
	#endif
#endif
        // spread light around
        BounceLight();

#ifndef HLRAD_AUTOCORING
        for (i = 0; i < g_num_patches; i++)
        {
#ifdef ZHLT_TEXLIGHT// AJM
            for (j = 0; j < MAXLIGHTMAPS && g_patches[i].totalstyle[j] != 255; j++)
			{
	            VectorSubtract(g_patches[i].totallight[j], g_patches[i].directlight[j], g_patches[i].totallight[j]);
			}
#else
            VectorSubtract(g_patches[i].totallight, g_patches[i].directlight, g_patches[i].totallight);
#endif
        }
#endif
#ifdef HLRAD_MORE_PATCHES
	#ifdef ZHLT_TEXLIGHT
		FreeBlock (emitlight);
		emitlight = NULL;
		FreeBlock (addlight);
		addlight = NULL;
	#ifdef ZHLT_XASH
		FreeBlock (emitlight_direction);
		emitlight_direction = NULL;
		FreeBlock (addlight_direction);
		addlight_direction = NULL;
	#endif
	#ifdef HLRAD_AUTOCORING
		FreeBlock (newstyles);
		newstyles = NULL;
	#endif
	#else
		FreeBlock (emitlight);
		emitlight = NULL;
		FreeBlock (addlight);
		addlight = NULL;
	#endif
#endif
    }
#ifndef HLRAD_AUTOCORING
#ifdef HLRAD_GatherPatchLight
	if (g_numbounce <= 0)
	{
        for (i = 0; i < g_num_patches; i++)
        {
#ifdef ZHLT_TEXLIGHT// AJM
            for (j = 0; j < MAXLIGHTMAPS && g_patches[i].totalstyle[j] != 255; j++)
			{
	            VectorSubtract(g_patches[i].totallight[j], g_patches[i].directlight[j], g_patches[i].totallight[j]);
			}
#else
            VectorSubtract(g_patches[i].totallight, g_patches[i].directlight, g_patches[i].totallight);
#endif
        }
	}
#endif
#endif

    FreeTransfers();
#ifdef HLRAD_OPAQUE_STYLE_BOUNCE
	FreeStyleArrays ();
#endif
	
#ifdef HLRAD_LOCALTRIANGULATION
	NamedRunThreadsOnIndividual (g_numfaces, g_estimate, CreateTriangulations);

#endif
    // blend bounced light into direct light and save
    PrecompLightmapOffsets();

#ifdef ZHLT_XASH
#ifdef HLRAD_WHOME
	g_directionscale = FindDirectionScale (VectorAvg (g_colour_qgamma));
#else
	g_directionscale = FindDirectionScale (g_qgamma);
#endif
#endif
#ifdef HLRAD_GROWSAMPLE

	ScaleDirectLights ();

#ifndef HLRAD_GatherPatchLight
    if (g_numbounce)
#endif
	{

		CreateFacelightDependencyList ();

		NamedRunThreadsOnIndividual (g_numfaces, g_estimate, AddPatchLights);

		FreeFacelightDependencyList ();
	}

#endif
#ifdef HLRAD_LOCALTRIANGULATION
	FreeTriangulations ();

#endif
    NamedRunThreadsOnIndividual(g_numfaces, g_estimate, FinalLightFace);
#ifdef HLRAD_AUTOCORING
	if (g_maxdiscardedlight > 0.01)
	{
		Verbose ("Maximum brightness loss (too many light styles on a face) = %f @(%f, %f, %f)\n", g_maxdiscardedlight, g_maxdiscardedpos[0], g_maxdiscardedpos[1], g_maxdiscardedpos[2]);
	}
#endif
#ifdef HLRAD_MDL_LIGHT_HACK
	MdlLightHack ();
#endif
#ifdef HLRAD_REDUCELIGHTMAP
	ReduceLightmap();
	if (g_lightdatasize == 0)
	{
		g_lightdatasize = 1;
		g_dlightdata[0] = 0;
	#ifdef ZHLT_XASH
		g_dlitdatasize = 1;
		g_ddlitdata[0] = 0;
	#endif
	}
#endif
#ifdef ZHLT_EMBEDLIGHTMAP
	ExtendLightmapBuffer (); // expand the size of lightdata array (for a few KB) to ensure that game engine reads within its valid range
#endif
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x11b8, %rsp           # imm = 0x11B8
callq 0x2b631
pushq $-0x1
popq %rsi
xorl %edi, %edi
callq 0x29d30
leaq 0x1e399(%rip), %rdi     # 0x45480
callq 0x2de98
callq 0x2ec19
leaq 0x1a0(%rsp), %r12
leaq 0x2014334(%rip), %r13   # 0x203b434
leaq 0xb4f4(%rip), %r14      # 0x325fb
leaq 0xeea9(%rip), %r15      # 0x35fb7
xorl %edx, %edx
leaq 0x1e359(%rip), %rax     # 0x45470
cmpl (%rax), %edx
jge 0x27593
movq %r12, %rdi
leaq 0xb5b1(%rip), %rsi      # 0x326da
movl %edx, 0x80(%rsp)
xorl %eax, %eax
callq 0x40a0
xorl %ebp, %ebp
movslq (%r13), %rax
cmpq %rax, %rbp
jge 0x27585
movq %rbp, %rbx
shlq $0x5, %rbx
addq 0x1ce7c(%rip), %rbx     # 0x43fd0
movq %rbx, %rdi
leaq 0xb580(%rip), %rsi      # 0x326de
callq 0x6929
movq %rax, %rdi
movq %r12, %rsi
callq 0x4460
testl %eax, %eax
jne 0x27540
movq %rbp, 0x10(%rsp)
movq %rbx, %rdi
leaq 0x123a8(%rip), %rsi     # 0x3952d
leaq 0xa0(%rsp), %rdx
callq 0x71a2
movq %rbx, %rdi
leaq 0x1238b(%rip), %rsi     # 0x39527
callq 0x6929
cmpb $0x0, (%rax)
je 0x2722e
movq %rbx, %rdi
leaq 0x12380(%rip), %rsi     # 0x39534
callq 0x6929
cmpb $0x0, (%rax)
je 0x2722e
movq %rbx, %rdi
leaq 0x1235f(%rip), %rsi     # 0x39527
callq 0x6929
movq %rax, %rdi
callq 0x713a
testq %rax, %rax
je 0x2722e
movq %rax, %rdi
leaq 0x12349(%rip), %rsi     # 0x3952d
leaq 0x40(%rsp), %rdx
callq 0x71a2
movq %rbx, %rdi
leaq 0x1233c(%rip), %rsi     # 0x39534
leaq 0x30(%rsp), %rdx
callq 0x71a2
movsd 0x40(%rsp), %xmm0
movsd 0x30(%rsp), %xmm1
subps %xmm1, %xmm0
movlps %xmm0, 0xa0(%rsp)
movss 0x48(%rsp), %xmm0
subss 0x38(%rsp), %xmm0
movss %xmm0, 0xa8(%rsp)
cmpb $0x1, 0x1e1bf(%rip)     # 0x453f4
leaq 0xb32f(%rip), %rbp      # 0x3256b
jne 0x27258
movq %rbx, %rdi
leaq 0x122f9(%rip), %rsi     # 0x39541
callq 0x6a5d
andl $0x2, %eax
shrl %eax
movl %eax, 0x50(%rsp)
jmp 0x27260
movl $0x0, 0x50(%rsp)
andq $0x0, 0x40(%rsp)
andl $0x0, 0x48(%rsp)
movq %rbx, %rdi
leaq 0x122dc(%rip), %rsi     # 0x39551
callq 0x6929
cmpb $0x0, (%rax)
je 0x27342
movq %rax, %r12
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, 0x30(%rsp)
movq %rax, 0x28(%rsp)
movq %rax, 0x148(%rsp)
movq %rax, 0x140(%rsp)
movq %r12, %rdi
leaq 0xec88(%rip), %rsi      # 0x35f3c
leaq 0x30(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x148(%rsp), %r8
xorl %eax, %eax
callq 0x42c0
cmpl $0x3, %eax
jne 0x27302
xorps %xmm0, %xmm0
maxsd 0x148(%rsp), %xmm0
movsd 0x30(%rsp), %xmm1
movhpd 0x28(%rsp), %xmm1       # xmm1 = xmm1[0],mem[0]
xorpd %xmm2, %xmm2
maxpd %xmm1, %xmm2
cvtpd2ps %xmm2, %xmm1
movlpd %xmm1, 0x40(%rsp)
cvtsd2ss %xmm0, %xmm0
jmp 0x2733c
movq %r12, %rdi
leaq 0xec38(%rip), %rsi      # 0x35f44
leaq 0x140(%rsp), %rdx
xorl %eax, %eax
callq 0x42c0
cmpl $0x1, %eax
jne 0x27342
xorps %xmm0, %xmm0
maxsd 0x140(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x40(%rsp)
movss %xmm0, 0x44(%rsp)
movss %xmm0, 0x48(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0xc9e2(%rip), %rsi      # 0x33d30
callq 0x1e86c
movb %al, 0x60(%rsp)
xorb $0x1, %al
movb %al, 0x70(%rsp)
leaq 0x20140dc(%rip), %r12   # 0x203b440
xorl %r13d, %r13d
leaq 0x20140c6(%rip), %rax   # 0x203b434
movslq (%rax), %rax
cmpq %rax, %r13
jge 0x273e0
movq %r12, %rdi
movq %rbp, %rsi
callq 0x6929
movq %rax, %rdi
movq %r14, %rsi
callq 0x4460
testl %eax, %eax
jne 0x273d7
movq %r12, %rdi
movq %r15, %rsi
callq 0x6929
cmpb $0x0, (%rax)
je 0x273d7
movq %r12, %rdi
movq %r15, %rsi
callq 0x6929
movq %rax, %r15
movq %rbx, %rdi
leaq 0xb317(%rip), %rsi      # 0x326cf
callq 0x6929
movq %r15, %rdi
leaq 0xebf0(%rip), %r15      # 0x35fb7
movq %rax, %rsi
callq 0x4460
testl %eax, %eax
je 0x27548
incq %r13
addq $0x20, %r12
jmp 0x27367
pushq $-0x1
popq %r12
cmpl $0x0, 0x1e035(%rip)     # 0x45420
je 0x27413
movq %rbx, %rdi
leaq 0x1214a(%rip), %rsi     # 0x39541
callq 0x6a5d
andl $0x8, %eax
movl %r12d, %ecx
notl %ecx
orl %eax, %ecx
sete %bpl
movb 0x60(%rsp), %bl
andb %bl, %bpl
jmp 0x27419
xorl %ebp, %ebp
movb 0x60(%rsp), %bl
cmpb $0x0, 0x50(%rsp)
je 0x2752c
movl 0x54cf635(%rip), %r13d  # 0x54f6a60
cmpl 0x54cf632(%rip), %r13d  # 0x54f6a64
jne 0x27471
addl $0x400, %r13d           # imm = 0x400
movl %r13d, 0x54cf622(%rip)  # 0x54f6a64
movq 0x54cf60f(%rip), %rdi   # 0x54f6a58
imulq $0x2c, %r13, %rsi
callq 0x4580
movq %rax, 0x54cf5ff(%rip)   # 0x54f6a58
xorl %edi, %edi
testq %rax, %rax
setne %dil
pushq $0x1
popq %rsi
callq 0x92cb
movl 0x54cf5ef(%rip), %r13d  # 0x54f6a60
movq 0x54cf5e0(%rip), %r15   # 0x54f6a58
leal 0x1(%r13), %eax
movl %eax, 0x54cf5de(%rip)   # 0x54f6a60
cmpl $-0x1, %r12d
sete %al
orb %al, %bl
jne 0x2749f
leaq 0x120f2(%rip), %rdi     # 0x39586
xorl %eax, %eax
callq 0x8ea5
pushq $-0x1
popq %r12
movl %r13d, %eax
imulq $0x2c, %rax, %rax
movss 0x40(%rsp), %xmm0
movss %xmm0, 0x14(%r15,%rax)
movss 0x44(%rsp), %xmm0
movss %xmm0, 0x18(%r15,%rax)
movss 0x48(%rsp), %xmm0
movss %xmm0, 0x1c(%r15,%rax)
movb 0x70(%rsp), %cl
movb %cl, 0x20(%r15,%rax)
movq 0x10(%rsp), %rcx
movl %ecx, (%r15,%rax)
movl 0x80(%rsp), %ecx
movl %ecx, 0x4(%r15,%rax)
movss 0xa0(%rsp), %xmm0
movss %xmm0, 0x8(%r15,%rax)
movss 0xa4(%rsp), %xmm0
movss %xmm0, 0xc(%r15,%rax)
movss 0xa8(%rsp), %xmm0
movss %xmm0, 0x10(%r15,%rax)
movl %r12d, 0x24(%r15,%rax)
movb %bpl, 0x28(%r15,%rax)
leaq 0xea8b(%rip), %r15      # 0x35fb7
leaq 0x1a0(%rsp), %r12
leaq 0x2013ef9(%rip), %r13   # 0x203b434
movq 0x10(%rsp), %rbp
incq %rbp
jmp 0x27139
movq %r12, %rdi
leaq 0xe997(%rip), %rsi      # 0x35ee9
callq 0x6a5d
movl %eax, %ecx
negl %ecx
cmovsl %eax, %ecx
movzbl %cl, %r12d
cmpl $0x40, %r12d
jb 0x273e4
leaq 0xe98d(%rip), %rdi      # 0x35f00
movl %r12d, %esi
pushq $0x40
popq %rdx
xorl %eax, %eax
callq 0x8b2f
jmp 0x273e4
movl 0x80(%rsp), %edx
incl %edx
jmp 0x27110
movl 0x54cf4c7(%rip), %esi   # 0x54f6a60
leaq 0x11fc3(%rip), %rdi     # 0x39563
xorl %r14d, %r14d
xorl %eax, %eax
callq 0x8790
pushq $0x4
popq %r15
xorl %ebx, %ebx
movl 0x54cf4aa(%rip), %eax   # 0x54f6a60
cmpq %rax, %r14
jae 0x275d6
movq 0x54cf496(%rip), %rax   # 0x54f6a58
movl (%rax,%r15), %edi
callq 0x2f6d2
addl %eax, %ebx
incq %r14
addq $0x2c, %r15
jmp 0x275b0
leaq 0x11f98(%rip), %rdi     # 0x39575
movl %ebx, %esi
xorl %eax, %eax
callq 0x8790
leaq 0x1b85e17(%rip), %rax   # 0x1bad404
movl (%rax), %esi
leaq 0x11fcd(%rip), %rdi     # 0x395c3
xorl %eax, %eax
callq 0x8790
leaq 0x11fc9(%rip), %rdi     # 0x395cd
xorl %eax, %eax
callq 0x8790
movl $0x137fec80, %edi       # imm = 0x137FEC80
callq 0x477c
movq %rax, 0x538d3d4(%rip)   # 0x53b49f0
leaq 0xc70d(%rip), %rax      # 0x33d30
movsd (%rax), %xmm0
movaps %xmm0, 0x160(%rsp)
movss 0x8(%rax), %xmm0
movss %xmm0, 0xec(%rsp)
xorl %ebp, %ebp
leaq 0x1de2a(%rip), %rax     # 0x45470
movslq (%rax), %rax
cmpq %rax, %rbp
jge 0x29141
movl %ebp, %edi
callq 0x7288
movq %rax, 0x98(%rsp)
movq %rax, %rdi
leaq 0x11ed6(%rip), %rsi     # 0x39541
callq 0x6929
cmpb $0x0, (%rax)
je 0x27686
movq %rax, %rdi
callq 0x4510
movl %eax, 0xfc(%rsp)
jmp 0x27691
movl $0x0, 0xfc(%rsp)
movq 0x98(%rsp), %rdi
leaq 0x11e8d(%rip), %rsi     # 0x3952d
callq 0x6929
cmpb $0x0, (%rax)
movss 0xec(%rsp), %xmm0
movapd 0x160(%rsp), %xmm1
je 0x27710
movq %rax, %rdi
leaq 0xe876(%rip), %rsi      # 0x35f3c
movq %r12, %rdx
leaq 0xa0(%rsp), %rcx
leaq 0x40(%rsp), %r8
xorl %eax, %eax
callq 0x42c0
movss 0xec(%rsp), %xmm0
movapd 0x160(%rsp), %xmm1
cmpl $0x3, %eax
jne 0x27710
movsd 0x1a0(%rsp), %xmm0
movhpd 0xa0(%rsp), %xmm0       # xmm0 = xmm0[0],mem[0]
cvtpd2ps %xmm0, %xmm1
cvtsd2ss 0x40(%rsp), %xmm0
movapd %xmm1, 0x10(%rsp)
movss %xmm0, 0xc(%rsp)
movq %rbp, 0x138(%rsp)
movq 0x98(%rsp), %rdi
leaq 0x11df4(%rip), %rsi     # 0x39527
callq 0x6929
movb $0x1, %bpl
cmpb $0x0, (%rax)
je 0x277ba
movq %rax, %rdi
callq 0x713a
testq %rax, %rax
je 0x277ba
movq %rax, %rdi
leaq 0x11dd6(%rip), %rsi     # 0x3952d
callq 0x6929
cmpb $0x0, (%rax)
je 0x277ba
movq %rax, %rdi
leaq 0xe7d1(%rip), %rsi      # 0x35f3c
movq %r12, %rdx
leaq 0xa0(%rsp), %rcx
leaq 0x40(%rsp), %r8
xorl %eax, %eax
callq 0x42c0
cmpl $0x3, %eax
setne %bl
jne 0x277bc
movsd 0x1a0(%rsp), %xmm0
movhpd 0xa0(%rsp), %xmm0       # xmm0 = xmm0[0],mem[0]
cvtpd2ps %xmm0, %xmm0
movapd %xmm0, 0x170(%rsp)
cvtsd2ss 0x40(%rsp), %xmm0
movss %xmm0, 0x12c(%rsp)
jmp 0x277bc
movb $0x1, %bl
movq 0x98(%rsp), %rdi
leaq 0x11d69(%rip), %rsi     # 0x39534
callq 0x6929
cmpb $0x0, (%rax)
je 0x2782d
movq %rax, %rdi
leaq 0xe75d(%rip), %rsi      # 0x35f3c
movq %r12, %rdx
leaq 0xa0(%rsp), %rcx
leaq 0x40(%rsp), %r8
xorl %eax, %eax
callq 0x42c0
cmpl $0x3, %eax
setne %bpl
jne 0x2782d
movsd 0x1a0(%rsp), %xmm0
movhpd 0xa0(%rsp), %xmm0       # xmm0 = xmm0[0],mem[0]
cvtpd2ps %xmm0, %xmm0
movapd %xmm0, 0x180(%rsp)
cvtsd2ss 0x40(%rsp), %xmm0
movss %xmm0, 0x130(%rsp)
leaq 0x540d1cc(%rip), %r12   # 0x5434a00
movss 0xc(%rsp), %xmm0
orb %bpl, %bl
jne 0x27851
movss 0x12c(%rsp), %xmm0
subss 0x130(%rsp), %xmm0
movss %xmm0, 0xc(%rsp)
movq 0x98(%rsp), %rdi
leaq 0xe683(%rip), %rsi      # 0x35ee9
callq 0x6929
cmpb $0x0, (%rax)
movq 0x138(%rsp), %rbp
je 0x278a9
movq %rax, %rdi
callq 0x4510
movl %eax, %ecx
negl %ecx
cmovsl %eax, %ecx
movzbl %cl, %esi
cmpl $0x40, %esi
movl %esi, 0xf8(%rsp)
jb 0x278b4
leaq 0xe663(%rip), %rdi      # 0x35f00
pushq $0x40
popq %rdx
xorl %eax, %eax
callq 0x8b2f
jmp 0x278b4
movl $0x0, 0xf8(%rsp)
movq %rbp, %rax
shlq $0x6, %rax
addq 0x1c6f6(%rip), %rax     # 0x43fb8
movq %rax, 0x100(%rsp)
movaps 0x170(%rsp), %xmm0
subps 0x180(%rsp), %xmm0
movzbl %bl, %eax
movd %eax, %xmm1
pshufd $0x50, %xmm1, %xmm2     # xmm2 = xmm1[0,0,1,1]
pslld $0x1f, %xmm2
psrad $0x1f, %xmm2
movdqa 0x10(%rsp), %xmm1
pand %xmm2, %xmm1
pandn %xmm0, %xmm2
por %xmm1, %xmm2
leaq 0x2013b37(%rip), %rbx   # 0x203b440
xorl %r15d, %r15d
movdqa %xmm2, 0x110(%rsp)
movslq (%r13), %rax
cmpq %rax, %r15
jge 0x279a5
movq %rbx, %rdi
leaq 0xac3f(%rip), %rsi      # 0x3256b
callq 0x6929
movq %rax, %rdi
leaq 0xaccd(%rip), %rsi      # 0x32608
callq 0x4460
testl %eax, %eax
jne 0x27991
movq %rbx, %rdi
leaq 0xe669(%rip), %rsi      # 0x35fb7
callq 0x6929
cmpb $0x0, (%rax)
je 0x27991
movq %rbx, %rdi
leaq 0xe655(%rip), %rsi      # 0x35fb7
callq 0x6929
movq %rax, %r14
movq 0x98(%rsp), %rdi
leaq 0xad56(%rip), %rsi      # 0x326cf
callq 0x6929
movq %r14, %rdi
movq %rax, %rsi
callq 0x4460
testl %eax, %eax
je 0x290b8
incq %r15
addq $0x20, %rbx
movaps 0x110(%rsp), %xmm2
jmp 0x27915
pushq $-0x1
popq %rbx
movq 0x100(%rsp), %rax
movq %r12, %r15
movl %ebx, 0xf4(%rsp)
cmpl $-0x1, %ebx
sete %cl
movl %ecx, 0xf0(%rsp)
setne 0xb(%rsp)
movss 0xc(%rsp), %xmm1
movdqa %xmm2, %xmm3
shufps $0x55, %xmm2, %xmm3     # xmm3 = xmm3[1,1],xmm2[1,1]
xorl %ecx, %ecx
movaps %xmm3, 0x190(%rsp)
cmpl 0x3c(%rax), %ecx
jge 0x290a8
movslq 0x38(%rax), %rax
movl %ecx, 0x134(%rsp)
movslq %ecx, %rbp
addq %rax, %rbp
leaq 0x52ccfeb(%rip), %rcx   # 0x52f49f0
movq 0x98(%rsp), %rax
movq %rax, (%rcx,%rbp,8)
imulq $0xc, %rbp, %r12
movlpd %xmm2, (%r12,%r15)
movss %xmm1, 0x8(%r12,%r15)
imulq $0x14, %rbp, %rbx
leaq 0x1b859e3(%rip), %rax   # 0x1bad410
leaq (%rax,%rbx), %r13
movq %r13, %rdi
callq 0x2b6a1
movq %rax, %r14
leaq 0x1b859cd(%rip), %rax   # 0x1bad410
movswl 0xa(%rax,%rbx), %edi
callq 0x5c29
movq %rax, %rbx
movq %rbp, 0xd0(%rsp)
leaq 0x52ccf91(%rip), %rax   # 0x52f49f0
movq (%rax,%rbp,8), %rax
movq %rax, 0x70(%rsp)
pushq $0x20
popq %rdi
callq 0x42e0
movq %rax, %rbp
movq %rax, %rdi
movq %r13, 0x50(%rsp)
movq %r13, %rsi
movss 0xdf3e(%rip), %xmm0     # 0x359c4
callq 0xadb6
movq %r12, 0x158(%rsp)
addq %r12, %r15
movq %rbp, %rdi
leaq 0x1a0(%rsp), %rsi
callq 0xa53c
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x8(%rax)
movsd 0x1a0(%rsp), %xmm0
movsd (%r15), %xmm1
addps %xmm0, %xmm1
movlps %xmm1, 0x1a0(%rsp)
movss 0x1a8(%rsp), %xmm0
movq %r15, 0x150(%rsp)
addss 0x8(%r15), %xmm0
movss %xmm0, 0x1a8(%rsp)
leaq 0x2013950(%rip), %rbp   # 0x203b440
xorl %r15d, %r15d
movss 0xd7cd(%rip), %xmm0     # 0x352c8
movss %xmm0, 0x80(%rsp)
movq $0x0, 0x108(%rsp)
leaq 0x201391d(%rip), %r13   # 0x203b434
movslq (%r13), %rax
cmpq %rax, %r15
jge 0x27d66
movq %rbp, %rdi
leaq 0xaa3d(%rip), %rsi      # 0x3256b
callq 0x6929
movq %rax, %rdi
leaq 0xaaa4(%rip), %rsi      # 0x325e1
callq 0x4460
testl %eax, %eax
jne 0x27b64
movq %rbp, %rdi
leaq 0xaa82(%rip), %rsi      # 0x325d2
callq 0x6929
movq %rax, %rdi
movq %rbx, %rsi
callq 0x4320
testl %eax, %eax
je 0x27b6d
incq %r15
addq $0x20, %rbp
jmp 0x27b17
movq %rbp, %rdi
leaq 0x119b6(%rip), %rsi     # 0x3952d
leaq 0xa0(%rsp), %rdx
callq 0x71a2
movsd 0xa0(%rsp), %xmm0
movsd 0x1a0(%rsp), %xmm1
subps %xmm1, %xmm0
movlps %xmm0, 0xa0(%rsp)
movss 0xa8(%rsp), %xmm1
subss 0x1a8(%rsp), %xmm1
movss %xmm1, 0xa8(%rsp)
mulps %xmm0, %xmm0
cvtss2sd %xmm0, %xmm2
shufps $0x55, %xmm0, %xmm0     # xmm0 = xmm0[1,1,1,1]
cvtss2sd %xmm0, %xmm0
addsd %xmm2, %xmm0
mulss %xmm1, %xmm1
cvtss2sd %xmm1, %xmm1
addsd %xmm0, %xmm1
sqrtsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x10(%rsp)
movq %rbp, %rdi
leaq 0x11a22(%rip), %r12     # 0x39615
movq %r12, %rsi
callq 0x6929
cmpb $0x0, (%rax)
je 0x27c1a
movq %rbp, %rdi
movq %r12, %rsi
callq 0x7126
movss 0x10(%rsp), %xmm1
ucomiss %xmm0, %xmm1
ja 0x27b64
movq %rbp, %rdi
leaq 0x119f9(%rip), %r12     # 0x3961d
movq %r12, %rsi
callq 0x6929
cmpb $0x0, (%rax)
je 0x27c8a
movss 0xa0(%rsp), %xmm0
movss 0xa4(%rsp), %xmm1
mulss 0x4(%r14), %xmm1
mulss (%r14), %xmm0
addss %xmm1, %xmm0
movss 0xa8(%rsp), %xmm1
mulss 0x8(%r14), %xmm1
addss %xmm0, %xmm1
andps 0xd634(%rip), %xmm1     # 0x352a0
movaps %xmm1, 0x60(%rsp)
movq %rbp, %rdi
movq %r12, %rsi
callq 0x7126
movaps 0x60(%rsp), %xmm1
ucomiss %xmm0, %xmm1
ja 0x27b64
movq %rbp, %rdi
leaq 0x11990(%rip), %r12     # 0x39624
movq %r12, %rsi
callq 0x6929
cmpb $0x0, (%rax)
je 0x27cda
movq 0x70(%rsp), %rdi
leaq 0xa8be(%rip), %rsi      # 0x3256b
callq 0x6929
movq %rax, %r13
movq %rbp, %rdi
movq %r12, %rsi
callq 0x6929
movq %r13, %rdi
leaq 0x201376a(%rip), %r13   # 0x203b434
movq %rax, %rsi
callq 0x4460
testl %eax, %eax
jne 0x27b64
movq %rbp, %rdi
leaq 0x11948(%rip), %r12     # 0x3962c
movq %r12, %rsi
callq 0x6929
cmpb $0x0, (%rax)
je 0x27d2a
movq 0x70(%rsp), %rdi
leaq 0xa9d2(%rip), %rsi      # 0x326cf
callq 0x6929
movq %rax, %r13
movq %rbp, %rdi
movq %r12, %rsi
callq 0x6929
movq %r13, %rdi
leaq 0x201371a(%rip), %r13   # 0x203b434
movq %rax, %rsi
callq 0x4460
testl %eax, %eax
jne 0x27b64
movss 0x80(%rsp), %xmm0
ucomiss 0xa336(%rip), %xmm0     # 0x32070
movss 0x10(%rsp), %xmm0
jb 0x27d50
ucomiss 0x80(%rsp), %xmm0
ja 0x27b64
movss %xmm0, 0x80(%rsp)
movq %rbp, 0x108(%rsp)
jmp 0x27b64
leaq 0x538cc93(%rip), %rbp   # 0x53b4a00
movq 0xd0(%rsp), %r14
movq 0x108(%rsp), %rax
movq %rax, (%rbp,%r14,8)
leaq 0x534cc67(%rip), %rax   # 0x53749f0
movl 0xfc(%rsp), %ecx
movl %ecx, (%rax,%r14,4)
pushq $0x20
popq %rdi
callq 0x42e0
movq %rax, %r12
movq %rax, %rdi
movq 0x50(%rsp), %rsi
movss 0xdc15(%rip), %xmm0     # 0x359c4
callq 0xadb6
xorl %eax, %eax
xorl %ecx, %ecx
leaq 0x1185641(%rip), %rsi   # 0x11ad400
movss 0xc(%rsp), %xmm1
movl 0xf8(%rsp), %ebx
movapd 0x110(%rsp), %xmm2
movaps 0x190(%rsp), %xmm3
movq 0x50(%rsp), %rdi
movl 0x8(%r12), %edx
cmpq %rdx, %rcx
jae 0x27e32
movq 0x10(%r12), %rdx
movss (%rdx,%rax), %xmm0
addss %xmm2, %xmm0
movss %xmm0, (%rdx,%rax)
movq 0x10(%r12), %rdx
movss 0x4(%rdx,%rax), %xmm0
addss %xmm3, %xmm0
movss %xmm0, 0x4(%rdx,%rax)
movq 0x10(%r12), %rdx
movss 0x8(%rdx,%rax), %xmm0
addss %xmm1, %xmm0
movss %xmm0, 0x8(%rdx,%rax)
incq %rcx
addq $0xc, %rax
jmp 0x27de2
movswq 0xa(%rdi), %rax
imulq $0x28, %rax, %rax
testb $0x1, 0x24(%rsi,%rax)
jne 0x2896e
movq (%rbp,%r14,8), %rdi
movl %ebx, %ebp
testq %rdi, %rdi
je 0x27e80
leaq 0xe090(%rip), %rsi      # 0x35ee9
callq 0x6a5d
movl %eax, %ecx
negl %ecx
cmovsl %eax, %ecx
movzbl %cl, %ebp
cmpl $0x40, %ebp
jb 0x27e80
leaq 0xe08c(%rip), %rdi      # 0x35f00
movl %ebp, %esi
pushq $0x40
popq %rdx
xorl %eax, %eax
callq 0x8b2f
movl 0x8(%r12), %ecx
cmpl $0x2, %ecx
jg 0x27eb2
pushq $0x2
popq %rdi
leaq 0x1179f(%rip), %rsi     # 0x39633
movl %r14d, %edx
xorl %eax, %eax
callq 0x9045
movapd 0x110(%rsp), %xmm2
movss 0xc(%rsp), %xmm1
jmp 0x2896e
cmpl $0x81, %ecx
jb 0x27ecf
leaq 0x11799(%rip), %rdi     # 0x3965a
movl %ecx, %esi
xorl %eax, %eax
callq 0x8b2f
jmp 0x2895f
movq 0x538cb1a(%rip), %r15   # 0x53b49f0
movl 0x540cb1c(%rip), %eax   # 0x54349f8
xorl %edi, %edi
cmpq $0xffff0, %rax          # imm = 0xFFFF0
setb %dil
imulq $0x138, %rax, %r13      # imm = 0x138
leaq (%r15,%r13), %rbx
pushq $0x1b
popq %rsi
callq 0x92cb
movl $0x138, %edx            # imm = 0x138
movq %rbx, 0x10(%rsp)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x41a0
addq %r13, %r15
addq $0x8, %r15
movq %r12, 0x20(%r15)
movq %r12, %rdi
callq 0xa378
movss %xmm0, 0xc(%r15)
movq 0x20(%r15), %rdi
movq %r15, %rsi
callq 0xa53c
movl %r14d, 0x50(%r15)
movss 0xc(%r15), %xmm0
addss 0x550ec7a(%rip), %xmm0  # 0x5536bc0
movss %xmm0, 0x550ec72(%rip)  # 0x5536bc0
leaq 0x538caab(%rip), %rax   # 0x53b4a00
movq (%rax,%r14,8), %rdi
testq %rdi, %rdi
movq %r15, 0x108(%rsp)
je 0x27fd3
leaq 0xe064(%rip), %rsi      # 0x35fd1
callq 0x6929
movq %rax, %rdi
leaq 0xdfbc(%rip), %rsi      # 0x35f38
leaq 0xa0(%rsp), %rdx
leaq 0x40(%rsp), %rcx
leaq 0x30(%rsp), %r8
leaq 0x28(%rsp), %r9
xorl %eax, %eax
callq 0x42c0
xorpd %xmm2, %xmm2
xorpd %xmm1, %xmm1
incl %eax
cmpl $0x5, %eax
ja 0x28074
leaq 0xeccc(%rip), %rcx      # 0x36c80
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd 0xa0(%rsp), %xmm1
movapd %xmm1, %xmm2
unpcklpd %xmm1, %xmm2            # xmm2 = xmm2[0],xmm1[0]
jmp 0x28162
movq 0x50(%rsp), %rdi
movswq 0xa(%rdi), %rax
leaq 0x8254c4(%rip), %rcx    # 0x84d4a8
movq (%rcx), %rcx
imulq $0x28, %rax, %rax
leaq 0x118540e(%rip), %rdx   # 0x11ad400
movslq 0x20(%rdx,%rax), %rax
movslq 0x4(%rcx,%rax,4), %r12
addq %rcx, %r12
movq 0x550eb6a(%rip), %r15   # 0x5536b70
movq 0x550eb6b(%rip), %r13   # 0x5536b78
movq 0x10(%rsp), %r14
cmpq %r13, %r15
je 0x28031
movq (%r15), %rsi
movq %r12, %rdi
callq 0x4320
testl %eax, %eax
je 0x28048
addq $0x38, %r15
movq 0x50(%rsp), %rdi
jmp 0x28012
xorps %xmm0, %xmm0
xorpd %xmm1, %xmm1
leaq 0x20133f5(%rip), %r13   # 0x203b434
leaq 0x1d053ca(%rip), %r12   # 0x1d2d410
jmp 0x28067
movsd 0x20(%r15), %xmm0
movss 0x28(%r15), %xmm1
leaq 0x20133d9(%rip), %r13   # 0x203b434
leaq 0x1d053ae(%rip), %r12   # 0x1d2d410
movq 0x50(%rsp), %rdi
movq 0xd0(%rsp), %r15
jmp 0x2819a
movq 0xd0(%rsp), %rax
leaq 0x538c97d(%rip), %rbx   # 0x53b4a00
movq (%rbx,%rax,8), %rdi
leaq 0x1149f(%rip), %rsi     # 0x3952d
leaq 0x1a0(%rsp), %rdx
movq %rax, %r15
callq 0x71a2
cvtss2sd 0x1a0(%rsp), %xmm0
movsd %xmm0, 0x60(%rsp)
cvtss2sd 0x1a4(%rsp), %xmm0
movsd %xmm0, 0x70(%rsp)
cvtss2sd 0x1a8(%rsp), %xmm0
movsd %xmm0, 0x80(%rsp)
movq (%rbx,%r15,8), %rdi
leaq 0xdef8(%rip), %rsi      # 0x35fd1
callq 0x6929
leaq 0xde63(%rip), %rdi      # 0x35f48
movsd 0x60(%rsp), %xmm0
movsd 0x70(%rsp), %xmm1
movsd 0x80(%rsp), %xmm2
movq %rax, %rsi
movb $0x3, %al
callq 0x8790
xorpd %xmm2, %xmm2
xorpd %xmm1, %xmm1
leaq 0x2013321(%rip), %r13   # 0x203b434
leaq 0x1d052f6(%rip), %r12   # 0x1d2d410
jmp 0x28178
movsd 0x30(%rsp), %xmm1
movsd 0xa0(%rsp), %xmm2
movhpd 0x40(%rsp), %xmm2       # xmm2 = xmm2[0],mem[0]
jmp 0x28162
movsd 0x28(%rsp), %xmm1
divsd 0xea67(%rip), %xmm1     # 0x36ba8
movsd 0xa0(%rsp), %xmm0
movhpd 0x40(%rsp), %xmm0       # xmm0 = xmm0[0],mem[0]
movapd %xmm1, %xmm2
unpcklpd %xmm1, %xmm2            # xmm2 = xmm2[0],xmm1[0]
mulpd %xmm0, %xmm2
mulsd 0x30(%rsp), %xmm1
leaq 0x20132cb(%rip), %r13   # 0x203b434
leaq 0x1d052a0(%rip), %r12   # 0x1d2d410
movq 0xd0(%rsp), %r15
movq 0x10(%rsp), %r14
maxsd 0xd493(%rip), %xmm1     # 0x35618
maxpd 0xd4d3(%rip), %xmm2     # 0x35660
cvtpd2ps %xmm2, %xmm0
cvtsd2ss %xmm1, %xmm1
movq 0x50(%rsp), %rdi
movlpd %xmm0, 0xf8(%r14)
movss %xmm1, 0x100(%r14)
movb %bpl, 0xf4(%r14)
leaq 0x52467fe(%rip), %rsi   # 0x526e9b8
movq (%rsi), %rax
movswq 0xa(%rdi), %rcx
imulq $0x28, %rcx, %rcx
leaq 0x1185233(%rip), %rdx   # 0x11ad400
movslq 0x20(%rdx,%rcx), %rcx
imulq $0x330, %rcx, %rcx      # imm = 0x330
movss 0x320(%rax,%rcx), %xmm0
movss %xmm0, 0x70(%r14)
movq (%rsi), %rax
movswq 0xa(%rdi), %rcx
imulq $0x28, %rcx, %rcx
movslq 0x20(%rdx,%rcx), %rcx
imulq $0x330, %rcx, %rcx      # imm = 0x330
movss 0x324(%rax,%rcx), %xmm0
movss %xmm0, 0x74(%r14)
movq (%rsi), %rax
movswq 0xa(%rdi), %rcx
imulq $0x28, %rcx, %rcx
movslq 0x20(%rdx,%rcx), %rcx
imulq $0x330, %rcx, %rcx      # imm = 0x330
movss 0x328(%rax,%rcx), %xmm0
movss %xmm0, 0x78(%r14)
leaq 0x538c7c3(%rip), %rbp   # 0x53b4a00
movq (%rbp,%r15,8), %rdi
testq %rdi, %rdi
je 0x28472
leaq 0x1142d(%rip), %rsi     # 0x3967f
callq 0x6929
cmpb $0x0, (%rax)
je 0x28472
movq (%rbp,%r15,8), %rdi
leaq 0x11413(%rip), %rsi     # 0x3967f
leaq 0x1a0(%rsp), %rdx
callq 0x71a2
xorl %ebx, %ebx
cmpq $0x3, %rbx
je 0x282a9
cvtss2sd 0x1a0(%rsp,%rbx,4), %xmm0
addsd 0xe96e(%rip), %xmm0     # 0x36c00
callq 0x4590
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x1a0(%rsp,%rbx,4)
incq %rbx
jmp 0x2827b
movsd 0x1a0(%rsp), %xmm1
movaps %xmm1, %xmm2
shufps $0x55, %xmm1, %xmm2     # xmm2 = xmm2[1,1],xmm1[1,1]
movss 0x1a8(%rsp), %xmm0
movaps %xmm2, %xmm3
minss %xmm0, %xmm3
movaps %xmm1, %xmm4
minss %xmm3, %xmm4
cvtss2sd %xmm4, %xmm3
movsd 0xe92c(%rip), %xmm4     # 0x36c08
ucomisd %xmm3, %xmm4
ja 0x282fb
maxss %xmm0, %xmm2
movaps %xmm1, %xmm3
maxss %xmm2, %xmm3
cvtss2sd %xmm3, %xmm2
ucomisd 0xe917(%rip), %xmm2     # 0x36c10
jbe 0x2836a
movq (%rbp,%r15,8), %rdi
leaq 0x11226(%rip), %rsi     # 0x3952d
leaq 0xa0(%rsp), %rdx
callq 0x71a2
cvtss2sd 0xa0(%rsp), %xmm0
cvtss2sd 0xa4(%rsp), %xmm1
cvtss2sd 0xa8(%rsp), %xmm2
cvtss2sd 0x1a0(%rsp), %xmm3
cvtss2sd 0x1a4(%rsp), %xmm4
cvtss2sd 0x1a8(%rsp), %xmm5
leaq 0x11338(%rip), %rdi     # 0x39689
movb $0x6, %al
callq 0x8b2f
movsd 0x1a0(%rsp), %xmm1
movss 0x1a8(%rsp), %xmm0
cvtps2pd %xmm1, %xmm1
mulpd 0xe18b(%rip), %xmm1     # 0x36500
cvtpd2ps %xmm1, %xmm1
movlpd %xmm1, 0xa0(%rsp)
cvtss2sd %xmm0, %xmm0
mulsd 0xe152(%rip), %xmm0     # 0x364e0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xa8(%rsp)
xorl %ebx, %ebx
cmpq $0x3, %rbx
je 0x283c7
movss 0xa0(%rsp,%rbx,4), %xmm0
movss 0x1d070(%rip), %xmm1    # 0x45424
callq 0x4520
movss %xmm0, 0xa0(%rsp,%rbx,4)
incq %rbx
jmp 0x2839d
movss 0x1d059(%rip), %xmm3    # 0x45428
movsd 0xa0(%rsp), %xmm0
movaps %xmm3, %xmm4
shufps $0x0, %xmm3, %xmm4      # xmm4 = xmm4[0,0],xmm3[0,0]
mulps %xmm0, %xmm4
movaps %xmm4, %xmm1
mulss 0xa8(%rsp), %xmm3
shufps $0x55, %xmm4, %xmm1     # xmm1 = xmm1[1,1],xmm4[1,1]
movaps %xmm1, %xmm0
maxss %xmm3, %xmm0
movaps %xmm4, %xmm2
maxss %xmm0, %xmm2
cvtss2sd %xmm2, %xmm0
ucomisd 0xe0cc(%rip), %xmm0     # 0x364d8
jbe 0x28467
movq 0x50(%rsp), %rax
movswq 0xa(%rax), %rax
imulq $0x28, %rax, %rax
leaq 0x1184fdd(%rip), %rcx   # 0x11ad400
movslq 0x20(%rcx,%rax), %rax
imulq $0x330, %rax, %rsi      # imm = 0x330
leaq 0x5246582(%rip), %rax   # 0x526e9b8
addq (%rax), %rsi
cvtss2sd %xmm4, %xmm0
cvtss2sd %xmm1, %xmm1
cvtss2sd %xmm3, %xmm2
leaq 0xe441(%rip), %rdi      # 0x3688d
movb $0x3, %al
movaps %xmm3, 0x10(%rsp)
movaps %xmm4, 0x60(%rsp)
callq 0x8ea5
movaps 0x60(%rsp), %xmm4
movaps 0x10(%rsp), %xmm3
movlps %xmm4, 0x70(%r14)
movss %xmm3, 0x78(%r14)
leaq 0x52cc577(%rip), %rax   # 0x52f49f0
movq (%rax,%r15,8), %rsi
movss 0x9bdf(%rip), %xmm1     # 0x32064
subq 0x1bb44(%rip), %rsi     # 0x43fd0
je 0x28545
movl 0x54ce5c8(%rip), %eax   # 0x54f6a60
movq 0x54ce5b9(%rip), %rdx   # 0x54f6a58
sarq $0x5, %rsi
addq $0x24, %rdx
xorl %ecx, %ecx
cmpq %rcx, %rax
je 0x284c0
movslq -0x24(%rdx), %rdi
cmpq %rdi, %rsi
je 0x284c7
incq %rcx
addq $0x2c, %rdx
jmp 0x284a9
xorps %xmm0, %xmm0
movl %eax, %ecx
jmp 0x2852c
cmpb $0x1, -0x4(%rdx)
movss 0x9b91(%rip), %xmm1     # 0x32064
jne 0x28514
movss -0x10(%rdx), %xmm0
addss -0xc(%rdx), %xmm0
addss -0x8(%rdx), %xmm0
divss 0xe6ac(%rip), %xmm0     # 0x36b98
movss 0x9b70(%rip), %xmm3     # 0x32064
addss %xmm3, %xmm0
xorpd %xmm2, %xmm2
maxss %xmm0, %xmm2
movaps %xmm3, %xmm1
cmpltss %xmm0, %xmm1
movaps %xmm1, %xmm0
andnps %xmm2, %xmm0
andps %xmm3, %xmm1
orps %xmm0, %xmm1
cmpl $-0x1, (%rdx)
xorps %xmm0, %xmm0
jne 0x2851f
movaps %xmm1, %xmm0
cmpb $0x0, 0xf0(%rsp)
jne 0x2852c
movaps %xmm1, %xmm0
movss 0x9b30(%rip), %xmm1     # 0x32064
cmpl %eax, %ecx
je 0x2853b
movaps %xmm0, %xmm1
cmpb $0x0, 0xb(%rsp)
jne 0x28545
movaps %xmm0, %xmm1
movsd 0x70(%r14), %xmm0
movaps %xmm1, %xmm2
unpcklps %xmm1, %xmm2            # xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
mulps %xmm0, %xmm2
movlps %xmm2, 0x7c(%r14)
movss 0x78(%r14), %xmm2
mulss %xmm2, %xmm1
movss %xmm1, 0x84(%r14)
movl 0xf4(%rsp), %eax
movl %eax, 0xf0(%r14)
movaps %xmm0, %xmm1
shufps $0x55, %xmm0, %xmm1     # xmm1 = xmm1[1,1],xmm0[1,1]
mulss 0xfc(%r14), %xmm1
mulss 0xf8(%r14), %xmm0
addss %xmm1, %xmm0
mulss 0x100(%r14), %xmm2
addss %xmm0, %xmm2
divss 0xd438(%rip), %xmm2     # 0x359e4
movslq 0x58(%r14), %rax
movq (%rbp,%rax,8), %rdi
testq %rdi, %rdi
je 0x285fa
movaps %xmm2, 0x10(%rsp)
leaq 0xd902(%rip), %rbx      # 0x35ec8
movq %rbx, %rsi
callq 0x6929
cmpb $0x0, (%rax)
movl 0x58(%r14), %eax
je 0x285f5
cltq
movq (%rbp,%rax,8), %rdi
movq %rbx, %rsi
callq 0x7126
movaps 0x10(%rsp), %xmm2
mulss %xmm0, %xmm2
movl 0x58(%r14), %eax
jmp 0x285fa
movaps 0x10(%rsp), %xmm2
movss 0x1cdde(%rip), %xmm0    # 0x453e0
xorps %xmm1, %xmm1
cmpltps %xmm2, %xmm1
cmpnltps %xmm0, %xmm2
andps %xmm1, %xmm2
movd %xmm2, %ebx
cltq
movq (%rbp,%rax,8), %rdi
testq %rdi, %rdi
je 0x2863c
leaq 0xd90b(%rip), %rsi      # 0x35f32
callq 0x6a5d
cmpl $0x2, %eax
je 0x2863a
cmpl $0x1, %eax
jne 0x2863c
xorl %ebx, %ebx
jmp 0x2863c
movb $0x1, %bl
andb $0x1, %bl
movb %bl, 0x104(%r14)
movq %r14, %rdi
callq 0x29d92
movss %xmm0, 0x30(%r14)
movslq 0x58(%r14), %rax
movq (%rbp,%rax,8), %rdi
testq %rdi, %rdi
je 0x286aa
leaq 0x110cb(%rip), %rsi     # 0x39734
callq 0x6929
cmpb $0x0, (%rax)
je 0x286aa
movq %r13, %r15
movslq 0x58(%r14), %rax
movq (%rbp,%rax,8), %rdi
leaq 0x110ae(%rip), %rsi     # 0x39734
callq 0x7126
movaps %xmm0, %xmm1
movss 0x99ce(%rip), %xmm0     # 0x32064
maxss %xmm1, %xmm0
leaq 0x1004d6f(%rip), %rbx   # 0x102d410
leaq 0x1184d58(%rip), %rdx   # 0x11ad400
jmp 0x28717
movq %r13, %r15
cmpb $0x0, 0x104(%r14)
leaq 0x1cd7c(%rip), %rax     # 0x45438
leaq 0x1cd79(%rip), %rcx     # 0x4543c
cmovneq %rcx, %rax
movss (%rax), %xmm0
movss %xmm0, 0x10(%rsp)
movq %r14, %rdi
callq 0x29d92
mulss 0x10(%rsp), %xmm0
movslq 0x58(%r14), %rax
movq 0x550e49e(%rip), %rcx   # 0x5536b88
imulq $0x14, %rax, %rax
leaq 0x1b84d1b(%rip), %rdx   # 0x1bad410
movswq 0xa(%rdx,%rax), %rax
imulq $0x28, %rax, %rax
leaq 0x1184cfa(%rip), %rdx   # 0x11ad400
movslq 0x20(%rdx,%rax), %rax
mulss (%rcx,%rax,4), %xmm0
leaq 0x1004cf9(%rip), %rbx   # 0x102d410
leaq 0x1e1ed12(%rip), %rbp   # 0x1e47430
movss %xmm0, 0x34(%r14)
movq 0x54ce445(%rip), %rax   # 0x54f6b70
movq 0x50(%rsp), %r13
movswq 0xa(%r13), %rcx
imulq $0x28, %rcx, %rcx
movslq 0x20(%rdx,%rcx), %rcx
imulq $0xc, %rcx, %rcx
movss (%rax,%rcx), %xmm0
leaq 0x64(%r14), %rdi
movss %xmm0, 0x64(%r14)
movq 0x54ce418(%rip), %rax   # 0x54f6b70
movswq 0xa(%r13), %rcx
imulq $0x28, %rcx, %rcx
movslq 0x20(%rdx,%rcx), %rcx
imulq $0xc, %rcx, %rcx
movss 0x4(%rax,%rcx), %xmm0
movss %xmm0, 0x68(%r14)
movq 0x54ce3f3(%rip), %rax   # 0x54f6b70
movswq 0xa(%r13), %rcx
imulq $0x28, %rcx, %rcx
movslq 0x20(%rdx,%rcx), %rcx
imulq $0xc, %rcx, %rcx
movss 0x8(%rax,%rcx), %xmm0
movss %xmm0, 0x6c(%r14)
leaq 0xb58e(%rip), %rsi      # 0x33d30
callq 0x1e86c
xorb $0x1, %al
movb %al, 0x60(%r14)
movq %r14, %rdi
callq 0x29ee5
movq %r14, %rdi
callq 0x2a31d
movq %r13, %r11
incl 0x540c232(%rip)         # 0x54349f8
movswl 0x8(%r13), %eax
testl %eax, %eax
movl $0x0, %ecx
cmovgl %eax, %ecx
leaq 0x524c214(%rip), %rdx   # 0x52749f0
movq 0xd0(%rsp), %rsi
movq %r14, (%rdx,%rsi,8)
xorps %xmm1, %xmm1
xorps %xmm0, %xmm0
xorl %edx, %edx
movq 0x158(%rsp), %r10
movq %r15, %r13
cmpl %edx, %ecx
je 0x2885c
movslq 0x4(%r11), %rsi
addq %rdx, %rsi
movslq (%rbp,%rsi,4), %rsi
movl %esi, %edi
negl %edi
testq %rsi, %rsi
leaq (%r12,%rdi,4), %r8
leaq 0x2(%r12,%rdi,4), %rdi
leaq 0x2(%r12,%rsi,4), %r9
cmovleq %r8, %r9
leaq (%r12,%rsi,4), %rsi
cmovleq %rdi, %rsi
movzwl (%rsi), %esi
imulq $0xc, %rsi, %rsi
addss 0x8(%rbx,%rsi), %xmm0
movzwl (%r9), %edi
imulq $0xc, %rdi, %rdi
movsd (%rbx,%rsi), %xmm2
addps %xmm2, %xmm1
movsd (%rbx,%rdi), %xmm2
addps %xmm2, %xmm1
addss 0x8(%rbx,%rdi), %xmm0
incq %rdx
jmp 0x287fb
cvtps2pd %xmm1, %xmm1
addl %eax, %eax
cvtsi2sd %eax, %xmm2
movsd 0xc85b(%rip), %xmm3     # 0x350c8
divsd %xmm2, %xmm3
cvtss2sd %xmm0, %xmm0
mulsd %xmm3, %xmm0
cvtsd2ss %xmm0, %xmm0
unpcklpd %xmm3, %xmm3            # xmm3 = xmm3[0,0]
mulpd %xmm1, %xmm3
cvtpd2ps %xmm3, %xmm1
movq 0x150(%rsp), %rcx
movsd (%rcx), %xmm2
addps %xmm1, %xmm2
leaq 0x4c18081(%rip), %rax   # 0x4c40920
movlps %xmm2, (%rax,%r10)
addss 0x8(%rcx), %xmm0
movss %xmm0, 0x8(%rax,%r10)
movq 0x28(%r14), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0xa44e
cmpb $0x1, 0x1cb69(%rip)     # 0x45436
jne 0x2895f
movss 0x48(%rsp), %xmm0
subss 0xa8(%rsp), %xmm0
movsd 0x40(%rsp), %xmm1
movsd 0xa0(%rsp), %xmm2
subps %xmm2, %xmm1
mulps %xmm1, %xmm1
cvtps2pd %xmm1, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
mulss %xmm0, %xmm0
cvtss2sd %xmm0, %xmm0
addsd %xmm2, %xmm0
sqrtsd %xmm0, %xmm0
cvtsd2ss %xmm0, %xmm0
ucomiss 0x34(%r14), %xmm0
jbe 0x2895f
movss 0x14(%r14), %xmm2
movss 0x9735(%rip), %xmm0     # 0x32064
ucomiss %xmm2, %xmm0
jbe 0x28993
cvtss2sd 0x8(%r14), %xmm0
cvtss2sd 0xc(%r14), %xmm1
cvtss2sd %xmm2, %xmm3
cvtss2sd 0x10(%r14), %xmm2
movl 0x58(%r14), %edx
pushq $0x2
popq %rdi
leaq 0x10d91(%rip), %rsi     # 0x396e9
movb $0x4, %al
callq 0x9045
movss 0xc(%rsp), %xmm1
movapd 0x110(%rsp), %xmm2
movl 0x134(%rsp), %ecx
incl %ecx
leaq 0x540c082(%rip), %r15   # 0x5434a00
movq 0x138(%rsp), %rbp
movq 0x100(%rsp), %rax
jmp 0x279e4
xorl %ebp, %ebp
movl $0x20000, %edx          # imm = 0x20000
leaq 0x550e22f(%rip), %rdi   # 0x5536bd0
xorl %esi, %esi
callq 0x41a0
andl $0x0, 0x552e221(%rip)   # 0x5556bd0
movslq 0x58(%r14), %rdi
imulq $0x14, %rdi, %rax
leaq 0x1b84a52(%rip), %rcx   # 0x1bad410
movswq 0xa(%rcx,%rax), %rax
imulq $0x28, %rax, %r12
addq 0x1b5a1(%rip), %r12     # 0x43f70
callq 0x2b600
movq %rax, %rbx
leaq 0x1a0(%rsp), %r15
cmpl $0x2, %ebp
je 0x28a89
movl %ebp, %eax
xorl $0x1, %eax
shlq $0x4, %rax
movss 0x8(%rbx), %xmm0
movss 0x8(%r12,%rax), %xmm1
movsd (%rbx), %xmm2
movsd (%r12,%rax), %xmm3
movaps %xmm2, %xmm4
mulps %xmm3, %xmm4
shufps $0x55, %xmm4, %xmm4     # xmm4 = xmm4[1,1,1,1]
movaps %xmm2, %xmm5
mulss %xmm3, %xmm5
addss %xmm4, %xmm5
movaps %xmm0, %xmm4
mulss %xmm1, %xmm4
addss %xmm5, %xmm4
movaps %xmm4, %xmm5
unpcklps %xmm4, %xmm5            # xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]
mulps %xmm2, %xmm5
subps %xmm5, %xmm3
movlps %xmm3, (%r15)
mulss %xmm0, %xmm4
subss %xmm4, %xmm1
movss %xmm1, 0x8(%r15)
movq %r15, %rdi
callq 0xc021
movss (%r15), %xmm0
movss 0x4(%r15), %xmm1
mulss 0xc(%r14), %xmm1
mulss 0x8(%r14), %xmm0
addss %xmm1, %xmm0
movss 0x8(%r15), %xmm1
mulss 0x10(%r14), %xmm1
addss %xmm0, %xmm1
movss %xmm1, 0xc(%r15)
incl %ebp
addq $0x14, %r15
jmp 0x289df
pushq $0x20
popq %rdi
callq 0x42e0
movq %rax, %r15
movq 0x28(%r14), %rsi
movq %rax, %rdi
callq 0xaab8
movss 0x34(%r14), %xmm0
movl 0x8(%r15), %eax
movups 0x1b4(%rsp), %xmm4
movups 0x1b8(%rsp), %xmm5
movss 0x1a0(%rsp), %xmm1
movss 0x1a4(%rsp), %xmm2
movss 0x1a8(%rsp), %xmm6
movss 0x1bc(%rsp), %xmm3
unpcklps %xmm6, %xmm3            # xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1]
movlhps %xmm4, %xmm1            # xmm1 = xmm1[0],xmm4[0]
shufps $0xe2, %xmm4, %xmm1     # xmm1 = xmm1[2,0],xmm4[2,3]
movlhps %xmm5, %xmm2            # xmm2 = xmm2[0],xmm5[0]
shufps $0xe2, %xmm5, %xmm2     # xmm2 = xmm2[2,0],xmm5[2,3]
imulq $0xc, %rax, %rax
xorl %ecx, %ecx
movaps 0xe133(%rip), %xmm8     # 0x36c30
movaps 0xe11c(%rip), %xmm7     # 0x36c20
cmpq %rcx, %rax
je 0x28b46
movq 0x10(%r15), %rdx
movss (%rdx,%rcx), %xmm4
movss 0x4(%rdx,%rcx), %xmm5
movss 0x8(%rdx,%rcx), %xmm6
shufps $0x0, %xmm5, %xmm5      # xmm5 = xmm5[0,0,0,0]
mulps %xmm2, %xmm5
shufps $0x0, %xmm4, %xmm4      # xmm4 = xmm4[0,0,0,0]
mulps %xmm1, %xmm4
addps %xmm5, %xmm4
shufps $0x0, %xmm6, %xmm6      # xmm6 = xmm6[0,0,0,0]
mulps %xmm3, %xmm6
addps %xmm4, %xmm6
minps %xmm6, %xmm7
maxps %xmm6, %xmm8
addq $0xc, %rcx
jmp 0x28b04
movss 0x9516(%rip), %xmm1     # 0x32064
maxss %xmm0, %xmm1
movaps %xmm8, 0x60(%rsp)
movaps %xmm7, 0x10(%rsp)
subps %xmm7, %xmm8
movaps %xmm8, 0x80(%rsp)
addps 0xe0ce(%rip), %xmm8     # 0x36c40
movaps %xmm1, 0x50(%rsp)
movaps %xmm1, %xmm0
shufps $0x0, %xmm1, %xmm0      # xmm0 = xmm0[0,0],xmm1[0,0]
divps %xmm0, %xmm8
movaps %xmm8, 0xd0(%rsp)
movaps %xmm8, %xmm0
callq 0x41b0
movaps %xmm0, 0x70(%rsp)
movaps 0xd0(%rsp), %xmm0
shufps $0x55, %xmm0, %xmm0     # xmm0 = xmm0[1,1,1,1]
callq 0x41b0
movaps 0x70(%rsp), %xmm1
unpcklps %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
cvttps2dq %xmm1, %xmm0
pshufd $0x55, %xmm0, %xmm1     # xmm1 = xmm0[1,1,1,1]
movd %xmm1, %ebx
cmpl $0x2, %ebx
pushq $0x1
popq %rax
cmovll %eax, %ebx
pshufd $0x50, %xmm0, %xmm1     # xmm1 = xmm0[0,0,1,1]
pcmpgtd 0xe07b(%rip), %xmm1     # 0x36c50
movmskpd %xmm1, %eax
testb $0x2, %al
jne 0x28bf1
movaps 0x50(%rsp), %xmm6
movaps %xmm6, 0x70(%rsp)
movaps 0x80(%rsp), %xmm2
jmp 0x28c12
movaps 0x80(%rsp), %xmm2
movaps %xmm2, %xmm1
shufps $0x55, %xmm2, %xmm1     # xmm1 = xmm1[1,1],xmm2[1,1]
mulss 0xdf94(%rip), %xmm1     # 0x36b9c
movaps %xmm1, 0x70(%rsp)
movaps 0x50(%rsp), %xmm6
cmpl $0x40, %ebx
pushq $0x40
popq %rcx
cmovgel %ecx, %ebx
movd %xmm0, %ebp
cmpl $0x2, %ebp
pushq $0x1
popq %rcx
cmovll %ecx, %ebp
testb $0x1, %al
movaps 0x10(%rsp), %xmm1
movaps 0x60(%rsp), %xmm0
je 0x28c41
mulss 0xdf5e(%rip), %xmm2     # 0x36b9c
movaps %xmm2, %xmm6
addps %xmm0, %xmm1
cvtss2sd %xmm1, %xmm0
shufps $0x55, %xmm1, %xmm1     # xmm1 = xmm1[1,1,1,1]
cvtss2sd %xmm1, %xmm1
movsd 0xc608(%rip), %xmm4     # 0x35260
mulsd %xmm4, %xmm1
cvtsi2sd %ebx, %xmm2
cvtss2sd 0x70(%rsp), %xmm3
movsd 0xc94a(%rip), %xmm5     # 0x355b8
mulsd %xmm5, %xmm2
mulsd %xmm3, %xmm2
addsd %xmm1, %xmm2
cvtsd2ss %xmm2, %xmm1
movss %xmm1, 0x80(%rsp)
pushq $0x40
popq %rax
cmpl %eax, %ebp
cmovgel %eax, %ebp
mulsd %xmm4, %xmm0
cvtsi2sd %ebp, %xmm1
cvtss2sd %xmm6, %xmm2
mulsd %xmm5, %xmm1
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm0
movss %xmm0, 0x60(%rsp)
andl $0x0, 0x552df18(%rip)   # 0x5556bd0
pushq $0x1
popq %r12
movaps %xmm6, 0x50(%rsp)
cmpl %r12d, %ebx
je 0x28df9
andq $0x0, 0x30(%rsp)
andq $0x0, 0x28(%rsp)
cvtsi2ss %r12d, %xmm0
mulss 0x70(%rsp), %xmm0
addss 0x80(%rsp), %xmm0
movq %r15, %rdi
leaq 0x1a0(%rsp), %r13
movq %r13, %rsi
movss %xmm0, 0x10(%rsp)
leaq 0x30(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movss 0xccb4(%rip), %xmm1     # 0x359c4
callq 0xb05a
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x28de4
movq %r13, %rsi
movss 0x10(%rsp), %xmm0
movss 0xde6c(%rip), %xmm1     # 0x36ba0
callq 0xb5a6
cmpl $0x2, %eax
je 0x28dce
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x28d6c
leaq 0x1a0(%rsp), %rsi
movss 0x10(%rsp), %xmm0
movss 0xde3e(%rip), %xmm1     # 0x36ba0
callq 0xb5a6
cmpl $0x2, %eax
jne 0x28d94
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x28d82
movq (%rdi), %rax
callq *0x8(%rax)
andq $0x0, 0x30(%rsp)
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x28dc1
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x28dc1
movq (%r15), %rax
movq %r15, %rdi
callq *0x8(%rax)
movq 0x28(%rsp), %rax
movl 0x552de28(%rip), %ecx   # 0x5556bd0
leaq 0x550de21(%rip), %rdx   # 0x5536bd0
movq %rax, (%rdx,%rcx,8)
leal 0x1(%rcx), %eax
movl %eax, 0x552de14(%rip)   # 0x5556bd0
movq 0x30(%rsp), %r15
movaps 0x50(%rsp), %xmm6
incl %r12d
jmp 0x28cc1
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x28de4
movq (%rdi), %rax
callq *0x8(%rax)
andq $0x0, 0x30(%rsp)
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x28df4
movq (%rdi), %rax
callq *0x8(%rax)
movaps 0x50(%rsp), %xmm6
movl 0x552ddd1(%rip), %eax   # 0x5556bd0
leaq 0x550ddca(%rip), %rcx   # 0x5536bd0
movq %r15, (%rcx,%rax,8)
leal 0x1(%rax), %ecx
movl %ecx, 0x552ddbd(%rip)   # 0x5556bd0
testl %ecx, %ecx
movl $0x0, %eax
cmovlel %eax, %ecx
movq %rcx, 0x70(%rsp)
xorl %r12d, %r12d
cmpq 0x70(%rsp), %r12
je 0x28fa0
leaq 0x550dd99(%rip), %rax   # 0x5536bd0
movq (%rax,%r12,8), %rbx
andq $0x0, (%rax,%r12,8)
pushq $0x1
popq %r13
leaq 0x1b4(%rsp), %rsi
cmpl %r13d, %ebp
je 0x28f7f
andq $0x0, 0x30(%rsp)
andq $0x0, 0x28(%rsp)
cvtsi2ss %r13d, %xmm0
mulss %xmm6, %xmm0
addss 0x60(%rsp), %xmm0
movq %rbx, %rdi
movss %xmm0, 0x10(%rsp)
leaq 0x30(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movss 0xcb39(%rip), %xmm1     # 0x359c4
movq %rsi, %r15
callq 0xb05a
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x28f6a
movq %r15, %rsi
movss 0x10(%rsp), %xmm0
movss 0xdcee(%rip), %xmm1     # 0x36ba0
callq 0xb5a6
cmpl $0x2, %eax
je 0x28f54
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x28eea
leaq 0x1b4(%rsp), %rsi
movss 0x10(%rsp), %xmm0
movss 0xdcc0(%rip), %xmm1     # 0x36ba0
callq 0xb5a6
cmpl $0x2, %eax
jne 0x28f12
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x28f00
movq (%rdi), %rax
callq *0x8(%rax)
andq $0x0, 0x30(%rsp)
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x28f3f
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x28f3f
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
movq 0x28(%rsp), %rax
movl 0x552dcaa(%rip), %ecx   # 0x5556bd0
leaq 0x550dca3(%rip), %rdx   # 0x5536bd0
movq %rax, (%rdx,%rcx,8)
leal 0x1(%rcx), %eax
movl %eax, 0x552dc96(%rip)   # 0x5556bd0
movq 0x30(%rsp), %rbx
leaq 0x1b4(%rsp), %rsi
movaps 0x50(%rsp), %xmm6
incl %r13d
jmp 0x28e4c
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x28f6a
movq (%rdi), %rax
callq *0x8(%rax)
andq $0x0, 0x30(%rsp)
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x28f7a
movq (%rdi), %rax
callq *0x8(%rax)
movaps 0x50(%rsp), %xmm6
movl 0x552dc4b(%rip), %eax   # 0x5556bd0
leaq 0x550dc44(%rip), %rcx   # 0x5536bd0
movq %rbx, (%rcx,%rax,8)
incl %eax
movl %eax, 0x552dc38(%rip)   # 0x5556bd0
incq %r12
jmp 0x28e25
movq 0x28(%r14), %rdi
testq %rdi, %rdi
je 0x28faf
movq (%rdi), %rax
callq *0x8(%rax)
andq $0x0, 0x28(%r14)
andq $0x0, (%r14)
xorl %ebp, %ebp
leaq 0x550dc0f(%rip), %r15   # 0x5536bd0
leaq 0x201246c(%rip), %r13   # 0x203b434
movq (%r15), %rdi
testq %rdi, %rdi
jne 0x28fd8
addq $0x8, %r15
incl %ebp
jmp 0x28fc8
movq %rdi, 0x28(%r14)
callq 0xa378
movss %xmm0, 0x14(%r14)
movq 0x28(%r14), %rdi
movq 0x108(%rsp), %rsi
callq 0xa53c
movq %r14, %rdi
callq 0x29ee5
movq %r14, %rdi
callq 0x2a31d
movl 0x540b9ea(%rip), %eax   # 0x54349f8
imulq $0x138, %rax, %rbx      # imm = 0x138
addq 0x538b9d4(%rip), %rbx   # 0x53b49f0
movl 0x552dbae(%rip), %eax   # 0x5556bd0
movq %r15, %rcx
incl %ebp
cmpl %eax, %ebp
jae 0x2895f
leaq 0x8(%rcx), %r15
cmpq $0x0, 0x8(%rcx)
movq %r15, %rcx
je 0x29025
movl $0x138, %edx            # imm = 0x138
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4240
movq (%r15), %rdi
movq %rdi, 0x28(%rbx)
callq 0xa378
movss %xmm0, 0x14(%rbx)
movq 0x28(%rbx), %rdi
leaq 0x8(%rbx), %rsi
callq 0xa53c
movq %rbx, %rdi
callq 0x29ee5
movq %rbx, %rdi
callq 0x2a31d
addq $0x138, %rbx            # imm = 0x138
movl 0x540b970(%rip), %eax   # 0x54349f8
incl %eax
movl %eax, 0x540b968(%rip)   # 0x54349f8
xorl %edi, %edi
cmpl $0xffff0, %eax          # imm = 0xFFFF0
setb %dil
pushq $0x1b
popq %rsi
callq 0x92cb
jmp 0x2901c
incq %rbp
leaq 0x1a0(%rsp), %r12
jmp 0x2763f
movq %rbx, %rdi
leaq 0xce27(%rip), %rsi      # 0x35ee9
callq 0x6a5d
movl %eax, %ecx
negl %ecx
cmovsl %eax, %ecx
movzbl %cl, %esi
cmpl $0x40, %esi
jb 0x290ff
leaq 0xce23(%rip), %rdi      # 0x35f00
pushq $0x40
popq %rdx
movl %esi, %ebx
xorl %eax, %eax
callq 0x8b2f
movq 0x100(%rsp), %rax
movdqa 0x110(%rsp), %xmm2
jmp 0x279b0
movl $0x0, 0xf0(%rsp)
cmpl $0x1, %esi
movl $0x0, %eax
sbbl %eax, %eax
orl %eax, %esi
movl %esi, 0xf4(%rsp)
movb $0x1, 0xb(%rsp)
movss 0xc(%rsp), %xmm1
movq 0x100(%rsp), %rax
movdqa 0x110(%rsp), %xmm2
movq %r12, %r15
jmp 0x279d2
movl 0x540b8b1(%rip), %esi   # 0x54349f8
leaq 0x10491(%rip), %rdi     # 0x395df
xorl %eax, %eax
callq 0x8790
movss 0x550da63(%rip), %xmm1  # 0x5536bc0
cvtss2sd %xmm1, %xmm0
divss 0xda2b(%rip), %xmm1     # 0x36b94
cvttss2si %xmm1, %esi
leaq 0x1047c(%rip), %rdi     # 0x395f0
movb $0x1, %al
callq 0x8790
cmpb $0x1, 0x54cd8ba(%rip)   # 0x54f6a3c
jne 0x2929e
leaq 0x102d7(%rip), %rsi     # 0x39466
leaq 0x1b1ca(%rip), %rdx     # 0x44360
xorl %ebp, %ebp
leaq 0x1a0(%rsp), %rbx
movq %rbx, %rdi
xorl %eax, %eax
callq 0x40a0
leaq 0xd195(%rip), %rdi      # 0x36346
movq %rbx, %rsi
xorl %eax, %eax
callq 0x8790
leaq 0xfb3a(%rip), %rsi      # 0x38cfc
movq %rbx, %rdi
callq 0x4370
testq %rax, %rax
je 0x29290
movq %rax, %rbx
movq 0x538b813(%rip), %r15   # 0x53b49f0
leaq 0xdabc(%rip), %r13      # 0x36ca0
leaq 0xd16d(%rip), %r14      # 0x36358
cmpl 0x540b807(%rip), %ebp   # 0x54349f8
jae 0x2927f
cmpl $0x1, 0x5c(%r15)
jne 0x29209
incl %ebp
addq $0x138, %r15            # imm = 0x138
jmp 0x291eb
movss 0x8(%r15), %xmm0
movss %xmm0, 0x10(%rsp)
movss 0xc(%r15), %xmm0
movss %xmm0, 0x50(%rsp)
movss 0x10(%r15), %xmm0
movss %xmm0, 0x60(%rsp)
pushq $0x8
popq %r12
cmpq $0xbc, %r12
je 0x291fe
movss -0x8(%r12,%r13), %xmm0
addss 0x10(%rsp), %xmm0
cvtss2sd %xmm0, %xmm0
movss -0x4(%r12,%r13), %xmm1
addss 0x50(%rsp), %xmm1
cvtss2sd %xmm1, %xmm1
movss (%r12,%r13), %xmm2
addss 0x60(%rsp), %xmm2
cvtss2sd %xmm2, %xmm2
movq %rbx, %rdi
movq %r14, %rsi
movb $0x3, %al
callq 0x4480
addq $0xc, %r12
jmp 0x29231
movq %rbx, %rdi
callq 0x42d0
leaq 0xd0d4(%rip), %rdi      # 0x36362
jmp 0x29297
leaq 0xd0d0(%rip), %rdi      # 0x36367
xorl %eax, %eax
callq 0x8790
movl 0x1c124(%rip), %eax     # 0x453c8
cmpq $0x2, %rax
ja 0x292c8
leaq 0xdaa3(%rip), %rcx      # 0x36d54
movl 0x540b741(%rip), %edx   # 0x54349f8
xorl %edi, %edi
cmpl (%rcx,%rax,4), %edx
setb %dil
pushq $0x1b
popq %rsi
callq 0x92cb
movq 0x538b721(%rip), %rbx   # 0x53b49f0
movl 0x540b723(%rip), %eax   # 0x54349f8
incl %eax
imulq $0x138, %rax, %rdi      # imm = 0x138
callq 0x477c
movq %rax, 0x538b706(%rip)   # 0x53b49f0
movl 0x540b708(%rip), %ecx   # 0x54349f8
imulq $0x138, %rcx, %rdx      # imm = 0x138
movq %rax, %rdi
movq %rbx, %rsi
callq 0x4240
movq %rbx, %rdi
callq 0x479f
movq 0x538b6df(%rip), %rdi   # 0x53b49f0
movl 0x540b6e1(%rip), %esi   # 0x54349f8
leaq 0x110e(%rip), %rcx      # 0x2a42c
movl $0x138, %edx            # imm = 0x138
callq 0x4610
movl $0x7fff8, %edx          # imm = 0x7FFF8
leaq 0x524b6bc(%rip), %rbx   # 0x52749f0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x41a0
movq 0x538b6ab(%rip), %rcx   # 0x53b49f0
movslq 0x58(%rcx), %rax
movq %rcx, (%rbx,%rax,8)
pushq $0x1
popq %rdx
movl 0x540b6a2(%rip), %eax   # 0x54349f8
cmpl %eax, %edx
jae 0x29386
movslq 0x190(%rcx), %rdi
movq %rcx, %rsi
cmpl 0x58(%rcx), %edi
je 0x29378
andq $0x0, (%rcx)
leaq 0x524b67c(%rip), %rsi   # 0x52749f0
leaq (%rsi,%rdi,8), %rsi
addq $0x138, %rcx            # imm = 0x138
movq %rcx, (%rsi)
incl %edx
jmp 0x29356
movl $0x130, %r14d           # imm = 0x130
xorl %r15d, %r15d
leaq 0xa2413a(%rip), %r12    # 0xa4d4d0
pushq $0x1c
popq %r13
movl %eax, %eax
cmpq %rax, %r15
jae 0x293db
movq 0x538b648(%rip), %rax   # 0x53b49f0
leaq (%rax,%r14), %rbx
addq $-0x128, %rbx           # imm = 0xFED8
movq %rbx, %rdi
callq 0x2b514
subq %r12, %rax
cqto
idivq %r13
movl %eax, 0x128(%rbx)
incq %r15
movl 0x540b626(%rip), %eax   # 0x54349f8
addq $0x138, %r14            # imm = 0x138
jmp 0x2939a
callq 0x14009
cmpb $0x1, 0x54cd669(%rip)   # 0x54f6a50
jne 0x29592
leaq 0x1007f(%rip), %rsi     # 0x39473
leaq 0x1af65(%rip), %rdx     # 0x44360
leaq 0x1a0(%rsp), %rbx
movq %rbx, %rdi
xorl %eax, %eax
callq 0x40a0
leaq 0xcf32(%rip), %rdi      # 0x36346
movq %rbx, %rsi
xorl %eax, %eax
callq 0x8790
leaq 0xf8d7(%rip), %rsi      # 0x38cfc
movq %rbx, %rdi
callq 0x4370
testq %rax, %rax
je 0x29584
movq %rax, %rbx
leaq 0x211f4e0(%rip), %r15   # 0x2148920
xorl %r12d, %r12d
leaq 0xd856(%rip), %r13      # 0x36ca0
leaq 0xcf07(%rip), %r14      # 0x36358
cmpq $0x3e800, %r12          # imm = 0x3E800
je 0x29573
cmpb $0x1, 0x39(%r15)
jne 0x29564
leaq 0x1d03fa0(%rip), %rcx   # 0x1d2d410
movzwl (%rcx,%r12,4), %eax
movzwl 0x2(%rcx,%r12,4), %ecx
imulq $0xc, %rax, %rax
imulq $0xc, %rcx, %rcx
leaq 0x1003f86(%rip), %rdx   # 0x102d410
movss (%rdx,%rax), %xmm1
movss 0x4(%rdx,%rax), %xmm2
addss (%rdx,%rcx), %xmm1
addss 0x4(%rdx,%rcx), %xmm2
movss 0x8(%rdx,%rax), %xmm3
addss 0x8(%rdx,%rcx), %xmm3
movss 0xc534(%rip), %xmm0     # 0x359e8
mulss %xmm0, %xmm1
mulss %xmm0, %xmm2
mulss %xmm0, %xmm3
addss 0x10(%r15), %xmm1
addss 0x14(%r15), %xmm2
addss 0x18(%r15), %xmm3
movq (%r15), %rax
subq 0x1ab0c(%rip), %rax     # 0x43fe8
cqto
pushq $0x14
popq %rcx
idivq %rcx
imulq $0xc, %rax, %rax
leaq 0x540b511(%rip), %rcx   # 0x5434a00
addss (%rax,%rcx), %xmm1
movss %xmm1, 0x10(%rsp)
addss 0x4(%rax,%rcx), %xmm2
movss %xmm2, 0x50(%rsp)
addss 0x8(%rax,%rcx), %xmm3
movss %xmm3, 0x60(%rsp)
pushq $0x8
popq %rbp
cmpq $0xbc, %rbp
je 0x29564
movss -0x8(%rbp,%r13), %xmm0
addss 0x10(%rsp), %xmm0
cvtss2sd %xmm0, %xmm0
movss -0x4(%rbp,%r13), %xmm1
addss 0x50(%rsp), %xmm1
cvtss2sd %xmm1, %xmm1
movss (%rbp,%r13), %xmm2
addss 0x60(%rsp), %xmm2
cvtss2sd %xmm2, %xmm2
movq %rbx, %rdi
movq %r14, %rsi
movb $0x3, %al
callq 0x4480
addq $0xc, %rbp
jmp 0x29515
incq %r12
addq $0xb0, %r15
jmp 0x29451
movq %rbx, %rdi
callq 0x42d0
leaq 0xcde0(%rip), %rdi      # 0x36362
jmp 0x2958b
leaq 0xcddc(%rip), %rdi      # 0x36367
xorl %eax, %eax
callq 0x8790
callq 0x17134
callq 0x158fe
leaq 0xa635(%rip), %rdi      # 0x33bd8
xorl %ebp, %ebp
xorl %eax, %eax
callq 0x8790
leaq 0xfecc(%rip), %rdi      # 0x3947f
callq 0x893a
leaq 0xd0c8(%rip), %rbx      # 0x36687
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x8790
leaq 0x1b83e31(%rip), %r14   # 0x1bad404
movl (%r14), %edi
movzbl 0x1be57(%rip), %esi     # 0x45434
leaq 0x2bfe(%rip), %rdx      # 0x2c1e2
callq 0x9e2e
leaq 0xfea2(%rip), %rdi      # 0x39492
callq 0x893a
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x8790
movl (%r14), %edi
movzbl 0x1be28(%rip), %esi     # 0x45434
leaq -0xf2ca(%rip), %rdx     # 0x1a349
callq 0x9e2e
callq 0x2cac2
callq 0x16dee
cmpl $0x0, 0x1bdab(%rip)     # 0x453d4
je 0x29ae3
movl 0x1bd93(%rip), %eax     # 0x453c8
cmpl $0x2, %eax
je 0x29651
cmpl $0x1, %eax
je 0x2964a
testl %eax, %eax
jne 0x29656
callq 0x30290
jmp 0x29656
callq 0x2d4b8
jmp 0x29656
callq 0x231c7
movl 0x540b39c(%rip), %eax   # 0x54349f8
incl %eax
imulq $0x30, %rax, %rdi
callq 0x477c
movq %rax, 0x550d53a(%rip)   # 0x5536ba8
movl 0x540b384(%rip), %eax   # 0x54349f8
incl %eax
imulq $0x30, %rax, %rdi
callq 0x477c
movq %rax, 0x550d52a(%rip)   # 0x5536bb0
movl 0x540b36c(%rip), %edi   # 0x54349f8
incl %edi
shlq $0x2, %rdi
callq 0x477c
movq %rax, 0x550d51a(%rip)   # 0x5536bb8
movq 0x550d503(%rip), %rax   # 0x5536ba8
addq $0x8, %rax
movl $0x98, %ecx
movl $0x88, %edx
xorl %esi, %esi
movl $0x138, %edi            # imm = 0x138
movl 0x540b337(%rip), %r8d   # 0x54349f8
cmpq %r8, %rsi
jae 0x29723
movq 0x538b323(%rip), %r8    # 0x53b49f0
leaq (%r8,%rcx), %r9
addq %rdx, %r8
xorl %r10d, %r10d
cmpq $0x30, %r10
je 0x29714
cmpb $-0x1, (%r8)
je 0x29714
movss -0x8(%r9,%r10), %xmm0
movss %xmm0, -0x8(%rax,%r10)
movss -0x4(%r9,%r10), %xmm0
movss %xmm0, -0x4(%rax,%r10)
movss (%r9,%r10), %xmm0
movss %xmm0, (%rax,%r10)
addq $0xc, %r10
incq %r8
jmp 0x296d7
incq %rsi
addq $0x30, %rax
addq %rdi, %rcx
addq %rdi, %rdx
jmp 0x296ba
leaq 0x100a8(%rip), %r15     # 0x397d2
movl $0x0, 0x10(%rsp)
movl 0x10(%rsp), %eax
cmpl 0x1bc98(%rip), %eax     # 0x453d4
jae 0x29a26
movl %eax, %r14d
leal 0x1(%r14), %esi
leaq 0x10015(%rip), %rdi     # 0x39765
movl %esi, 0x10(%rsp)
xorl %eax, %eax
callq 0x8790
cmpb $0x0, 0x54cd2d7(%rip)   # 0x54f6a39
leaq 0x10017(%rip), %rdi     # 0x39780
leaq 0x10000(%rip), %rax     # 0x39770
cmovneq %rax, %rdi
leaq 0x129a(%rip), %r12      # 0x2aa15
leaq 0xcbc(%rip), %rax       # 0x2a43e
cmovneq %rax, %r12
callq 0x893a
leaq 0xcef5(%rip), %rdi      # 0x36687
movq %rax, %rsi
xorl %eax, %eax
callq 0x8790
movl 0x540b256(%rip), %edi   # 0x54349f8
movzbl 0x1bc8b(%rip), %esi     # 0x45434
movq %r12, %rdx
callq 0x9e41
movq 0x538b238(%rip), %rax   # 0x53b49f0
movq 0x550d3f9(%rip), %rcx   # 0x5536bb8
movq 0x550d3ea(%rip), %rdx   # 0x5536bb0
movq 0x550d3db(%rip), %rsi   # 0x5536ba8
leaq 0x8c(%rax), %rdi
addq $0x8, %rsi
addq $0x8, %rdx
movq %rcx, %r8
xorl %r9d, %r9d
movl 0x540b20f(%rip), %r10d  # 0x54349f8
cmpq %r10, %r9
jae 0x29902
xorl %r10d, %r10d
cmpq $0x4, %r10
je 0x29862
leaq (%rcx,%r9,4), %r11
movb (%r10,%r11), %r11b
cmpb $-0x1, %r11b
je 0x29862
imulq $0xc, %r10, %rbx
addq %rsp, %rbx
addq $0xa0, %rbx
andl $0x0, 0x8(%rbx)
andq $0x0, (%rbx)
movl $0x88, %r13d
movq %rdi, %r12
cmpq $0x8c, %r13
je 0x2985d
movb (%rax,%r13), %bpl
cmpb $-0x1, %bpl
je 0x2985d
addq $0xc, %r12
incq %r13
cmpb %r11b, %bpl
jne 0x29828
movsd -0x8(%r12), %xmm0
movsd %xmm0, (%rbx)
movss (%r12), %xmm0
movss %xmm0, 0x8(%rbx)
incq %r10
jmp 0x297f5
movl $0x88, %r10d
xorl %r11d, %r11d
cmpq $0x30, %r11
je 0x298e2
movb -0x88(%r8,%r10), %bl
cmpb $-0x1, %bl
je 0x298d4
movb %bl, (%rax,%r10)
movsd 0xa0(%rsp,%r11), %xmm0
movsd %xmm0, 0x90(%rax,%r11)
movss 0xa8(%rsp,%r11), %xmm0
movss %xmm0, 0x98(%rax,%r11)
movss -0x8(%rdx,%r11), %xmm0
movss %xmm0, -0x8(%rsi,%r11)
movss -0x4(%rdx,%r11), %xmm0
movss %xmm0, -0x4(%rsi,%r11)
movss (%rdx,%r11), %xmm0
movss %xmm0, (%rsi,%r11)
jmp 0x298d9
movb $-0x1, (%rax,%r10)
addq $0xc, %r11
incq %r10
jmp 0x2986b
incq %r9
movl $0x138, %r10d           # imm = 0x138
addq %r10, %rax
addq %r10, %rdi
addq $0x30, %rsi
addq $0x30, %rdx
addq $0x4, %r8
jmp 0x297e2
cmpb $0x1, 0x550d297(%rip)   # 0x5536ba0
jne 0x29732
leaq 0x1a0(%rsp), %rbx
movq %rbx, %rdi
leaq 0xfe6c(%rip), %rsi      # 0x3978d
movl %r14d, %edx
xorl %eax, %eax
callq 0x40a0
movq %rbx, %rdi
leaq 0xf3c7(%rip), %rsi      # 0x38cfc
callq 0x4370
movq %rax, 0x50(%rsp)
testq %rax, %rax
jne 0x2995a
leaq 0xcc31(%rip), %rdi      # 0x3657c
leaq 0x1a0(%rsp), %rsi
xorl %eax, %eax
callq 0x8b2f
xorl %r12d, %r12d
movq 0x538b08c(%rip), %r14   # 0x53b49f0
cmpl 0x540b08d(%rip), %r12d  # 0x54349f8
jae 0x29a17
movq 0x28(%r14), %rbp
movl 0x8(%rbp), %esi
leaq 0xb729(%rip), %rdi      # 0x350a8
xorl %eax, %eax
callq 0x8790
pushq $0x8
popq %r13
xorl %ebx, %ebx
movl 0x8(%rbp), %eax
cmpq %rax, %rbx
jae 0x299fa
movq 0x10(%rbp), %rax
cvtss2sd -0x8(%rax,%r13), %xmm0
cvtss2sd -0x4(%rax,%r13), %xmm1
cvtss2sd (%rax,%r13), %xmm2
movss 0x90(%r14), %xmm3
movss 0xc053(%rip), %xmm6     # 0x35a10
mulss %xmm6, %xmm3
cvtss2sd %xmm3, %xmm3
movss 0x94(%r14), %xmm4
mulss %xmm6, %xmm4
cvtss2sd %xmm4, %xmm4
movss 0x98(%r14), %xmm5
mulss %xmm6, %xmm5
cvtss2sd %xmm5, %xmm5
movq %r15, %rdi
movb $0x6, %al
callq 0x8790
incq %rbx
addq $0xc, %r13
jmp 0x2998c
leaq 0xa1d7(%rip), %rdi      # 0x33bd8
xorl %eax, %eax
callq 0x8790
incl %r12d
addq $0x138, %r14            # imm = 0x138
jmp 0x29964
movq 0x50(%rsp), %rdi
callq 0x42d0
jmp 0x29732
movq 0x550d17b(%rip), %rdi   # 0x5536ba8
leaq 0x8(%rdi), %rax
movl $0x98, %ecx
movl $0x88, %edx
xorl %esi, %esi
movl $0x138, %r8d            # imm = 0x138
xorl %ebp, %ebp
movl 0x540afac(%rip), %r9d   # 0x54349f8
cmpq %r9, %rsi
jae 0x29aae
movq 0x538af98(%rip), %r9    # 0x53b49f0
leaq (%r9,%rcx), %r10
addq %rdx, %r9
xorl %r11d, %r11d
cmpq $0x30, %r11
je 0x29a9f
cmpb $-0x1, (%r9)
je 0x29a9f
movss -0x8(%rax,%r11), %xmm0
movss %xmm0, -0x8(%r10,%r11)
movss -0x4(%rax,%r11), %xmm0
movss %xmm0, -0x4(%r10,%r11)
movss (%rax,%r11), %xmm0
movss %xmm0, (%r10,%r11)
addq $0xc, %r11
incq %r9
jmp 0x29a62
incq %rsi
addq $0x30, %rax
addq %r8, %rcx
addq %r8, %rdx
jmp 0x29a45
callq 0x479f
andq $0x0, 0x550d0ed(%rip)   # 0x5536ba8
movq 0x550d0ee(%rip), %rdi   # 0x5536bb0
callq 0x479f
andq $0x0, 0x550d0e1(%rip)   # 0x5536bb0
movq 0x550d0e2(%rip), %rdi   # 0x5536bb8
callq 0x479f
andq $0x0, 0x550d0d5(%rip)   # 0x5536bb8
movq 0x538af06(%rip), %rbx   # 0x53b49f0
addq $0x50, %rbx
cmpl 0x540af04(%rip), %ebp   # 0x54349f8
jae 0x29b38
movq -0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x29b09
callq 0x479f
andq $0x0, -0x8(%rbx)
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x29b1a
callq 0x479f
andq $0x0, (%rbx)
movq -0x10(%rbx), %rdi
testq %rdi, %rdi
je 0x29b2d
callq 0x479f
andq $0x0, -0x10(%rbx)
incl %ebp
addq $0x138, %rbx            # imm = 0x138
jmp 0x29aee
callq 0x30213
leaq 0xf95f(%rip), %rdi      # 0x394a3
callq 0x893a
leaq 0xcb37(%rip), %rbx      # 0x36687
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x8790
leaq 0x1b838a0(%rip), %r14   # 0x1bad404
movl (%r14), %edi
movzbl 0x1b8c6(%rip), %esi     # 0x45434
leaq -0x1bc95(%rip), %rdx    # 0xdee0
callq 0x9e2e
callq 0x1cc54
callq 0x1ddae
callq 0x1dc38
leaq 0xf929(%rip), %rdi      # 0x394b9
callq 0x893a
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x8790
movl (%r14), %edi
movzbl 0x1b888(%rip), %esi     # 0x45434
leaq -0xbd2b(%rip), %rdx     # 0x1de88
callq 0x9e2e
callq 0x1dd73
callq 0x103b8
leaq 0xf900(%rip), %rdi      # 0x394c9
callq 0x893a
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x8790
movl (%r14), %edi
movzbl 0x1b84f(%rip), %esi     # 0x45434
leaq -0xbb3b(%rip), %rdx     # 0x1e0b1
callq 0x9e2e
cvtss2sd 0x550cf67(%rip), %xmm0  # 0x5536b60
ucomisd 0xb98f(%rip), %xmm0     # 0x35590
jbe 0x29c29
cvtss2sd 0x550cf59(%rip), %xmm1  # 0x5536b64
cvtss2sd 0x550cf55(%rip), %xmm2  # 0x5536b68
cvtss2sd 0x550cf51(%rip), %xmm3  # 0x5536b6c
leaq 0xf8b7(%rip), %rdi      # 0x394d9
movb $0x4, %al
callq 0x8f86
callq 0x1db23
callq 0x1d151
leaq 0x82385a(%rip), %rbx    # 0x84d494
cmpl $0x0, (%rbx)
jne 0x29c52
movl $0x1, (%rbx)
leaq 0x82384c(%rip), %rax    # 0x84d498
movq (%rax), %rax
movb $0x0, (%rax)
leaq 0x1b837ab(%rip), %rax   # 0x1bad404
movl (%rax), %eax
xorl %ecx, %ecx
testl %eax, %eax
cmovlel %ecx, %eax
leaq 0x1b837a7(%rip), %rdx   # 0x1bad410
addq $0xc, %rdx
xorl %ebp, %ebp
cmpq %rax, %rcx
je 0x29cb8
imulq $0x14, %rcx, %rsi
leaq 0x1b83791(%rip), %rdi   # 0x1bad410
movl 0x10(%rdi,%rsi), %edi
testl %edi, %edi
js 0x29caf
leal 0xd8c(%rdi), %esi
xorl %r8d, %r8d
cmpq $0x4, %r8
je 0x29caa
cmpb $-0x1, (%rdx,%r8)
je 0x29ca8
addl $0x363, %edi            # imm = 0x363
incq %r8
jmp 0x29c90
movl %edi, %esi
cmpl %ebp, %esi
cmovgl %esi, %ebp
incq %rcx
addq $0x14, %rdx
jmp 0x29c6f
cmpl (%rbx), %ebp
jl 0x29cf2
leaq 0x1a681(%rip), %rax     # 0x44344
xorl %edi, %edi
cmpl (%rax), %ebp
setle %dil
pushq $0x38
popq %rsi
callq 0x92cb
leaq 0x8237be(%rip), %rax    # 0x84d498
movslq (%rbx), %rcx
movq (%rax), %rdi
addq %rcx, %rdi
movslq %ebp, %rdx
subq %rcx, %rdx
xorl %esi, %esi
callq 0x41a0
movl %ebp, (%rbx)
addq $0x11b8, %rsp           # imm = 0x11B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
pushq $0x20
popq %rsi
movq %r15, %rdi
jmp 0x29d23
movq %rax, %rbx
pushq $0x20
popq %rsi
movq %r12, %rdi
jmp 0x29d23
movq %rax, %rbx
pushq $0x20
popq %rsi
movq %rbp, %rdi
callq 0x42f0
movq %rbx, %rdi
callq 0x45a0