// File: /workspace/github_cpp_makefile_star2_O2/FreeSlave[P]vhlt/hlbsp/qbsp.cpp
// Function: main
int             main(const int argc, char** argv)
{
    int             i;
    double          start, end;
    const char*     mapname_from_arg = NULL;

    g_Program = "hlbsp";

#ifdef ZHLT_PARAMFILE
	int argcold = argc;
	char ** argvold = argv;
	{
		int argc;
		char ** argv;
		ParseParamFile (argcold, argvold, argc, argv);
		{
#endif
#ifdef ZHLT_CONSOLE
	if (InitConsole (argc, argv) < 0)
		Usage();
#endif
    // if we dont have any command line argvars, print out usage and die
    if (argc == 1)
        Usage();

    // check command line args
    for (i = 1; i < argc; i++)
    {
        if (!strcasecmp(argv[i], "-threads"))
        {
            if (i + 1 < argc)	//added "1" .--vluzacn
            {
                int             g_numthreads = atoi(argv[++i]);

                if (g_numthreads < 1)
                {
                    Log("Expected value of at least 1 for '-threads'\n");
                    Usage();
                }
            }
            else
            {
                Usage();
            }
        }
#ifdef ZHLT_CONSOLE
		else if (!strcasecmp(argv[i], "-console"))
		{
#ifndef SYSTEM_WIN32
			Warning("The option '-console #' is only valid for Windows.");
#endif
			if (i + 1 < argc)
				++i;
			else
				Usage();
		}
#endif
        else if (!strcasecmp(argv[i], "-notjunc"))
        {
            g_notjunc = true;
        }
#ifdef HLBSP_BRINKHACK
		else if (!strcasecmp (argv[i], "-nobrink"))
		{
			g_nobrink = true;
		}
#endif
        else if (!strcasecmp(argv[i], "-noclip"))
        {
            g_noclip = true;
        }
        else if (!strcasecmp(argv[i], "-nofill"))
        {
            g_nofill = true;
        }
#ifdef HLBSP_FILL
        else if (!strcasecmp(argv[i], "-noinsidefill"))
        {
            g_noinsidefill = true;
        }
#endif

#ifdef SYSTEM_WIN32
        else if (!strcasecmp(argv[i], "-estimate"))
        {
            g_estimate = true;
        }
#endif

#ifdef SYSTEM_POSIX
        else if (!strcasecmp(argv[i], "-noestimate"))
        {
            g_estimate = false;
        }
#endif

#ifdef ZHLT_NETVIS
        else if (!strcasecmp(argv[i], "-client"))
        {
            if (i + 1 < argc)	//added "1" .--vluzacn
            {
                g_clientid = atoi(argv[++i]);
            }
            else
            {
                Usage();
            }
        }
#endif

#ifdef ZHLT_PROGRESSFILE // AJM
        else if (!strcasecmp(argv[i], "-progressfile"))
        {
            if (i + 1 < argc)	//added "1" .--vluzacn
            {
                g_progressfile = argv[++i];
            }
            else
            {
            	Log("Error: -progressfile: expected path to progress file following parameter\n");
                Usage();
            }
        }
#endif

        else if (!strcasecmp(argv[i], "-dev"))
        {
            if (i + 1 < argc)	//added "1" .--vluzacn
            {
                g_developer = (developer_level_t)atoi(argv[++i]);
            }
            else
            {
                Usage();
            }
        }
        else if (!strcasecmp(argv[i], "-verbose"))
        {
            g_verbose = true;
        }
        else if (!strcasecmp(argv[i], "-noinfo"))
        {
            g_info = false;
        }
        else if (!strcasecmp(argv[i], "-leakonly"))
        {
            g_bLeakOnly = true;
        }
        else if (!strcasecmp(argv[i], "-chart"))
        {
            g_chart = true;
        }
        else if (!strcasecmp(argv[i], "-low"))
        {
            g_threadpriority = eThreadPriorityLow;
        }
        else if (!strcasecmp(argv[i], "-high"))
        {
            g_threadpriority = eThreadPriorityHigh;
        }
        else if (!strcasecmp(argv[i], "-nolog"))
        {
            g_log = false;
        }

#ifdef ZHLT_NULLTEX // AJM
        else if (!strcasecmp(argv[i], "-nonulltex"))
        {
            g_bUseNullTex = false;
        }
#endif

#ifdef ZHLT_DETAIL // AJM
        else if (!strcasecmp(argv[i], "-nodetail"))
        {
            g_bDetailBrushes = false;
        }
#endif

#ifdef HLBSP_REMOVEHULL2
		else if (!strcasecmp (argv[i], "-nohull2"))
		{
			g_nohull2 = true;
		}
#endif

		else if (!strcasecmp(argv[i], "-noopt"))
		{
			g_noopt = true;
		}
#ifdef HLBSP_MERGECLIPNODE
		else if (!strcasecmp (argv[i], "-noclipnodemerge"))
		{
			g_noclipnodemerge = true;
		}
#endif
        else if (!strcasecmp(argv[i], "-subdivide"))
        {
            if (i + 1 < argc)	//added "1" .--vluzacn
            {
                g_subdivide_size = atoi(argv[++i]);
                if (g_subdivide_size > MAX_SUBDIVIDE_SIZE)
                {
                    Warning
                        ("Maximum value for subdivide size is %i, '-subdivide %i' ignored",
                         MAX_SUBDIVIDE_SIZE, g_subdivide_size);
                    g_subdivide_size = MAX_SUBDIVIDE_SIZE;
                }
                else if (g_subdivide_size < MIN_SUBDIVIDE_SIZE)
                {
                    Warning
                        ("Mininum value for subdivide size is %i, '-subdivide %i' ignored",
                         MIN_SUBDIVIDE_SIZE, g_subdivide_size);
                    g_subdivide_size = MIN_SUBDIVIDE_SIZE; //MAX_SUBDIVIDE_SIZE; //--vluzacn
                }
            }
            else
            {
                Usage();
            }
        }
        else if (!strcasecmp(argv[i], "-maxnodesize"))
        {
            if (i + 1 < argc)	//added "1" .--vluzacn
            {
                g_maxnode_size = atoi(argv[++i]);
                if (g_maxnode_size > MAX_MAXNODE_SIZE)
                {
                    Warning
                        ("Maximum value for max node size is %i, '-maxnodesize %i' ignored",
                         MAX_MAXNODE_SIZE, g_maxnode_size);
                    g_maxnode_size = MAX_MAXNODE_SIZE;
                }
                else if (g_maxnode_size < MIN_MAXNODE_SIZE)
                {
                    Warning
                        ("Mininimum value for max node size is %i, '-maxnodesize %i' ignored",
                         MIN_MAXNODE_SIZE, g_maxnode_size);
                    g_maxnode_size = MIN_MAXNODE_SIZE; //MAX_MAXNODE_SIZE; //vluzacn
                }
            }
            else
            {
                Usage();
            }
        }
#ifdef HLBSP_VIEWPORTAL
		else if (!strcasecmp (argv[i], "-viewportal"))
		{
			g_viewportal = true;
		}
#endif
        else if (!strcasecmp(argv[i], "-texdata"))
        {
            if (i + 1 < argc)	//added "1" .--vluzacn
            {
                int             x = atoi(argv[++i]) * 1024;

                //if (x > g_max_map_miptex) //--vluzacn
                {
                    g_max_map_miptex = x;
                }
            }
            else
            {
                Usage();
            }
        }
        else if (!strcasecmp(argv[i], "-lightdata"))
        {
            if (i + 1 < argc)	//added "1" .--vluzacn
            {
                int             x = atoi(argv[++i]) * 1024;

                //if (x > g_max_map_lightdata) //--vluzacn
                {
                    g_max_map_lightdata = x;
                }
            }
            else
            {
                Usage();
            }
        }
#ifdef ZHLT_LANGFILE
		else if (!strcasecmp (argv[i], "-lang"))
		{
			if (i + 1 < argc)
			{
				char tmp[_MAX_PATH];
#ifdef SYSTEM_WIN32
				GetModuleFileName (NULL, tmp, _MAX_PATH);
#else
				safe_strncpy (tmp, argv[0], _MAX_PATH);
#endif
				LoadLangFile (argv[++i], tmp);
			}
			else
			{
				Usage();
			}
		}
#endif
        else if (argv[i][0] == '-')
        {
            Log("Unknown option \"%s\"\n", argv[i]);
            Usage();
        }
        else if (!mapname_from_arg)
        {
            mapname_from_arg = argv[i];
        }
        else
        {
            Log("Unknown option \"%s\"\n", argv[i]);
            Usage();
        }
    }
#ifdef HLBSP_SUBDIVIDE_INMID
	if (g_subdivide_size % TEXTURE_STEP != 0)
	{
		Warning ("Subdivide size must be a multiple of %d", (int)TEXTURE_STEP);
		g_subdivide_size = TEXTURE_STEP * (g_subdivide_size / TEXTURE_STEP);
	}
#endif

    if (!mapname_from_arg)
    {
        Log("No mapfile specified\n");
        Usage();
    }

    safe_strncpy(g_Mapname, mapname_from_arg, _MAX_PATH);
    FlipSlashes(g_Mapname);
    StripExtension(g_Mapname);
    OpenLog(g_clientid);
    atexit(CloseLog);
    ThreadSetDefault();
    ThreadSetPriority(g_threadpriority);
#ifdef ZHLT_PARAMFILE
    LogStart(argcold, argvold);
	{
		int			 i;
		Log("Arguments: ");
		for (i = 1; i < argc; i++)
		{
			if (strchr(argv[i], ' '))
			{
				Log("\"%s\" ", argv[i]);
			}
			else
			{
				Log("%s ", argv[i]);
			}
		}
		Log("\n");
	}
#else
    LogStart(argc, argv);
#endif

    CheckForErrorLog();

#ifdef ZHLT_64BIT_FIX
#ifdef PLATFORM_CAN_CALC_EXTENT
	hlassume (CalcFaceExtents_test (), assume_first);
#endif
#endif
    dtexdata_init();
    atexit(dtexdata_free);
    //Settings();
    // END INIT

    // Load the .void files for allowable entities in the void
    {
#ifndef ZHLT_DEFAULTEXTENSION_FIX
        char            g_source[_MAX_PATH];
#endif
        char            strSystemEntitiesVoidFile[_MAX_PATH];
        char            strMapEntitiesVoidFile[_MAX_PATH];

#ifndef ZHLT_DEFAULTEXTENSION_FIX
        safe_strncpy(g_source, mapname_from_arg, _MAX_PATH);
        StripExtension(g_source);
#endif

        // try looking in the current directory
        safe_strncpy(strSystemEntitiesVoidFile, ENTITIES_VOID, _MAX_PATH);
        if (!q_exists(strSystemEntitiesVoidFile))
        {
            char tmp[_MAX_PATH];
            // try looking in the directory we were run from
#ifdef SYSTEM_WIN32
            GetModuleFileName(NULL, tmp, _MAX_PATH);
#else
            safe_strncpy(tmp, argv[0], _MAX_PATH);
#endif
            ExtractFilePath(tmp, strSystemEntitiesVoidFile);
            safe_strncat(strSystemEntitiesVoidFile, ENTITIES_VOID, _MAX_PATH);
        }

        // Set the optional level specific lights filename
#ifdef ZHLT_DEFAULTEXTENSION_FIX
		safe_snprintf(strMapEntitiesVoidFile, _MAX_PATH, "%s" ENTITIES_VOID_EXT, g_Mapname);
#else
        safe_strncpy(strMapEntitiesVoidFile, g_source, _MAX_PATH);
        DefaultExtension(strMapEntitiesVoidFile, ENTITIES_VOID_EXT);
#endif

        LoadAllowableOutsideList(strSystemEntitiesVoidFile);    // default entities.void
        if (*strMapEntitiesVoidFile)
        {
            LoadAllowableOutsideList(strMapEntitiesVoidFile);   // automatic mapname.void
        }
    }

    // BEGIN BSP
    start = I_FloatTime();

    ProcessFile(g_Mapname);

    end = I_FloatTime();
    LogTimeElapsed(end - start);
    // END BSP

    FreeAllowableOutsideList();

#ifdef ZHLT_PARAMFILE
		}
	}
#endif
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2078, %rsp           # imm = 0x2078
movq %rsi, %r15
movl %edi, %ebp
leaq 0xbe14(%rip), %rax      # 0x1f4cb
leaq 0x15c52(%rip), %rcx     # 0x29310
movq %rax, (%rcx)
leaq 0x4(%rsp), %rbx
leaq 0x28(%rsp), %r14
movq %rbx, %rdx
movq %r14, %rcx
callq 0x7eab
movl (%rbx), %edi
movq (%r14), %rsi
callq 0x93fb
testl %eax, %eax
js 0x14ebf
movl %ebp, 0x30(%rsp)
movq %r15, 0x38(%rsp)
movl 0x4(%rsp), %ebx
cmpl $0x1, %ebx
je 0x14ebf
pushq $0x1
popq %r12
leaq 0xbe70(%rip), %r14      # 0x1f579
leaq 0xbe9f(%rip), %r15      # 0x1f5af
movq $0x0, 0x8(%rsp)
cmpl %ebx, %r12d
jge 0x13c6c
movq 0x28(%rsp), %r13
movslq %r12d, %rax
movq (%r13,%rax,8), %rbp
movq %rbp, %rdi
movq %r14, %rsi
callq 0x4330
testl %eax, %eax
je 0x1399d
movq %rbp, %rdi
movq %r15, %rsi
callq 0x4330
testl %eax, %eax
je 0x139c3
movq %rbp, %rdi
leaq 0xbe8c(%rip), %rsi      # 0x1f5eb
callq 0x4330
testl %eax, %eax
je 0x139e4
movq %rbp, %rdi
leaq 0xbe7e(%rip), %rsi      # 0x1f5f4
callq 0x4330
testl %eax, %eax
je 0x139f0
movq %rbp, %rdi
leaq 0xbe70(%rip), %rsi      # 0x1f5fd
callq 0x4330
testl %eax, %eax
je 0x139fc
movq %rbp, %rdi
leaq 0xbe61(%rip), %rsi      # 0x1f605
callq 0x4330
testl %eax, %eax
je 0x13a08
movq %rbp, %rdi
leaq 0xbe52(%rip), %rsi      # 0x1f60d
callq 0x4330
testl %eax, %eax
je 0x13a14
movq %rbp, %rdi
leaq 0xbe49(%rip), %rsi      # 0x1f61b
callq 0x4330
testl %eax, %eax
je 0x13a20
movq %rbp, %rdi
leaq 0xbe3e(%rip), %rsi      # 0x1f627
callq 0x4330
testl %eax, %eax
je 0x13a2c
movq %rbp, %rdi
leaq 0xbe2c(%rip), %rsi      # 0x1f62c
callq 0x4330
testl %eax, %eax
je 0x13a53
movq %rbp, %rdi
leaq 0xbe1e(%rip), %rsi      # 0x1f635
callq 0x4330
testl %eax, %eax
je 0x13a62
movq %rbp, %rdi
leaq 0xbe0f(%rip), %rsi      # 0x1f63d
callq 0x4330
testl %eax, %eax
je 0x13a6e
movq %rbp, %rdi
leaq 0xbe02(%rip), %rsi      # 0x1f647
callq 0x4330
testl %eax, %eax
je 0x13a7a
movq %rbp, %rdi
leaq 0xbdf2(%rip), %rsi      # 0x1f64e
callq 0x4330
testl %eax, %eax
je 0x13a86
movq %rbp, %rdi
leaq 0xbde0(%rip), %rsi      # 0x1f653
callq 0x4330
testl %eax, %eax
je 0x13a95
movq %rbp, %rdi
leaq 0xbdcf(%rip), %rsi      # 0x1f659
callq 0x4330
testl %eax, %eax
je 0x13aa7
movq %rbp, %rdi
leaq 0xbdbf(%rip), %rsi      # 0x1f660
callq 0x4330
testl %eax, %eax
je 0x13ab6
movq %rbp, %rdi
leaq 0xbdb3(%rip), %rsi      # 0x1f66b
callq 0x4330
testl %eax, %eax
je 0x13ac2
movq %rbp, %rdi
leaq 0xbda5(%rip), %rsi      # 0x1f674
callq 0x4330
testl %eax, %eax
je 0x13ace
movq %rbp, %rdi
leaq 0xbd95(%rip), %rsi      # 0x1f67b
callq 0x4330
testl %eax, %eax
je 0x13ada
movq %rbp, %rdi
leaq 0xbd8f(%rip), %rsi      # 0x1f68c
callq 0x4330
testl %eax, %eax
je 0x13ae6
movq %rbp, %rdi
leaq 0xbe03(%rip), %rsi      # 0x1f717
callq 0x4330
testl %eax, %eax
je 0x13b30
movq %rbp, %rdi
leaq 0xbe7d(%rip), %rsi      # 0x1f7a8
callq 0x4330
testl %eax, %eax
je 0x13ba4
movq %rbp, %rdi
leaq 0xbe72(%rip), %rsi      # 0x1f7b4
callq 0x4330
testl %eax, %eax
je 0x13bd7
movq %rbp, %rdi
leaq 0xbe64(%rip), %rsi      # 0x1f7bd
callq 0x4330
testl %eax, %eax
je 0x13bff
movq %rbp, %rdi
leaq 0xbe58(%rip), %rsi      # 0x1f7c8
callq 0x4330
testl %eax, %eax
je 0x13c27
cmpb $0x2d, (%rbp)
je 0x14ee0
cmpq $0x0, 0x8(%rsp)
jne 0x14ee0
movq %rbp, 0x8(%rsp)
jmp 0x13c60
incl %r12d
cmpl %ebx, %r12d
jge 0x14ebf
movslq %r12d, %rax
movq (%r13,%rax,8), %rdi
callq 0x44d0
testl %eax, %eax
jg 0x13c60
jmp 0x14ec4
leaq 0xbbee(%rip), %rdi      # 0x1f5b8
xorl %eax, %eax
callq 0x8e95
incl %r12d
cmpl 0x4(%rsp), %r12d
jl 0x13c60
jmp 0x14ebf
movb $0x1, 0x20bf029(%rip)   # 0x20d2a14
jmp 0x13c60
movb $0x1, 0x20bf01e(%rip)   # 0x20d2a15
jmp 0x13c60
movb $0x1, 0x20bf013(%rip)   # 0x20d2a16
jmp 0x13c60
movb $0x1, 0x20bf003(%rip)   # 0x20d2a12
jmp 0x13c60
movb $0x1, 0x20beff8(%rip)   # 0x20d2a13
jmp 0x13c60
movb $0x0, 0x169d9(%rip)     # 0x2a400
jmp 0x13c60
incl %r12d
cmpl %ebx, %r12d
jge 0x14ebf
movslq %r12d, %rax
movq (%r13,%rax,8), %rdi
callq 0x44d0
leaq 0x20ac9c4(%rip), %rcx   # 0x20c0410
movl %eax, (%rcx)
jmp 0x13c60
leaq 0x20ac9ba(%rip), %rax   # 0x20c0414
movb $0x1, (%rax)
jmp 0x13c60
movb $0x0, 0x16998(%rip)     # 0x2a401
jmp 0x13c60
movb $0x1, 0x20befa3(%rip)   # 0x20d2a18
jmp 0x13c60
movb $0x1, 0x20bef96(%rip)   # 0x20d2a17
jmp 0x13c60
leaq 0x20b9ae3(%rip), %rax   # 0x20cd570
orl $-0x1, (%rax)
jmp 0x13c60
leaq 0x20b9ad4(%rip), %rax   # 0x20cd570
movl $0x1, (%rax)
jmp 0x13c60
leaq 0x16872(%rip), %rax     # 0x2a320
movb $0x0, (%rax)
jmp 0x13c60
movb $0x0, 0x1694b(%rip)     # 0x2a408
jmp 0x13c60
movb $0x1, 0x20bef51(%rip)   # 0x20d2a1a
jmp 0x13c60
movb $0x1, 0x20bef3b(%rip)   # 0x20d2a10
jmp 0x13c60
movb $0x1, 0x20bef30(%rip)   # 0x20d2a11
jmp 0x13c60
incl %r12d
cmpl %ebx, %r12d
jge 0x14ebf
movslq %r12d, %rax
movq (%r13,%rax,8), %rdi
callq 0x44d0
movl %eax, 0x168ff(%rip)     # 0x2a404
cmpl $0x201, %eax            # imm = 0x201
jl 0x13b79
leaq 0xbb84(%rip), %rdi      # 0x1f697
movl $0x200, %esi            # imm = 0x200
movl %eax, %edx
xorl %eax, %eax
callq 0x8e95
movl $0x200, 0x168d9(%rip)   # imm = 0x200
jmp 0x13c60
incl %r12d
cmpl %ebx, %r12d
jge 0x14ebf
movslq %r12d, %rax
movq (%r13,%rax,8), %rdi
callq 0x44d0
leaq 0x168bc(%rip), %rbx     # 0x2a40c
movl %eax, (%rbx)
cmpl $0x10001, %eax          # imm = 0x10001
jl 0x13bb0
leaq 0xbbc4(%rip), %rdi      # 0x1f724
movl $0x10000, %esi          # imm = 0x10000
movl %eax, %edx
xorl %eax, %eax
callq 0x8e95
movl $0x10000, (%rbx)        # imm = 0x10000
jmp 0x13c60
cmpl $0x3f, %eax
jg 0x13c60
leaq 0xbb4e(%rip), %rdi      # 0x1f6d7
pushq $0x40
popq %rsi
movl %eax, %edx
xorl %eax, %eax
callq 0x8e95
movl $0x40, 0x16865(%rip)    # 0x2a404
jmp 0x13c60
movb $0x1, 0x20bee70(%rip)   # 0x20d2a1b
jmp 0x13c60
cmpl $0x3f, %eax
jg 0x13c60
leaq 0xbba5(%rip), %rdi      # 0x1f765
pushq $0x40
popq %rsi
movl %eax, %edx
xorl %eax, %eax
callq 0x8e95
movl $0x40, (%rbx)
jmp 0x13c60
incl %r12d
cmpl %ebx, %r12d
jge 0x14ebf
movslq %r12d, %rax
movq (%r13,%rax,8), %rdi
callq 0x44d0
shll $0xa, %eax
leaq 0x15706(%rip), %rcx     # 0x29300
jmp 0x13a4c
incl %r12d
cmpl %ebx, %r12d
jge 0x14ebf
movslq %r12d, %rax
movq (%r13,%rax,8), %rdi
callq 0x44d0
shll $0xa, %eax
leaq 0x156e2(%rip), %rcx     # 0x29304
jmp 0x13a4c
incl %r12d
cmpl %ebx, %r12d
jge 0x14ebf
movq (%r13), %rsi
movl $0x1000, %edx           # imm = 0x1000
leaq 0x1070(%rsp), %rbx
movq %rbx, %rdi
callq 0x7711
movq 0x28(%rsp), %rax
movslq %r12d, %rcx
movq (%rax,%rcx,8), %rdi
movq %rbx, %rsi
callq 0x95d5
incl %r12d
movl 0x4(%rsp), %ebx
jmp 0x13719
movq 0x8(%rsp), %rsi
testq %rsi, %rsi
je 0x14ed7
leaq 0x1569f(%rip), %rbx     # 0x29320
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
callq 0x7711
movq %rbx, %rdi
callq 0x7437
movq %rbx, %rdi
callq 0x74ce
leaq 0x20ac773(%rip), %rax   # 0x20c0418
movl (%rax), %edi
callq 0x8984
leaq -0xb26e(%rip), %rdi     # 0x8a45
callq 0x1a840
callq 0xa013
leaq 0x20b98ac(%rip), %rax   # 0x20cd570
movl (%rax), %edi
callq 0x9ff0
movl 0x30(%rsp), %edi
movq 0x38(%rsp), %rsi
callq 0x911d
leaq 0xbb19(%rip), %rdi      # 0x1f7f9
xorl %eax, %eax
callq 0x8780
pushq $0x1
popq %r15
pushq $0x20
popq %rbx
leaq 0x8ff4(%rip), %r12      # 0x1cce9
leaq 0x8fe7(%rip), %r13      # 0x1cce3
movslq 0x4(%rsp), %rax
cmpq %rax, %r15
jge 0x13d32
movq 0x28(%rsp), %rax
movq (%rax,%r15,8), %r14
movq %r14, %rdi
movl %ebx, %esi
callq 0x4110
testq %rax, %rax
movq %r13, %rdi
cmoveq %r12, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x8780
incq %r15
jmp 0x13cfc
leaq 0x8e9f(%rip), %rdi      # 0x1cbd8
xorl %eax, %eax
callq 0x8780
callq 0x871d
callq 0x55fd
movzbl %al, %edi
xorl %esi, %esi
callq 0x92bb
callq 0x7201
leaq -0xcb14(%rip), %rdi     # 0x724c
callq 0x1a840
leaq 0xba99(%rip), %rsi      # 0x1f805
leaq 0x1070(%rsp), %rbx
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
callq 0x7711
movq %rbx, %rdi
callq 0x82ae
testb %al, %al
jne 0x13dce
movq 0x28(%rsp), %rax
movq (%rax), %rsi
leaq 0x70(%rsp), %rbx
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
callq 0x7711
leaq 0x1070(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x74fa
leaq 0xba44(%rip), %rsi      # 0x1f805
movl $0x1000, %edx           # imm = 0x1000
movq %r14, %rdi
callq 0x7728
leaq 0xba3e(%rip), %rdx      # 0x1f813
leaq 0x15544(%rip), %rcx     # 0x29320
leaq 0x70(%rsp), %rbx
movl $0x1000, %esi           # imm = 0x1000
movq %rbx, %rdi
xorl %eax, %eax
callq 0x766f
leaq 0x1070(%rsp), %rdi
callq 0x1117f
cmpb $0x0, (%rbx)
je 0x13e0c
leaq 0x70(%rsp), %rdi
callq 0x1117f
callq 0x72f8
movsd %xmm0, 0x30(%rsp)
leaq 0x20bcbf2(%rip), %r14   # 0x20d0a10
leaq 0x8b58(%rip), %rdx      # 0x1c97d
leaq 0x154f4(%rip), %rbx     # 0x29320
movl $0x1000, %esi           # imm = 0x1000
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x766f
movq %r14, %rdi
callq 0x4150
leaq 0x20babc3(%rip), %r14   # 0x20cea10
leaq 0x8b30(%rip), %rdx      # 0x1c984
movl $0x1000, %esi           # imm = 0x1000
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x766f
movq %r14, %rdi
callq 0x4150
leaq 0x20bbb9b(%rip), %r14   # 0x20cfa10
leaq 0x8b0f(%rip), %rdx      # 0x1c98b
movl $0x1000, %esi           # imm = 0x1000
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x766f
movq %r14, %rdi
callq 0x4150
leaq 0x20bdb73(%rip), %r14   # 0x20d1a10
leaq 0x8b1b(%rip), %rdx      # 0x1c9bf
movl $0x1000, %esi           # imm = 0x1000
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x766f
movq %r14, %rdi
callq 0x4150
leaq 0x1070(%rsp), %r15
leaq 0xa0d0(%rip), %r12      # 0x1df9d
leaq 0xc013(%rip), %rbp      # 0x1fee7
xorl %r14d, %r14d
xorl %r13d, %r13d
cmpq $0x4, %r13
je 0x13f72
movq %r15, %rdi
leaq 0xbfe4(%rip), %rsi      # 0x1fed2
movq %rbx, %rdx
movl %r13d, %ecx
xorl %eax, %eax
callq 0x40b0
movq %r15, %rdi
movq %r12, %rsi
callq 0x4380
leaq 0x30beb13(%rip), %rcx   # 0x30d2a20
movq %rax, (%r14,%rcx)
testq %rax, %rax
jne 0x13f27
leaq 0xbfbc(%rip), %rdi      # 0x1fed9
movq %r15, %rsi
xorl %eax, %eax
callq 0x8b1f
movq %r15, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
movl %r13d, %ecx
xorl %eax, %eax
callq 0x40b0
movq %r15, %rdi
movq %r12, %rsi
callq 0x4380
leaq 0x30beaf4(%rip), %rcx   # 0x30d2a40
movq %rax, (%r14,%rcx)
testq %rax, %rax
jne 0x13f66
leaq 0xbf7d(%rip), %rdi      # 0x1fed9
movq %r15, %rsi
xorl %eax, %eax
callq 0x8b1f
incq %r13
addq $0x8, %r14
jmp 0x13eda
leaq 0x8a19(%rip), %rdx      # 0x1c992
leaq 0x153a0(%rip), %rcx     # 0x29320
leaq 0x70(%rsp), %rbx
movl $0x1000, %esi           # imm = 0x1000
movq %rbx, %rdi
xorl %eax, %eax
callq 0x766f
leaq 0xa002(%rip), %rsi      # 0x1df9d
movq %rbx, %rdi
callq 0x4380
testq %rax, %rax
je 0x14079
movq %rax, %rbx
pushq $0x20
popq %r15
pushq $0x1
popq %rbp
leaq 0x4c(%rsp), %r13
leaq 0x48(%rsp), %r14
leaq 0x16379(%rip), %r12     # 0x2a340
cmpq $0xe0, %r15
je 0x1406f
movq %rbx, %rdi
leaq 0xbf10(%rip), %rsi      # 0x1feee
leaq 0x10(%rsp), %rdx
leaq 0x50(%rsp), %rcx
movq %r13, %r8
movq %r14, %r9
xorl %eax, %eax
leaq 0x40(%rsp), %r10
pushq %r10
leaq 0x4c(%rsp), %r10
pushq %r10
callq 0x4590
addq $0x10, %rsp
cmpl $0x6, %eax
je 0x1401c
leaq 0xbeee(%rip), %rdi      # 0x1ff01
movl %ebp, %esi
xorl %eax, %eax
callq 0x8b1f
movss 0x50(%rsp), %xmm0
movss 0x10(%rsp), %xmm1
unpcklps %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
cvtps2pd %xmm1, %xmm0
movaps %xmm0, -0x20(%r15,%r12)
movss 0x48(%rsp), %xmm0
movss 0x4c(%rsp), %xmm1
unpcklps %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movss 0x40(%rsp), %xmm0
movss 0x44(%rsp), %xmm2
unpcklps %xmm0, %xmm2            # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
cvtps2pd %xmm1, %xmm0
cvtps2pd %xmm2, %xmm1
movapd %xmm0, -0x10(%r15,%r12)
movaps %xmm1, (%r15,%r12)
addq $0x30, %r15
incl %ebp
jmp 0x13fc7
movq %rbx, %rdi
callq 0x42e0
jmp 0x1408c
leaq 0xb28e(%rip), %rdi      # 0x1f30e
leaq 0x70(%rsp), %rsi
xorl %eax, %eax
callq 0x8e95
leaq 0x20b997d(%rip), %rbx   # 0x20cda10
leaq 0x88bd(%rip), %rdx      # 0x1c957
leaq 0x1527f(%rip), %rcx     # 0x29320
movl $0x1000, %esi           # imm = 0x1000
movq %rbx, %rdi
xorl %eax, %eax
callq 0x766f
movq %rbx, %rdi
callq 0x49c8
callq 0x6a5e
cmpb $0x1, 0x1633d(%rip)     # 0x2a401
jne 0x14381
leaq 0x1523f(%rip), %rax     # 0x29310
movq (%rax), %rsi
leaq 0xbe61(%rip), %rdi      # 0x1ff3c
xorl %eax, %eax
callq 0x8780
leaq 0xbe69(%rip), %rdi      # 0x1ff52
xorl %eax, %eax
callq 0x8780
leaq 0x1622d(%rip), %rax     # 0x2a324
movl (%rax), %esi
leaq 0xbeb7(%rip), %rdi      # 0x1ffb7
xorl %eax, %eax
callq 0x8780
leaq 0xb447(%rip), %rbx      # 0x1f555
leaq 0x20ac2ff(%rip), %rax   # 0x20c0414
cmpb $0x0, (%rax)
leaq 0xb378(%rip), %r14      # 0x1f497
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbeb3(%rip), %rdi      # 0x1ffe0
movq %r14, %rdx
xorl %eax, %eax
callq 0x8780
leaq 0x161e2(%rip), %rax     # 0x2a320
cmpb $0x0, (%rax)
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbeb6(%rip), %rdi      # 0x20005
movq %rbx, %rdx
xorl %eax, %eax
callq 0x8780
leaq 0x20ac2b0(%rip), %rax   # 0x20c0410
movl (%rax), %esi
leaq 0xbec1(%rip), %rdi      # 0x2002a
xorl %edx, %edx
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x20be89e(%rip)   # 0x20d2a17
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbec8(%rip), %rdi      # 0x2004f
movq %r14, %rdx
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x16268(%rip)     # 0x2a400
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbece(%rip), %rdi      # 0x20074
movq %rbx, %rdx
xorl %eax, %eax
callq 0x8780
leaq 0x15149(%rip), %rax     # 0x29300
movl (%rax), %esi
leaq 0xbed9(%rip), %rdi      # 0x20099
movl $0x2000000, %edx        # imm = 0x2000000
xorl %eax, %eax
callq 0x8780
leaq 0x20b939d(%rip), %rax   # 0x20cd570
movl (%rax), %eax
cmpl $-0x1, %eax
leaq 0xbee6(%rip), %rcx      # 0x200c5
leaq 0xbed8(%rip), %rdx      # 0x200be
cmovneq %rdx, %rcx
cmpl $0x1, %eax
leaq 0xbed5(%rip), %rsi      # 0x200c9
cmovneq %rcx, %rsi
leaq 0xbecf(%rip), %rdi      # 0x200ce
xorl %eax, %eax
callq 0x8780
leaq 0x89cb(%rip), %rdi      # 0x1cbd8
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x20be7fb(%rip)   # 0x20d2a16
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbeca(%rip), %rdi      # 0x200f3
movq %r14, %rdx
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x20be7d8(%rip)   # 0x20d2a12
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbed0(%rip), %rdi      # 0x20118
movq %r14, %rdx
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x20be7ba(%rip)   # 0x20d2a13
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbed6(%rip), %rdi      # 0x2013d
movq %r14, %rdx
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x20be798(%rip)   # 0x20d2a10
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbedc(%rip), %rdi      # 0x20162
movq %r14, %rdx
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x20be77a(%rip)   # 0x20d2a11
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbee2(%rip), %rdi      # 0x20187
movq %r14, %rdx
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x16152(%rip)     # 0x2a408
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbee8(%rip), %rdi      # 0x201ac
movq %rbx, %rdx
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x20be73f(%rip)   # 0x20d2a14
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbeee(%rip), %rdi      # 0x201d1
movq %r14, %rdx
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x20be721(%rip)   # 0x20d2a15
movq %r14, %rsi
cmovneq %rbx, %rsi
leaq 0xbef4(%rip), %rdi      # 0x201f6
movq %r14, %rdx
xorl %eax, %eax
callq 0x8780
movl 0x160f2(%rip), %esi     # 0x2a404
leaq 0xbf02(%rip), %rdi      # 0x2021b
pushq $0x40
popq %rbp
movl $0xf0, %edx
movl %ebp, %ecx
movl $0x200, %r8d            # imm = 0x200
xorl %eax, %eax
callq 0x8780
leaq 0x160d5(%rip), %rax     # 0x2a40c
movl (%rax), %esi
leaq 0xbf12(%rip), %rdi      # 0x20252
movl $0x400, %edx            # imm = 0x400
movl %ebp, %ecx
movl $0x10000, %r8d          # imm = 0x10000
xorl %eax, %eax
callq 0x8780
cmpb $0x0, 0x20be6bf(%rip)   # 0x20d2a1a
cmoveq %r14, %rbx
leaq 0xbf23(%rip), %rdi      # 0x20289
movq %rbx, %rsi
movq %r14, %rdx
xorl %eax, %eax
callq 0x8780
leaq 0x885d(%rip), %rdi      # 0x1cbd7
xorl %eax, %eax
callq 0x8780
leaq 0x8611(%rip), %rdx      # 0x1c999
leaq 0x14f91(%rip), %rcx     # 0x29320
xorl %r14d, %r14d
leaq 0x70(%rsp), %rbx
movl $0x1000, %esi           # imm = 0x1000
movq %rbx, %rdi
xorl %eax, %eax
callq 0x766f
leaq 0x8536(%rip), %rsi      # 0x1c8e3
movq %rbx, %rdi
callq 0x4380
testq %rax, %rax
je 0x14e4c
movq %rax, %rbx
movq %rax, %rdi
callq 0x8270
cltq
leaq 0xafdfe2(%rip), %r14    # 0xb123b4
movslq (%r14), %rdx
movq %rdx, %rcx
shlq $0x6, %rcx
cmpq %rax, %rcx
je 0x143f2
leaq 0xbb41(%rip), %rdi      # 0x1ff29
xorl %eax, %eax
callq 0x8b1f
movl (%r14), %edx
shll $0x6, %edx
leaq 0x20be624(%rip), %rsi   # 0x20d2a20
movq %rbx, %rdi
callq 0x835f
movq %rbx, %rdi
callq 0x42e0
callq 0x19bc3
leaq 0x15f28(%rip), %rbx     # 0x2a340
movq 0x30be601(%rip), %rdi   # 0x30d2a20
callq 0x15088
testq %rax, %rax
je 0x14d37
movq %rax, %rbp
movq 0x30be609(%rip), %rdi   # 0x30d2a40
callq 0x155d1
movq %rax, %r12
xorl %edi, %edi
leaq 0x15fe8(%rip), %r14     # 0x2a430
cmpl $0x200, (%r14)          # imm = 0x200
setl %dil
pushq $0x2b
popq %rsi
callq 0x92bb
leaq 0xa1e022(%rip), %rax    # 0xa32484
movl (%rax), %eax
movl %eax, 0x8(%rsp)
movslq (%r14), %r15
movq %r15, %rax
shlq $0x6, %rax
leaq 0x15fc7(%rip), %rdx     # 0x2a440
leaq (%rdx,%rax), %r13
andl $0x0, 0x20b957c(%rip)   # 0x20cda00
leal 0x1(%r15), %ecx
movl %ecx, (%r14)
movaps 0xaf4e(%rip), %xmm0     # 0x1f3e0
movaps %xmm0, (%rdx,%rax)
movsd 0x6bb2(%rip), %xmm0     # 0x1b050
movsd %xmm0, 0x10(%rdx,%rax)
movsd (%rbp), %xmm1
movsd 0x18(%rbp), %xmm0
ucomisd %xmm0, %xmm1
jbe 0x14984
pushq $0x4
popq %rdi
leaq 0xbdec(%rip), %rsi      # 0x202ae
movl %r15d, %edx
xorl %ecx, %ecx
xorl %eax, %eax
callq 0x9035
leaq 0x1b7deef(%rip), %r14   # 0x1b923c4
xorl %edx, %edx
testl %r15d, %r15d
sete %dl
movq %rbp, %rdi
movq %r12, %rsi
callq 0x1611a
movq %rax, %rbp
leaq 0x15f3e(%rip), %rax     # 0x2a430
cmpl $0x1, (%rax)
jne 0x1452b
cmpb $0x0, 0x20be514(%rip)   # 0x20d2a12
jne 0x1452b
cmpb $0x0, 0x20be50c(%rip)   # 0x20d2a13
jne 0x14511
movq %rbp, %rdi
callq 0x11b8d
xorl %esi, %esi
cmpb $0x0, 0x20be4ff(%rip)   # 0x20d2a19
sete %sil
movq %rbp, %rdi
xorl %edx, %edx
callq 0x112bd
movq %rax, %rbp
movq %rbp, %rdi
callq 0x1261f
movq %rbp, %rdi
callq 0x184c0
callq 0x18377
leaq 0x10bde81(%rip), %rax   # 0x10d23c8
movl (%rax), %eax
movl %eax, 0x24(%r13)
movl (%r14), %eax
movl %eax, 0x38(%r13)
movl 0x80(%rbp), %eax
movl %eax, 0x38(%rsp)
cmpl $-0x1, %eax
jne 0x14742
movq 0xa8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1457e
xorl %edi, %edi
pushq $0x16
popq %rsi
callq 0x92bb
leaq 0xafde2f(%rip), %rax    # 0xb123b4
cmpl $0x0, (%rax)
jne 0x14598
leaq 0xbd35(%rip), %rdi      # 0x202c6
xorl %eax, %eax
callq 0x8b1f
andl $0x0, 0x80(%rbp)
callq 0x1357c
movq %rax, 0x88(%rbp)
orl $-0x1, 0x80(%rax)
movq 0x88(%rbp), %rax
orl $-0x1, 0xa0(%rax)
movq 0x88(%rbp), %rax
xorl %r14d, %r14d
movb %r14b, 0x48(%rax)
movq 0x88(%rbp), %rax
movb $0x1, %cl
movb %cl, 0x49(%rax)
movq 0x88(%rbp), %rax
movb %r14b, 0x4a(%rax)
movq 0x88(%rbp), %rax
andq $0x0, 0x98(%rax)
pushq $0x1
popq %r12
movq %r12, %rdi
pushq $0x8
popq %rsi
callq 0x41e0
movq 0x88(%rbp), %rcx
movq %rax, 0xa8(%rcx)
movq 0x88(%rbp), %rax
andq $0x0, 0x50(%rax)
movq 0x88(%rbp), %rax
andq $0x0, 0x58(%rax)
movq 0x88(%rbp), %rax
andq $0x0, 0x60(%rax)
movq 0x88(%rbp), %rax
andq $0x0, 0x68(%rax)
movq 0x88(%rbp), %rax
andq $0x0, 0x70(%rax)
movq 0x88(%rbp), %rax
andq $0x0, 0x78(%rax)
callq 0x1357c
movq %rax, 0x90(%rbp)
orl $-0x1, 0x80(%rax)
movq 0x90(%rbp), %rax
orl $-0x1, 0xa0(%rax)
movq 0x90(%rbp), %rax
movb %r14b, 0x48(%rax)
movq 0x90(%rbp), %rax
movb $0x1, %cl
movb %cl, 0x49(%rax)
movq 0x90(%rbp), %rax
movb %r14b, 0x4a(%rax)
movq 0x90(%rbp), %rax
andq $0x0, 0x98(%rax)
movq %r12, %rdi
pushq $0x8
popq %rsi
callq 0x41e0
movq 0x90(%rbp), %rcx
movq %rax, 0xa8(%rcx)
movq 0x90(%rbp), %rax
andq $0x0, 0x50(%rax)
movq 0x90(%rbp), %rax
andq $0x0, 0x58(%rax)
movq 0x90(%rbp), %rax
andq $0x0, 0x60(%rax)
movq 0x90(%rbp), %rax
andq $0x0, 0x68(%rax)
movq 0x90(%rbp), %rax
andq $0x0, 0x70(%rax)
movq 0x90(%rbp), %rax
andq $0x0, 0x78(%rax)
andl $0x0, 0xa0(%rbp)
andw $0x0, 0x48(%rbp)
andq $0x0, 0x98(%rbp)
andq $0x0, 0xa8(%rbp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x70(%rbp)
movupd %xmm0, 0x60(%rbp)
movupd %xmm0, 0x50(%rbp)
leaq 0x1b7dc82(%rip), %r14   # 0x1b923c4
movq %rbp, %rdi
callq 0x1954f
movl (%r14), %eax
subl 0x38(%r13), %eax
movl %eax, 0x3c(%r13)
leaq 0xa1dd28(%rip), %rax    # 0xa32484
movl (%rax), %eax
subl 0x8(%rsp), %eax
movl %eax, 0x34(%r13)
cmpb $0x0, 0x20be2a9(%rip)   # 0x20d2a16
je 0x14a1d
orq $-0x1, 0x28(%r13)
orl $-0x1, 0x30(%r13)
movl %r15d, %edi
callq 0x7277
cmpq 0x1484c(%rip), %rax     # 0x28fd8
je 0x14894
movq %rax, %r14
movq %rax, %rdi
leaq 0xbb39(%rip), %rsi      # 0x202d8
callq 0x691b
cmpb $0x0, (%rax)
je 0x14894
xorpd %xmm0, %xmm0
movapd %xmm0, 0x70(%rsp)
andq $0x0, 0x80(%rsp)
movq %r14, %rdi
leaq 0x6e78(%rip), %rsi      # 0x1b642
callq 0x691b
movq %rax, %rdi
leaq 0xbb19(%rip), %rsi      # 0x202f2
leaq 0x70(%rsp), %rdx
leaq 0x78(%rsp), %rcx
leaq 0x80(%rsp), %r8
xorl %eax, %eax
callq 0x42d0
movq %r14, %rdi
leaq 0xbadc(%rip), %rsi      # 0x202d8
callq 0x691b
movq %rax, %rdi
leaq 0xbadb(%rip), %rsi      # 0x202e6
leaq 0x10(%rsp), %rdx
leaq 0x18(%rsp), %rcx
leaq 0x20(%rsp), %r8
leaq 0x50(%rsp), %r9
xorl %eax, %eax
leaq 0x60(%rsp), %r10
pushq %r10
leaq 0x60(%rsp), %r10
pushq %r10
callq 0x42d0
popq %rcx
popq %rdx
cmpl $0x6, %eax
jne 0x14894
movapd 0x70(%rsp), %xmm0
movsd 0x20(%rsp), %xmm1
movhpd 0x50(%rsp), %xmm1       # xmm1 = xmm1[0],mem[0]
movapd 0x10(%rsp), %xmm2
movupd 0x78(%rsp), %xmm3
movapd %xmm3, %xmm4
shufpd $0x1, %xmm0, %xmm4      # xmm4 = xmm4[1],xmm0[0]
unpcklpd %xmm3, %xmm0            # xmm0 = xmm0[0],xmm3[0]
subpd %xmm0, %xmm2
subpd %xmm4, %xmm1
cvtpd2ps %xmm1, %xmm0
cvtpd2ps %xmm2, %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
movapd %xmm1, (%r13)
movupd 0x58(%rsp), %xmm0
subpd %xmm3, %xmm0
cvtpd2ps %xmm0, %xmm0
movlpd %xmm0, 0x10(%r13)
cvtss2sd (%r13), %xmm0
cvtss2sd 0x4(%r13), %xmm1
cvtss2sd 0x8(%r13), %xmm2
cvtss2sd 0xc(%r13), %xmm3
cvtss2sd 0x10(%r13), %xmm4
cvtss2sd 0x14(%r13), %xmm5
pushq $0x3
popq %rdi
leaq 0xba3c(%rip), %rsi      # 0x202fe
movl %r15d, %edx
movb $0x6, %al
callq 0x9035
movss (%r13), %xmm0
ucomiss 0xc(%r13), %xmm0
jbe 0x14c19
leaq 0x15b4c(%rip), %r14     # 0x2a430
movl (%r14), %edi
decl %edi
callq 0x7277
movq %rax, %r15
movl (%r14), %ebp
decl %ebp
setne %al
cmpq 0x146d8(%rip), %r15     # 0x28fd8
sete %cl
leaq 0xba74(%rip), %r8       # 0x2037e
movq %r8, %r12
movq %r8, %r14
testq %r15, %r15
je 0x1495c
leaq 0xba62(%rip), %r8       # 0x2037e
movq %r8, %r12
movq %r8, %r14
andb %al, %cl
jne 0x1495c
movq %r15, %rdi
leaq 0x6c25(%rip), %rsi      # 0x1b555
callq 0x691b
movq %rax, %r14
movq %r15, %rdi
leaq 0x6d00(%rip), %rsi      # 0x1b642
callq 0x691b
movq %rax, %r12
movq %r15, %rdi
leaq 0x6d7c(%rip), %rsi      # 0x1b6d0
callq 0x691b
movq %rax, %r8
leaq 0xb9c7(%rip), %rdi      # 0x2032a
movl %ebp, %esi
movq %r14, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x8e95
xorps %xmm0, %xmm0
movaps %xmm0, (%r13)
andq $0x0, 0x10(%r13)
jmp 0x14418
movhpd 0x8(%rbp), %xmm1        # xmm1 = xmm1[0],mem[0]
subpd 0x159af(%rip), %xmm1    # 0x2a340
movsd 0x10(%rbp), %xmm2
subsd 0x159b2(%rip), %xmm2    # 0x2a350
movapd %xmm1, 0x70(%rsp)
movsd %xmm2, 0x80(%rsp)
movhpd 0x20(%rbp), %xmm0       # xmm0 = xmm0[0],mem[0]
movupd 0x1599e(%rip), %xmm1    # 0x2a358
subpd %xmm1, %xmm0
movapd %xmm0, 0x10(%rsp)
movsd 0x28(%rbp), %xmm0
subsd 0x15997(%rip), %xmm0    # 0x2a368
movsd %xmm0, 0x20(%rsp)
xorl %eax, %eax
leaq 0x1b7d9e4(%rip), %r14   # 0x1b923c4
movsd 0x97c8(%rip), %xmm2     # 0x1e1b0
cmpq $0x3, %rax
je 0x14ce2
movsd 0x70(%rsp,%rax,8), %xmm0
movsd 0x10(%rsp,%rax,8), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x14a18
addsd %xmm1, %xmm0
mulsd %xmm2, %xmm0
movsd %xmm0, 0x70(%rsp,%rax,8)
movsd %xmm0, 0x10(%rsp,%rax,8)
incq %rax
jmp 0x149e8
pushq $0x1
popq %rax
leaq 0x30bdff9(%rip), %r14   # 0x30d2a20
movl %eax, 0x20b8fd3(%rip)   # 0x20cda00
cmpl $0x3, %eax
jg 0x1477d
cltq
movq (%r14,%rax,8), %rdi
callq 0x15088
movq %rax, %r12
movslq 0x20b8fb5(%rip), %rax   # 0x20cda00
leaq 0x30bdfee(%rip), %rcx   # 0x30d2a40
movq (%rcx,%rax,8), %rdi
callq 0x155d1
movq %rax, %rbp
movslq 0x20b8f9b(%rip), %rcx   # 0x20cda00
movsd (%r12), %xmm1
movsd 0x18(%r12), %xmm0
ucomisd %xmm0, %xmm1
jbe 0x14b18
pushq $0x3
popq %rdi
leaq 0xb828(%rip), %rsi      # 0x202ae
movl %r15d, %edx
xorl %eax, %eax
callq 0x9035
xorl %edx, %edx
testl %r15d, %r15d
sete %dl
movq %r12, %rdi
movq %rbp, %rsi
callq 0x1611a
movq %rax, %r12
leaq 0x15983(%rip), %rax     # 0x2a430
cmpl $0x1, (%rax)
jne 0x14ad9
cmpb $0x0, 0x20bdf59(%rip)   # 0x20d2a12
jne 0x14ad9
xorl %esi, %esi
cmpb $0x0, 0x20bdf55(%rip)   # 0x20d2a19
sete %sil
movl 0x20b8f32(%rip), %edx   # 0x20cda00
movq %r12, %rdi
callq 0x112bd
movq %rax, %r12
movq %r12, %rdi
callq 0x1261f
cmpl $-0x1, 0x80(%r12)
je 0x14bfe
leaq 0x1cbd8c9(%rip), %rax   # 0x1cd23c0
movl (%rax), %eax
movslq 0x20b8f00(%rip), %rcx   # 0x20cda00
movl %eax, 0x24(%r13,%rcx,4)
movq %r12, %rdi
callq 0x19220
movl 0x20b8eed(%rip), %eax   # 0x20cda00
jmp 0x14c12
imulq $0x30, %rcx, %rax
movhpd 0x8(%r12), %xmm1        # xmm1 = xmm1[0],mem[0]
subpd (%rax,%rbx), %xmm1
movsd 0x10(%r12), %xmm2
subsd 0x10(%rax,%rbx), %xmm2
movapd %xmm1, 0x70(%rsp)
movsd %xmm2, 0x80(%rsp)
movhpd 0x20(%r12), %xmm0       # xmm0 = xmm0[0],mem[0]
movupd 0x18(%rax,%rbx), %xmm1
subpd %xmm1, %xmm0
movapd %xmm0, 0x10(%rsp)
movsd 0x28(%r12), %xmm0
subsd 0x28(%rax,%rbx), %xmm0
movsd %xmm0, 0x20(%rsp)
xorl %eax, %eax
movsd 0x9638(%rip), %xmm2     # 0x1e1b0
cmpq $0x3, %rax
je 0x14ba9
movsd 0x70(%rsp,%rax,8), %xmm0
movsd 0x10(%rsp,%rax,8), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x14ba4
addsd %xmm1, %xmm0
mulsd %xmm2, %xmm0
movsd %xmm0, 0x70(%rsp,%rax,8)
movsd %xmm0, 0x10(%rsp,%rax,8)
incq %rax
jmp 0x14b78
xorl %eax, %eax
cmpq $0x3, %rax
je 0x14a90
movss 0xc(%r13,%rax,4), %xmm0
cvtss2sd %xmm0, %xmm2
movsd 0x10(%rsp,%rax,8), %xmm1
ucomisd %xmm1, %xmm2
ja 0x14bd0
cvtsd2ss %xmm1, %xmm0
movss (%r13,%rax,4), %xmm1
movss %xmm0, 0xc(%r13,%rax,4)
cvtss2sd %xmm1, %xmm2
movsd 0x70(%rsp,%rax,8), %xmm0
ucomisd %xmm2, %xmm0
ja 0x14bf2
cvtsd2ss %xmm0, %xmm1
movss %xmm1, (%r13,%rax,4)
incq %rax
jmp 0x14bab
movl 0xa0(%r12), %ecx
movslq 0x20b8df3(%rip), %rax   # 0x20cda00
movl %ecx, 0x24(%r13,%rax,4)
incl %eax
jmp 0x14a27
cmpl $-0x1, 0x38(%rsp)
jne 0x14418
leaq 0x15805(%rip), %r14     # 0x2a430
movl (%r14), %edi
decl %edi
callq 0x7277
movq %rax, %r12
movl (%r14), %ebp
decl %ebp
setne %al
cmpq 0x14391(%rip), %r12     # 0x28fd8
sete %cl
leaq 0xb72d(%rip), %r8       # 0x2037e
movq %r8, %r14
movq %r8, %r15
testq %r12, %r12
je 0x14ca3
leaq 0xb71b(%rip), %r8       # 0x2037e
movq %r8, %r14
movq %r8, %r15
andb %al, %cl
jne 0x14ca3
movq %r12, %rdi
leaq 0x68de(%rip), %rsi      # 0x1b555
callq 0x691b
movq %rax, %r15
movq %r12, %rdi
leaq 0x69b9(%rip), %rsi      # 0x1b642
callq 0x691b
movq %rax, %r14
movq %r12, %rdi
leaq 0x6a35(%rip), %rsi      # 0x1b6d0
callq 0x691b
movq %rax, %r8
cvtss2sd (%r13), %xmm0
cvtss2sd 0x4(%r13), %xmm1
cvtss2sd 0x8(%r13), %xmm2
cvtss2sd 0xc(%r13), %xmm3
cvtss2sd 0x10(%r13), %xmm4
cvtss2sd 0x14(%r13), %xmm5
leaq 0xb6b8(%rip), %rdi      # 0x20386
movl %ebp, %esi
movq %r15, %rdx
movq %r14, %rcx
movb $0x6, %al
callq 0x8e95
jmp 0x14418
xorl %eax, %eax
cmpq $0x3, %rax
je 0x144d5
movss 0xc(%r13,%rax,4), %xmm0
cvtss2sd %xmm0, %xmm2
movsd 0x10(%rsp,%rax,8), %xmm1
ucomisd %xmm1, %xmm2
ja 0x14d09
cvtsd2ss %xmm1, %xmm0
movss (%r13,%rax,4), %xmm1
movss %xmm0, 0xc(%r13,%rax,4)
cvtss2sd %xmm1, %xmm2
movsd 0x70(%rsp,%rax,8), %xmm0
ucomisd %xmm2, %xmm0
ja 0x14d2b
cvtsd2ss %xmm0, %xmm1
movss %xmm1, (%r13,%rax,4)
incq %rax
jmp 0x14ce4
callq 0x19c5b
leaq 0x145dd(%rip), %r14     # 0x29320
leaq 0x1070(%rsp), %r15
leaq 0xb195(%rip), %r12      # 0x1fee7
xorl %ebp, %ebp
xorl %r13d, %r13d
cmpq $0x4, %r13
je 0x14dce
movq %r15, %rdi
leaq 0xb16b(%rip), %rsi      # 0x1fed2
movq %r14, %rdx
movl %r13d, %ecx
xorl %eax, %eax
callq 0x40b0
leaq 0x30bdca5(%rip), %rbx   # 0x30d2a20
movq (%rbp,%rbx), %rdi
callq 0x42e0
andq $0x0, (%rbp,%rbx)
movq %r15, %rdi
callq 0x4150
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
movl %r13d, %ecx
xorl %eax, %eax
callq 0x40b0
leaq 0x30bdc93(%rip), %rbx   # 0x30d2a40
movq (%rbp,%rbx), %rdi
callq 0x42e0
andq $0x0, (%rbp,%rbx)
movq %r15, %rdi
callq 0x4150
incq %r13
addq $0x8, %rbp
jmp 0x14d57
leaq 0x7bbd(%rip), %rdx      # 0x1c992
leaq 0x14544(%rip), %rbx     # 0x29320
leaq 0x1070(%rsp), %r14
movl $0x1000, %esi           # imm = 0x1000
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x766f
movq %r14, %rdi
callq 0x4150
leaq 0x7b94(%rip), %rdx      # 0x1c999
movl $0x1000, %esi           # imm = 0x1000
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x766f
movq %r14, %rdi
callq 0x4150
callq 0x72f8
subsd 0x30(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
callq 0x9361
callq 0x11160
xorl %eax, %eax
addq $0x2078, %rsp           # imm = 0x2078
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa4bb(%rip), %rdi      # 0x1f30e
leaq 0x70(%rsp), %rsi
xorl %eax, %eax
callq 0x8e95
leaq 0xafd54e(%rip), %rax    # 0xb123b4
movl (%rax), %eax
testl %eax, %eax
cmovlel %r14d, %eax
shlq $0x6, %rax
leaq 0xafd547(%rip), %rcx    # 0xb123c0
addq $0x10, %rcx
leaq 0x20bdb9c(%rip), %rdx   # 0x20d2a20
cmpq %r14, %rax
je 0x1440c
cvtps2pd -0x10(%rcx), %xmm0
movaps %xmm0, (%r14,%rdx)
cvtss2sd -0x8(%rcx), %xmm0
movsd %xmm0, 0x10(%r14,%rdx)
cvtss2sd -0x4(%rcx), %xmm0
movsd %xmm0, 0x30(%r14,%rdx)
movl (%rcx), %esi
movl %esi, 0x38(%r14,%rdx)
addq $0x14, %rcx
addq $0x40, %r14
jmp 0x14e84
callq 0x14ef6
leaq 0xa6b7(%rip), %rdi      # 0x1f582
xorl %eax, %eax
callq 0x8780
callq 0x14ef6
leaq 0xa905(%rip), %rdi      # 0x1f7e3
jmp 0x14ecb
leaq 0xa8e7(%rip), %rdi      # 0x1f7ce
movq %rbp, %rsi
xorl %eax, %eax
callq 0x8780
callq 0x14ef6