// File: /workspace/github_cpp_makefile_star2_O1/Ciaxur[P]yagb-emu/include/imgui/imgui.cpp
// Function: ImGui::NewFrame()
void ImGui::NewFrame()
{
    IM_ASSERT(GImGui != NULL && "No current context. Did you call ImGui::CreateContext() and ImGui::SetCurrentContext() ?");
    ImGuiContext& g = *GImGui;

    CallContextHooks(&g, ImGuiContextHookType_NewFramePre);

    // Check and assert for various common IO and Configuration mistakes
    ErrorCheckNewFrameSanityChecks();

    // Load settings on first frame, save settings when modified (after a delay)
    UpdateSettings();

    g.Time += g.IO.DeltaTime;
    g.WithinFrameScope = true;
    g.FrameCount += 1;
    g.TooltipOverrideCount = 0;
    g.WindowsActiveCount = 0;
    g.MenusIdSubmittedThisFrame.resize(0);

    // Calculate frame-rate for the user, as a purely luxurious feature
    g.FramerateSecPerFrameAccum += g.IO.DeltaTime - g.FramerateSecPerFrame[g.FramerateSecPerFrameIdx];
    g.FramerateSecPerFrame[g.FramerateSecPerFrameIdx] = g.IO.DeltaTime;
    g.FramerateSecPerFrameIdx = (g.FramerateSecPerFrameIdx + 1) % IM_ARRAYSIZE(g.FramerateSecPerFrame);
    g.IO.Framerate = (g.FramerateSecPerFrameAccum > 0.0f) ? (1.0f / (g.FramerateSecPerFrameAccum / (float)IM_ARRAYSIZE(g.FramerateSecPerFrame))) : FLT_MAX;

    // Setup current font and draw list shared data
    g.IO.Fonts->Locked = true;
    SetCurrentFont(GetDefaultFont());
    IM_ASSERT(g.Font->IsLoaded());
    g.DrawListSharedData.ClipRectFullscreen = ImVec4(0.0f, 0.0f, g.IO.DisplaySize.x, g.IO.DisplaySize.y);
    g.DrawListSharedData.CurveTessellationTol = g.Style.CurveTessellationTol;
    g.DrawListSharedData.SetCircleSegmentMaxError(g.Style.CircleSegmentMaxError);
    g.DrawListSharedData.InitialFlags = ImDrawListFlags_None;
    if (g.Style.AntiAliasedLines)
        g.DrawListSharedData.InitialFlags |= ImDrawListFlags_AntiAliasedLines;
    if (g.Style.AntiAliasedLinesUseTex && !(g.Font->ContainerAtlas->Flags & ImFontAtlasFlags_NoBakedLines))
        g.DrawListSharedData.InitialFlags |= ImDrawListFlags_AntiAliasedLinesUseTex;
    if (g.Style.AntiAliasedFill)
        g.DrawListSharedData.InitialFlags |= ImDrawListFlags_AntiAliasedFill;
    if (g.IO.BackendFlags & ImGuiBackendFlags_RendererHasVtxOffset)
        g.DrawListSharedData.InitialFlags |= ImDrawListFlags_AllowVtxOffset;

    g.BackgroundDrawList._ResetForNewFrame();
    g.BackgroundDrawList.PushTextureID(g.IO.Fonts->TexID);
    g.BackgroundDrawList.PushClipRectFullScreen();

    g.ForegroundDrawList._ResetForNewFrame();
    g.ForegroundDrawList.PushTextureID(g.IO.Fonts->TexID);
    g.ForegroundDrawList.PushClipRectFullScreen();

    // Mark rendering data as invalid to prevent user who may have a handle on it to use it.
    g.DrawData.Clear();

    // Drag and drop keep the source ID alive so even if the source disappear our state is consistent
    if (g.DragDropActive && g.DragDropPayload.SourceId == g.ActiveId)
        KeepAliveID(g.DragDropPayload.SourceId);

    // Update HoveredId data
    if (!g.HoveredIdPreviousFrame)
        g.HoveredIdTimer = 0.0f;
    if (!g.HoveredIdPreviousFrame || (g.HoveredId && g.ActiveId == g.HoveredId))
        g.HoveredIdNotActiveTimer = 0.0f;
    if (g.HoveredId)
        g.HoveredIdTimer += g.IO.DeltaTime;
    if (g.HoveredId && g.ActiveId != g.HoveredId)
        g.HoveredIdNotActiveTimer += g.IO.DeltaTime;
    g.HoveredIdPreviousFrame = g.HoveredId;
    g.HoveredIdPreviousFrameUsingMouseWheel = g.HoveredIdUsingMouseWheel;
    g.HoveredId = 0;
    g.HoveredIdAllowOverlap = false;
    g.HoveredIdUsingMouseWheel = false;
    g.HoveredIdDisabled = false;

    // Update ActiveId data (clear reference to active widget if the widget isn't alive anymore)
    if (g.ActiveIdIsAlive != g.ActiveId && g.ActiveIdPreviousFrame == g.ActiveId && g.ActiveId != 0)
        ClearActiveID();
    if (g.ActiveId)
        g.ActiveIdTimer += g.IO.DeltaTime;
    g.LastActiveIdTimer += g.IO.DeltaTime;
    g.ActiveIdPreviousFrame = g.ActiveId;
    g.ActiveIdPreviousFrameWindow = g.ActiveIdWindow;
    g.ActiveIdPreviousFrameHasBeenEditedBefore = g.ActiveIdHasBeenEditedBefore;
    g.ActiveIdIsAlive = 0;
    g.ActiveIdHasBeenEditedThisFrame = false;
    g.ActiveIdPreviousFrameIsAlive = false;
    g.ActiveIdIsJustActivated = false;
    if (g.TempInputId != 0 && g.ActiveId != g.TempInputId)
        g.TempInputId = 0;
    if (g.ActiveId == 0)
    {
        g.ActiveIdUsingNavDirMask = 0x00;
        g.ActiveIdUsingNavInputMask = 0x00;
        g.ActiveIdUsingKeyInputMask = 0x00;
    }

    // Drag and drop
    g.DragDropAcceptIdPrev = g.DragDropAcceptIdCurr;
    g.DragDropAcceptIdCurr = 0;
    g.DragDropAcceptIdCurrRectSurface = FLT_MAX;
    g.DragDropWithinSource = false;
    g.DragDropWithinTarget = false;
    g.DragDropHoldJustPressedId = 0;

    // Update keyboard input state
    // Synchronize io.KeyMods with individual modifiers io.KeyXXX bools
    g.IO.KeyMods = GetMergedKeyModFlags();
    memcpy(g.IO.KeysDownDurationPrev, g.IO.KeysDownDuration, sizeof(g.IO.KeysDownDuration));
    for (int i = 0; i < IM_ARRAYSIZE(g.IO.KeysDown); i++)
        g.IO.KeysDownDuration[i] = g.IO.KeysDown[i] ? (g.IO.KeysDownDuration[i] < 0.0f ? 0.0f : g.IO.KeysDownDuration[i] + g.IO.DeltaTime) : -1.0f;

    // Update gamepad/keyboard navigation
    NavUpdate();

    // Update mouse input state
    UpdateMouseInputs();

    // Find hovered window
    // (needs to be before UpdateMouseMovingWindowNewFrame so we fill g.HoveredWindowUnderMovingWindow on the mouse release frame)
    UpdateHoveredWindowAndCaptureFlags();

    // Handle user moving window with mouse (at the beginning of the frame to avoid input lag or sheering)
    UpdateMouseMovingWindowNewFrame();

    // Background darkening/whitening
    if (GetTopMostPopupModal() != NULL || (g.NavWindowingTarget != NULL && g.NavWindowingHighlightAlpha > 0.0f))
        g.DimBgRatio = ImMin(g.DimBgRatio + g.IO.DeltaTime * 6.0f, 1.0f);
    else
        g.DimBgRatio = ImMax(g.DimBgRatio - g.IO.DeltaTime * 10.0f, 0.0f);

    g.MouseCursor = ImGuiMouseCursor_Arrow;
    g.WantCaptureMouseNextFrame = g.WantCaptureKeyboardNextFrame = g.WantTextInputNextFrame = -1;
    g.PlatformImePos = ImVec2(1.0f, 1.0f); // OS Input Method Editor showing on top-left of our window by default

    // Mouse wheel scrolling, scale
    UpdateMouseWheel();

    // Update legacy TAB focus
    UpdateTabFocus();

    // Mark all windows as not visible and compact unused memory.
    IM_ASSERT(g.WindowsFocusOrder.Size == g.Windows.Size);
    const float memory_compact_start_time = (g.GcCompactAll || g.IO.ConfigMemoryCompactTimer < 0.0f) ? FLT_MAX : (float)g.Time - g.IO.ConfigMemoryCompactTimer;
    for (int i = 0; i != g.Windows.Size; i++)
    {
        ImGuiWindow* window = g.Windows[i];
        window->WasActive = window->Active;
        window->BeginCount = 0;
        window->Active = false;
        window->WriteAccessed = false;

        // Garbage collect transient buffers of recently unused windows
        if (!window->WasActive && !window->MemoryCompacted && window->LastTimeActive < memory_compact_start_time)
            GcCompactTransientWindowBuffers(window);
    }

    // Garbage collect transient buffers of recently unused tables
    for (int i = 0; i < g.TablesLastTimeActive.Size; i++)
        if (g.TablesLastTimeActive[i] >= 0.0f && g.TablesLastTimeActive[i] < memory_compact_start_time)
            TableGcCompactTransientBuffers(g.Tables.GetByIndex(i));
    if (g.GcCompactAll)
        GcCompactTransientMiscBuffers();
    g.GcCompactAll = false;

    // Closing the focused window restore focus to the first active root window in descending z-order
    if (g.NavWindow && !g.NavWindow->WasActive)
        FocusTopMostWindowUnderOne(NULL, NULL);

    // No window should be open at the beginning of the frame.
    // But in order to allow the user to call NewFrame() multiple times without calling Render(), we are doing an explicit clear.
    g.CurrentWindowStack.resize(0);
    g.BeginPopupStack.resize(0);
    g.ItemFlagsStack.resize(0);
    g.ItemFlagsStack.push_back(ImGuiItemFlags_Default_);
    g.GroupStack.resize(0);
    ClosePopupsOverWindow(g.NavWindow, false);

    // [DEBUG] Item picker tool - start with DebugStartItemPicker() - useful to visually select an item and break into its call-stack.
    UpdateDebugToolItemPicker();

    // Create implicit/fallback window - which we will only render it if the user has added something to it.
    // We don't use "Debug" to avoid colliding with user trying to create a "Debug" window with custom flags.
    // This fallback is particularly important as it avoid ImGui:: calls from crashing.
    g.WithinFrameScopeWithImplicitWindow = true;
    SetNextWindowSize(ImVec2(400, 400), ImGuiCond_FirstUseEver);
    Begin("Debug##Default");
    IM_ASSERT(g.CurrentWindow->IsFallbackWindow == true);

    CallContextHooks(&g, ImGuiContextHookType_NewFramePost);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq 0xb51f9(%rip), %rbx     # 0xfdcd0
testq %rbx, %rbx
je 0x4be83
cmpl $0x0, 0x3128(%rbx)
jle 0x48b1c
xorl %r14d, %r14d
xorl %r15d, %r15d
movq 0x3130(%rbx), %rax
cmpl $0x0, (%rax,%r14)
jne 0x48b09
leaq (%rax,%r14), %rsi
movq %rbx, %rdi
callq *0x8(%rax,%r14)
incq %r15
movslq 0x3128(%rbx), %rax
addq $0x18, %r14
cmpq %rax, %r15
jl 0x48aef
movq 0xb51ad(%rip), %r14     # 0xfdcd0
cmpb $0x0, (%r14)
je 0x4bea2
movss 0x18(%r14), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
ja 0x48b49
cmpl $0x0, 0x1a68(%r14)
jne 0x4c092
movl 0x1a68(%r14), %eax
testl %eax, %eax
je 0x48b61
cmpl %eax, 0x1a6c(%r14)
jne 0x4c035
movss 0x10(%r14), %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm0, %xmm1
jb 0x4be26
movss 0x14(%r14), %xmm1
ucomiss %xmm0, %xmm1
jb 0x4be26
movq 0xa8(%r14), %rax
cmpl $0x0, 0x40(%rax)
jle 0x4bec1
movq 0x48(%rax), %rax
movq (%rax), %rax
cmpq $0x0, 0x40(%rax)
je 0x4bee0
movss 0x161c(%r14), %xmm1
ucomiss %xmm0, %xmm1
jbe 0x4beff
movss 0x1620(%r14), %xmm1
ucomiss %xmm0, %xmm1
jbe 0x4bf1e
movss 0x1560(%r14), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jb 0x4bf3d
movss 0x6e3fe(%rip), %xmm1    # 0xb6fe4
ucomiss %xmm0, %xmm1
jb 0x4bf3d
movss 0x1574(%r14), %xmm0
ucomiss 0x6e3e5(%rip), %xmm0    # 0xb6fe4
jb 0x4be45
movss 0x1578(%r14), %xmm0
ucomiss 0x6e3cf(%rip), %xmm0    # 0xb6fe4
jb 0x4be45
movl 0x1584(%r14), %eax
incl %eax
cmpl $0x3, %eax
jae 0x4c128
xorl %eax, %eax
movl 0x3c(%r14,%rax,4), %ecx
incl %ecx
cmpl $0x201, %ecx            # imm = 0x201
jae 0x4bdb2
incq %rax
cmpq $0x16, %rax
jne 0x48c2f
testb $0x1, 0x8(%r14)
je 0x48c5d
cmpl $-0x1, 0x6c(%r14)
je 0x4c0b1
cmpb $0x1, 0xcc(%r14)
jne 0x48c76
testb $0x2, 0xc(%r14)
jne 0x48c76
movb $0x0, 0xcc(%r14)
cmpb $0x0, 0x30e1(%r14)
jne 0x48ca4
cmpl $0x0, 0x3108(%r14)
jne 0x4c0d0
movq 0x20(%r14), %rdi
testq %rdi, %rdi
je 0x48c9c
callq 0x5a619
movb $0x1, 0x30e1(%r14)
movss 0x30e4(%r14), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x48cec
subss 0x18(%r14), %xmm0
movss %xmm0, 0x30e4(%r14)
ucomiss %xmm0, %xmm1
jb 0x48cec
movq 0x20(%r14), %rdi
testq %rdi, %rdi
je 0x48cd9
callq 0x50c72
jmp 0x48ce1
movb $0x1, 0x39c(%r14)
movl $0x0, 0x30e4(%r14)
xorps %xmm0, %xmm0
cvtss2sd 0x18(%rbx), %xmm0
addsd 0x1a60(%rbx), %xmm0
movsd %xmm0, 0x1a60(%rbx)
movb $0x1, 0x1a74(%rbx)
incl 0x1a68(%rbx)
xorl %r15d, %r15d
movl %r15d, 0x30a8(%rbx)
movl %r15d, 0x1ad8(%rbx)
movl 0x30c4(%rbx), %eax
testl %eax, %eax
jns 0x48dc3
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
addl %eax, %ecx
testl %ecx, %ecx
cmovgl %ecx, %r15d
leaq (,%r15,4), %rdi
movq 0xb4f80(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x48d5b
incl 0x3b4(%rax)
movq 0xb4f7e(%rip), %rsi     # 0xfdce0
callq *0xb07a8(%rip)          # 0xf9510
movq %rax, %r14
movq 0x30c8(%rbx), %rsi
testq %rsi, %rsi
je 0x48db5
movslq 0x30c0(%rbx), %rdx
shlq $0x2, %rdx
movq %r14, %rdi
callq 0xc080
movq 0x30c8(%rbx), %rdi
testq %rdi, %rdi
je 0x48da8
movq 0xb4f33(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x48da8
decl 0x3b4(%rax)
movq 0xb4f31(%rip), %rsi     # 0xfdce0
callq *0xb0763(%rip)          # 0xf9518
movq %r14, 0x30c8(%rbx)
movl %r15d, 0x30c4(%rbx)
movl $0x0, 0x30c0(%rbx)
movss 0x18(%rbx), %xmm0
movslq 0x3364(%rbx), %rax
movaps %xmm0, %xmm1
subss 0x3184(%rbx,%rax,4), %xmm1
addss 0x3368(%rbx), %xmm1
movss %xmm1, 0x3368(%rbx)
movss %xmm0, 0x3184(%rbx,%rax,4)
leal 0x1(%rax), %ecx
movslq %ecx, %rcx
imulq $-0x77777777, %rcx, %rdx # imm = 0x88888889
shrq $0x20, %rdx
addl %edx, %eax
incl %eax
movl %eax, %edx
shrl $0x1f, %edx
sarl $0x6, %eax
addl %edx, %eax
imull $0x78, %eax, %eax
subl %eax, %ecx
movl %ecx, 0x3364(%rbx)
movss 0x3368(%rbx), %xmm0
xorps %xmm1, %xmm1
cmpltss %xmm0, %xmm1
divss 0x6ea30(%rip), %xmm0    # 0xb7870
movss 0x6e19c(%rip), %xmm2    # 0xb6fe4
divss %xmm0, %xmm2
andps %xmm1, %xmm2
movss 0x6e9e9(%rip), %xmm0    # 0xb7840
andnps %xmm0, %xmm1
orps %xmm2, %xmm1
movss %xmm1, 0x3a0(%rbx)
movq 0xa8(%rbx), %rax
movb $0x1, (%rax)
movq 0xb4e5a(%rip), %rax     # 0xfdcd0
movq 0xb8(%rax), %rdi
testq %rdi, %rdi
jne 0x48e9a
movq 0xa8(%rax), %rax
cmpl $0x0, 0x40(%rax)
jle 0x4c10e
movq 0x48(%rax), %rax
movq (%rax), %rdi
callq 0x4c185
movq 0x1978(%rbx), %rax
cmpq $0x0, 0x40(%rax)
je 0x4bf5c
movq 0x10(%rbx), %rax
leaq 0x1988(%rbx), %rdi
movq $0x0, 0x19a4(%rbx)
movq %rax, 0x19ac(%rbx)
movss 0x161c(%rbx), %xmm0
movss %xmm0, 0x199c(%rbx)
movss 0x1620(%rbx), %xmm0
callq 0x765ec
movzbl 0x1618(%rbx), %eax
movl %eax, 0x19b4(%rbx)
cmpb $0x1, 0x1619(%rbx)
jne 0x48f1b
movq 0x1978(%rbx), %rcx
movq 0x40(%rcx), %rcx
testb $0x4, 0x4(%rcx)
jne 0x48f1b
orl $0x2, %eax
movl %eax, 0x19b4(%rbx)
cmpb $0x1, 0x161a(%rbx)
jne 0x48f2b
orb $0x4, 0x19b4(%rbx)
testb $0x8, 0xc(%rbx)
je 0x48f38
orb $0x8, 0x19b4(%rbx)
leaq 0x1e70(%rbx), %r14
movq %r14, %rdi
callq 0x76670
movq 0xa8(%rbx), %rax
movq 0x8(%rax), %rsi
movq %r14, %rdi
callq 0x77348
movq %r14, %rdi
callq 0x772ce
leaq 0x1f38(%rbx), %r14
movq %r14, %rdi
callq 0x76670
movq 0xa8(%rbx), %rax
movq 0x8(%rax), %rsi
movq %r14, %rdi
callq 0x77348
movq %r14, %rdi
callq 0x772ce
movb $0x0, 0x1e10(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x1e18(%rbx)
movups %xmm0, 0x1e28(%rbx)
movups %xmm0, 0x1e34(%rbx)
cmpb $0x1, 0x2004(%rbx)
jne 0x48fe6
movl 0x2024(%rbx), %eax
cmpl 0x1b30(%rbx), %eax
jne 0x48fe6
movq 0xb4d07(%rip), %rcx     # 0xfdcd0
cmpl %eax, 0x1b30(%rcx)
jne 0x48fd7
movl %eax, 0x1b34(%rcx)
cmpl %eax, 0x1b70(%rcx)
jne 0x48fe6
movb $0x1, 0x1b74(%rcx)
cmpl $0x0, 0x1b20(%rbx)
je 0x49003
movl 0x1b1c(%rbx), %eax
testl %eax, %eax
je 0x49017
cmpl %eax, 0x1b30(%rbx)
je 0x4900d
jmp 0x49017
movl $0x0, 0x1b28(%rbx)
movl $0x0, 0x1b2c(%rbx)
movl 0x1b1c(%rbx), %eax
testl %eax, %eax
je 0x49053
movss 0x18(%rbx), %xmm0
addss 0x1b28(%rbx), %xmm0
movss %xmm0, 0x1b28(%rbx)
cmpl %eax, 0x1b30(%rbx)
je 0x49053
movss 0x18(%rbx), %xmm0
addss 0x1b2c(%rbx), %xmm0
movss %xmm0, 0x1b2c(%rbx)
movl %eax, 0x1b20(%rbx)
movb 0x1b25(%rbx), %al
movb %al, 0x1b26(%rbx)
movl $0x0, 0x1b1c(%rbx)
movw $0x0, 0x1b24(%rbx)
movb $0x0, 0x1b27(%rbx)
movl 0x1b30(%rbx), %eax
cmpl %eax, 0x1b34(%rbx)
je 0x490a2
testl %eax, %eax
je 0x490a2
cmpl %eax, 0x1b70(%rbx)
jne 0x490a2
xorl %edi, %edi
xorl %esi, %esi
callq 0x46b95
movl 0x1b30(%rbx), %eax
testl %eax, %eax
je 0x490c1
movss 0x18(%rbx), %xmm0
addss 0x1b38(%rbx), %xmm0
movss %xmm0, 0x1b38(%rbx)
movss 0x18(%rbx), %xmm0
addss 0x1b84(%rbx), %xmm0
movss %xmm0, 0x1b84(%rbx)
movl %eax, 0x1b70(%rbx)
movq 0x1b60(%rbx), %rcx
movq %rcx, 0x1b78(%rbx)
movb 0x1b40(%rbx), %cl
movb %cl, 0x1b75(%rbx)
movl $0x0, 0x1b34(%rbx)
xorl %ecx, %ecx
movb %cl, 0x1b41(%rbx)
movb %cl, 0x1b74(%rbx)
movb %cl, 0x1b3c(%rbx)
movl 0x3068(%rbx), %ecx
testl %ecx, %ecx
sete %dl
cmpl %ecx, %eax
sete %cl
orb %dl, %cl
jne 0x49132
movl $0x0, 0x3068(%rbx)
testl %eax, %eax
jne 0x49146
xorl %eax, %eax
movq %rax, 0x1b44(%rbx)
movq %rax, 0x1b50(%rbx)
movl 0x2074(%rbx), %eax
movl %eax, 0x2078(%rbx)
movq $0x7f7fffff, 0x2070(%rbx) # imm = 0x7F7FFFFF
movw $0x0, 0x2005(%rbx)
movl $0x0, 0x2080(%rbx)
movq 0xb4b59(%rip), %r15     # 0xfdcd0
movzbl 0x140(%r15), %eax
leal 0x2(%rax), %ecx
cmpb $0x0, 0x141(%r15)
cmovel %eax, %ecx
cmpb $0x0, 0x142(%r15)
leal 0x4(%rcx), %eax
cmovel %ecx, %eax
leal 0x8(%rax), %ecx
cmpb $0x0, 0x143(%r15)
cmovel %eax, %ecx
movl %ecx, 0x3c0(%rbx)
leaq 0xca0(%rbx), %rdi
leaq 0x4a0(%rbx), %rsi
movl $0x800, %edx            # imm = 0x800
callq 0xc080
movl $0x144, %eax            # imm = 0x144
movss 0x6ddfc(%rip), %xmm0    # 0xb6fd0
cmpb $0x1, (%rbx,%rax)
movaps %xmm0, %xmm1
jne 0x491f3
movss -0x70(%rbx,%rax,4), %xmm2
xorps %xmm1, %xmm1
ucomiss %xmm2, %xmm1
ja 0x491f3
addss 0x18(%rbx), %xmm2
movaps %xmm2, %xmm1
movss %xmm1, -0x70(%rbx,%rax,4)
incq %rax
cmpq $0x344, %rax            # imm = 0x344
jne 0x491d4
movb $0x0, 0x39b(%r15)
movq $0x0, 0x1db0(%r15)
movl $0x0, 0x1db8(%r15)
movl 0x8(%r15), %r12d
testb $0x2, %r12b
jne 0x49230
xorl %eax, %eax
jmp 0x49236
movb 0xc(%r15), %al
andb $0x1, %al
movl %eax, -0x40(%rbp)
testb %al, %al
je 0x492c9
cmpl $0x4, 0x1cc4(%r15)
je 0x492c9
movss 0x344(%r15), %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm0, %xmm1
ja 0x492be
movss 0x34c(%r15), %xmm1
ucomiss %xmm0, %xmm1
ja 0x492be
movss 0x348(%r15), %xmm1
ucomiss %xmm0, %xmm1
ja 0x492be
movss 0x350(%r15), %xmm1
ucomiss %xmm0, %xmm1
ja 0x492be
movss 0x354(%r15), %xmm1
ucomiss %xmm0, %xmm1
ja 0x492be
movss 0x358(%r15), %xmm1
ucomiss %xmm0, %xmm1
ja 0x492be
movss 0x35c(%r15), %xmm1
ucomiss %xmm0, %xmm1
ja 0x492be
movss 0x360(%r15), %xmm1
ucomiss %xmm0, %xmm1
jbe 0x492c9
movl $0x4, 0x1cc4(%r15)
testb $0x1, %r12b
je 0x4948a
movslq 0x6c(%r15), %rax
testq %rax, %rax
js 0x49308
cmpl $0x200, %eax            # imm = 0x200
jge 0x4be07
cmpb $0x1, 0x144(%r15,%rax)
jne 0x49308
movl $0x3f800000, 0x344(%r15) # imm = 0x3F800000
movl $0x3, 0x1cc4(%r15)
movslq 0x70(%r15), %rax
testq %rax, %rax
js 0x4933d
cmpl $0x200, %eax            # imm = 0x200
jge 0x4be07
cmpb $0x1, 0x144(%r15,%rax)
jne 0x4933d
movl $0x3f800000, 0x34c(%r15) # imm = 0x3F800000
movl $0x3, 0x1cc4(%r15)
movslq 0x74(%r15), %rax
testq %rax, %rax
js 0x49372
cmpl $0x200, %eax            # imm = 0x200
jge 0x4be07
cmpb $0x1, 0x144(%r15,%rax)
jne 0x49372
movl $0x3f800000, 0x348(%r15) # imm = 0x3F800000
movl $0x3, 0x1cc4(%r15)
movslq 0x40(%r15), %rax
testq %rax, %rax
js 0x493a7
cmpl $0x200, %eax            # imm = 0x200
jge 0x4be07
cmpb $0x1, 0x144(%r15,%rax)
jne 0x493a7
movl $0x3f800000, 0x388(%r15) # imm = 0x3F800000
movl $0x3, 0x1cc4(%r15)
movslq 0x44(%r15), %rax
testq %rax, %rax
js 0x493dc
cmpl $0x200, %eax            # imm = 0x200
jge 0x4be07
cmpb $0x1, 0x144(%r15,%rax)
jne 0x493dc
movl $0x3f800000, 0x38c(%r15) # imm = 0x3F800000
movl $0x3, 0x1cc4(%r15)
movslq 0x48(%r15), %rax
testq %rax, %rax
js 0x49411
cmpl $0x200, %eax            # imm = 0x200
jge 0x4be07
cmpb $0x1, 0x144(%r15,%rax)
jne 0x49411
movl $0x3f800000, 0x390(%r15) # imm = 0x3F800000
movl $0x3, 0x1cc4(%r15)
movslq 0x4c(%r15), %rax
testq %rax, %rax
js 0x49446
cmpl $0x200, %eax            # imm = 0x200
jge 0x4be07
cmpb $0x1, 0x144(%r15,%rax)
jne 0x49446
movl $0x3f800000, 0x394(%r15) # imm = 0x3F800000
movl $0x3, 0x1cc4(%r15)
movb 0x140(%r15), %al
cmpb $0x1, %al
jne 0x4945c
movl $0x3f800000, 0x37c(%r15) # imm = 0x3F800000
cmpb $0x1, 0x141(%r15)
jne 0x49471
movl $0x3f800000, 0x380(%r15) # imm = 0x3F800000
testb %al, %al
jne 0x4948a
cmpb $0x0, 0x142(%r15)
je 0x4948a
movl $0x3f800000, 0x384(%r15) # imm = 0x3F800000
leaq 0x14f4(%r15), %rdi
leaq 0x14a0(%r15), %rax
movl $0x15, %ecx
movq %rax, %rsi
rep  movsl (%rsi), %es:(%rdi)
xorl %ecx, %ecx
movss 0x6db24(%rip), %xmm0    # 0xb6fd0
xorps %xmm1, %xmm1
movss -0x115c(%rax,%rcx,4), %xmm2
ucomiss %xmm1, %xmm2
movaps %xmm0, %xmm2
jbe 0x494d6
movss (%rax,%rcx,4), %xmm3
xorps %xmm2, %xmm2
ucomiss %xmm3, %xmm2
ja 0x494d6
addss 0x18(%r15), %xmm3
movaps %xmm3, %xmm2
movss %xmm2, (%rax,%rcx,4)
incq %rcx
cmpq $0x15, %rcx
jne 0x494af
movl 0x1cec(%r15), %edi
testl %edi, %edi
je 0x4958c
cmpb $0x1, 0x1ce6(%r15)
jne 0x4950b
cmpb $0x1, 0x1cea(%r15)
jne 0x4958c
cmpq $0x0, 0x1c90(%r15)
je 0x4958c
movslq 0x1cdc(%r15), %r14
cmpb $0x1, 0x1cea(%r15)
jne 0x49560
movl %r14d, %esi
xorl %edx, %edx
callq 0x58d20
movq 0x1c90(%r15), %rax
shlq $0x4, %r14
movups 0x1cf0(%r15), %xmm0
movups %xmm0, 0x3b8(%rax,%r14)
movw $0x1, 0x1ce5(%r15)
movb $0x1, 0x1ce7(%r15)
jmp 0x4956a
movl %r14d, %esi
xorl %edx, %edx
callq 0x58d20
movq 0x1c90(%r15), %rax
movl 0x1cdc(%r15), %ecx
shlq $0x4, %rcx
movups 0x1cf0(%r15), %xmm0
movups %xmm0, 0x3b8(%rax,%rcx)
movl %r12d, -0x60(%rbp)
movw $0x0, 0x1ce9(%r15)
xorl %eax, %eax
movl %eax, 0x1cec(%r15)
movl %eax, 0x1cb4(%r15)
cmpb $0x1, 0x1d00(%r15)
jne 0x497f8
movq 0xb4711(%rip), %r12     # 0xfdcd0
movl 0x1d28(%r12), %eax
testl %eax, %eax
jne 0x495da
cmpl $0x0, 0x1d88(%r12)
je 0x4a0ea
leaq 0x1d20(%r12), %r13
leaq 0x1d80(%r12), %rcx
testl %eax, %eax
cmoveq %rcx, %r13
movl 0x1d04(%r12), %eax
testb $0x20, %al
je 0x4961c
movl 0x1d58(%r12), %edx
testl %edx, %edx
je 0x4961c
leaq 0x1d50(%r12), %rsi
cmpl 0x1c98(%r12), %edx
cmovneq %rsi, %r13
cmpq %rcx, %r13
je 0x49675
cmpl $0x0, 0x1d88(%r12)
je 0x49675
movq 0x1d80(%r12), %rdx
movq 0x388(%rdx), %rdx
cmpq 0x1c90(%r12), %rdx
jne 0x49675
movss 0x1d90(%r12), %xmm0
movss 0x10(%r13), %xmm1
ucomiss %xmm0, %xmm1
ja 0x49672
ucomiss %xmm1, %xmm0
jne 0x49675
jp 0x49675
movss 0x14(%r13), %xmm0
ucomiss 0x1d94(%r12), %xmm0
jbe 0x49675
movq %rcx, %r13
cmpq $0x0, 0x1c90(%r12)
je 0x4bff7
movq (%r13), %rcx
testq %rcx, %rcx
je 0x4bff7
cmpl $0x0, 0x1cdc(%r12)
jne 0x49768
testb $0x40, %al
jne 0x496ed
movq (%r13), %rax
movss 0x10(%rax), %xmm0
movss 0x14(%rax), %xmm1
movss 0x1c(%r13), %xmm2
addss %xmm0, %xmm2
movss 0x20(%r13), %xmm3
addss %xmm1, %xmm3
addss 0x24(%r13), %xmm0
unpcklps %xmm3, %xmm2            # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
addss 0x28(%r13), %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movlhps %xmm0, %xmm2            # xmm2 = xmm2[0],xmm0[0]
leaq -0x70(%rbp), %rsi
movups %xmm2, (%rsi)
movq (%r13), %rdi
callq 0x57725
jmp 0x49724
xorps %xmm1, %xmm1
cmpl $0x2, 0x1d10(%r12)
jne 0x49700
movss 0x68(%rcx), %xmm1
movss 0x60(%rcx), %xmm0
subss %xmm1, %xmm0
movq %xmm0, %xmm0            # xmm0 = xmm0[0],zero
xorps %xmm2, %xmm2
shufps $0xe2, %xmm2, %xmm0     # xmm0 = xmm0[2,0],xmm2[2,3]
movss %xmm1, 0x70(%rcx)
xorl %eax, %eax
movl %eax, 0x78(%rcx)
movl %eax, 0x80(%rcx)
movss 0x1c(%r13), %xmm1
movss 0x20(%r13), %xmm2
subss %xmm0, %xmm1
movss %xmm1, 0x1c(%r13)
movss 0x24(%r13), %xmm1
subss %xmm0, %xmm1
movss %xmm1, 0x24(%r13)
shufps $0x55, %xmm0, %xmm0     # xmm0 = xmm0[1,1,1,1]
subss %xmm0, %xmm2
movss %xmm2, 0x20(%r13)
movss 0x28(%r13), %xmm1
subss %xmm0, %xmm1
movss %xmm1, 0x28(%r13)
xorl %edi, %edi
xorl %esi, %esi
callq 0x46b95
movq (%r13), %rax
movq %rax, 0x1c90(%r12)
movl 0x8(%r13), %edi
cmpl %edi, 0x1c98(%r12)
je 0x497af
movl %edi, 0x1cb4(%r12)
movl 0xc(%r13), %eax
movl %eax, 0x1cb8(%r12)
movl 0x1d0c(%r12), %eax
movl %eax, 0x1cbc(%r12)
movslq 0x1cdc(%r12), %r14
movl 0xc(%r13), %edx
movq 0xb450e(%rip), %r12     # 0xfdcd0
movl %r14d, %esi
callq 0x58d20
movq 0x1c90(%r12), %rax
shlq $0x4, %r14
movups 0x1c(%r13), %xmm0
movups %xmm0, 0x3b8(%rax,%r14)
movb $0x1, 0x1ce5(%r12)
movw $0x100, 0x1ce6(%r12) # imm = 0x100
cmpl $0x2, 0x1d08(%r15)
jne 0x49837
cmpb $0x0, 0x1d00(%r15)
je 0x4c0ef
cmpl $0x0, 0x1d28(%r15)
jne 0x4982c
cmpl $0x0, 0x1d88(%r15)
jne 0x4982c
movb $0x0, 0x1ce6(%r15)
movl $0x0, 0x1d08(%r15)
cmpb $0x1, 0x1ce5(%r15)
jne 0x4989c
cmpb $0x1, 0x1ce4(%r15)
jne 0x4989c
testb $0x4, 0x8(%r15)
je 0x49894
testb $0x4, 0xc(%r15)
je 0x49894
cmpb $0x0, 0x1ce6(%r15)
jne 0x49894
cmpb $0x1, 0x1ce7(%r15)
jne 0x49894
cmpq $0x0, 0x1c90(%r15)
je 0x49894
callq 0x5803f
movlps %xmm0, 0x3c4(%r15)
movlps %xmm0, 0x128(%r15)
movb $0x1, 0x39b(%r15)
movb $0x0, 0x1ce5(%r15)
movb $0x0, 0x1ce4(%r15)
movl $0x0, 0x1cb0(%r15)
movl 0x1cdc(%r15), %ecx
cmpl $0x2, %ecx
jae 0x4bf7b
movq 0x1c90(%r15), %rax
testq %rax, %rax
je 0x49918
movl $0x15000000, %esi       # imm = 0x15000000
movq %rax, %rdx
movl 0xc(%rdx), %edi
andl %esi, %edi
cmpl $0x1000000, %edi        # imm = 0x1000000
jne 0x498ee
movq 0x388(%rdx), %rdx
testq %rdx, %rdx
jne 0x498d3
jmp 0x498fa
cmpq %rax, %rdx
je 0x498fa
movq %rax, 0x3a8(%rdx)
testq %rax, %rax
je 0x49918
testl %ecx, %ecx
jne 0x49918
cmpq $0x0, 0x3a8(%rax)
je 0x49918
movq $0x0, 0x3a8(%rax)
movq 0xb43b1(%rip), %r12     # 0xfdcd0
callq 0x484a1
testq %rax, %rax
je 0x49935
movq $0x0, 0x1dc0(%r12)
cmpq $0x0, 0x1dc8(%r12)
je 0x49998
cmpq $0x0, 0x1dc0(%r12)
jne 0x49998
movss 0x18(%r12), %xmm2
mulss 0x6df1a(%rip), %xmm2    # 0xb7874
addss 0x1ddc(%r12), %xmm2
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
cmpless %xmm2, %xmm1
andps %xmm2, %xmm1
movss %xmm1, 0x1ddc(%r12)
ucomiss 0x1e68(%r12), %xmm0
jb 0x49998
ucomiss %xmm1, %xmm0
jb 0x49998
movq $0x0, 0x1dc8(%r12)
testq %rax, %rax
jne 0x499ac
cmpq $0x0, 0x1dc0(%r12)
je 0x4a09f
xorl %r14d, %r14d
testq %rax, %rax
jne 0x499ec
cmpq $0x0, 0x1dc0(%r12)
jne 0x499ec
cmpb $0x1, 0x140(%r12)
jne 0x499ec
movl 0x3c(%r12), %edi
testl %edi, %edi
js 0x499ec
movl $0x1, %esi
callq 0x5256e
testb %al, %al
je 0x499ec
movb 0x8(%r12), %r13b
andb $0x1, %r13b
jmp 0x499ef
xorl %r13d, %r13d
orb %r13b, %r14b
testb $0x1, %r14b
je 0x49a65
movq 0x1c90(%r12), %rax
testq %rax, %rax
jne 0x49a1e
movl 0x1a98(%r12), %edi
decl %edi
movl $0x80000001, %esi       # imm = 0x80000001
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x5e078
testq %rax, %rax
je 0x49a65
movq 0x390(%rax), %rax
movq %rax, 0x1dc8(%r12)
movq %rax, 0x1dc0(%r12)
movq $0x0, 0x1dd8(%r12)
movzbl %r13b, %eax
xorb $0x1, %r13b
movb %r13b, 0x1de0(%r12)
movl $0x4, %ecx
subl %eax, %ecx
movl %ecx, 0x1cc4(%r12)
movss 0x18(%r12), %xmm0
addss 0x1dd8(%r12), %xmm0
movss %xmm0, 0x1dd8(%r12)
cmpq $0x0, 0x1dc0(%r12)
je 0x49b5a
cmpl $0x4, 0x1cc4(%r12)
jne 0x49b5a
movss 0x1ddc(%r12), %xmm1
addss 0x6ddc8(%rip), %xmm0    # 0xb7878
divss 0x6ddc4(%rip), %xmm0    # 0xb787c
movss 0x6d524(%rip), %xmm2    # 0xb6fe4
minss %xmm0, %xmm2
xorps %xmm3, %xmm3
cmpltss %xmm3, %xmm0
andnps %xmm2, %xmm0
movaps %xmm0, %xmm2
cmpless %xmm1, %xmm2
movaps %xmm2, %xmm3
andnps %xmm0, %xmm3
andps %xmm1, %xmm2
orps %xmm3, %xmm2
movss %xmm2, 0x1ddc(%r12)
movl $0xc, %edi
movl $0x4, %esi
callq 0x59005
xorl %r14d, %r14d
ucomiss 0x6dd3e(%rip), %xmm0    # 0xb7844
seta %r14b
movl $0xd, %edi
movl $0x4, %esi
callq 0x59005
xorl %eax, %eax
ucomiss 0x6dd22(%rip), %xmm0    # 0xb7844
seta %al
subl %eax, %r14d
je 0x49b3e
movl %r14d, %edi
callq 0x5e0f0
movl $0x3f800000, 0x1ddc(%r12) # imm = 0x3F800000
movq 0xb418b(%rip), %rax     # 0xfdcd0
movss 0x350(%rax), %xmm0
ucomiss 0x6dcf0(%rip), %xmm0    # 0xb7844
jbe 0x4a070
xorl %r13d, %r13d
xorl %ecx, %ecx
cmpq $0x0, 0x1dc0(%r12)
je 0x49c21
cmpl $0x3, 0x1cc4(%r12)
jne 0x49c21
movss 0x1dd8(%r12), %xmm0
addss 0x6dce9(%rip), %xmm0    # 0xb7878
divss 0x6dce5(%rip), %xmm0    # 0xb787c
movss 0x1ddc(%r12), %xmm1
movss 0x6d43b(%rip), %xmm2    # 0xb6fe4
minss %xmm0, %xmm2
xorps %xmm3, %xmm3
cmpltss %xmm3, %xmm0
andnps %xmm2, %xmm0
movaps %xmm0, %xmm2
cmpless %xmm1, %xmm2
movaps %xmm2, %xmm3
andnps %xmm0, %xmm3
andps %xmm1, %xmm2
orps %xmm3, %xmm2
movss %xmm2, 0x1ddc(%r12)
movq 0xb40f3(%rip), %rax     # 0xfdcd0
movl 0x3c(%rax), %edi
testl %edi, %edi
js 0x49c0e
movl $0x1, %esi
movq %rcx, %r14
callq 0x5256e
movq %r14, %rcx
testb %al, %al
je 0x49c0e
movzbl 0x141(%r12), %edi
decl %edi
orl $0x1, %edi
callq 0x5e0f0
movq %r14, %rcx
cmpb $0x0, 0x140(%r12)
jne 0x49c21
movq 0x1dc0(%r12), %rcx
movq 0xb40a8(%rip), %rax     # 0xfdcd0
movss 0x14e0(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x49c43
jp 0x49c43
movb $0x1, 0x1de0(%r12)
cmpl $0x0, 0x1b30(%r12)
je 0x49c59
cmpb $0x1, 0x1b3d(%r12)
jne 0x49cae
ucomiss %xmm0, %xmm1
jbe 0x49cae
cmpb $0x0, 0x1de0(%r12)
je 0x49cae
movss 0x1534(%rax), %xmm0
ucomiss %xmm1, %xmm0
jb 0x49cae
leaq 0x128(%r12), %rdi
movq %r13, -0x48(%rbp)
movq %rcx, %r13
callq 0x4806b
movl %eax, %r14d
leaq 0x3c4(%r12), %rdi
callq 0x4806b
movq %r13, %rcx
xorb %r14b, %al
movzbl -0x48(%rbp), %eax
movl $0x1, %r13d
cmovnel %eax, %r13d
movq 0x1dc0(%r12), %r14
testq %r14, %r14
je 0x49dda
testb $0x4, 0xc(%r14)
jne 0x49dda
movq %r13, -0x48(%rbp)
movl 0x1cc4(%r12), %r13d
xorps %xmm0, %xmm0
cmpl $0x3, %r13d
jne 0x49d04
cmpb $0x0, 0x141(%r12)
jne 0x49d04
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
movl $0x1, %edi
xorl %esi, %esi
movq %rcx, -0x78(%rbp)
callq 0x59117
movq -0x78(%rbp), %rcx
cmpl $0x4, %r13d
jne 0x49d22
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
movl $0x4, %edi
xorl %esi, %esi
movq %rcx, %r13
callq 0x59117
movq %r13, %rcx
xorps %xmm2, %xmm2
ucomiss %xmm2, %xmm0
movaps %xmm0, %xmm1
shufps $0x55, %xmm0, %xmm1     # xmm1 = xmm1[1,1],xmm0[1,1]
movq -0x48(%rbp), %r13
jne 0x49d42
jp 0x49d42
ucomiss %xmm2, %xmm1
jne 0x49d42
jnp 0x49dda
movq %rcx, -0x78(%rbp)
movss 0x18(%r12), %xmm2
movss 0xc0(%r12), %xmm3
mulss 0x6db21(%rip), %xmm2    # 0xb7880
minss 0xc4(%r12), %xmm3
mulss %xmm2, %xmm3
cvttps2dq %xmm3, %xmm2
cvtdq2ps %xmm2, %xmm2
movq 0x390(%r14), %r14
mulss %xmm2, %xmm0
mulss %xmm2, %xmm1
addss 0x10(%r14), %xmm0
addss 0x14(%r14), %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
leaq -0x70(%rbp), %rsi
movlps %xmm0, (%rsi)
movq %r14, %rdi
movl $0x1, %edx
callq 0x480f9
testb $0x1, 0xd(%r14)
jne 0x49dcd
movq 0xb3f1c(%rip), %rax     # 0xfdcd0
xorps %xmm0, %xmm0
ucomiss 0x30e4(%rax), %xmm0
jb 0x49dcd
movss 0x1c(%rax), %xmm0
movss %xmm0, 0x30e4(%rax)
movb $0x1, 0x1ce7(%r12)
movq -0x78(%rbp), %rcx
testq %rcx, %rcx
je 0x49e74
movq 0x1c90(%r12), %rax
testq %rax, %rax
je 0x49df9
cmpq 0x390(%rax), %rcx
je 0x49e68
xorl %edi, %edi
xorl %esi, %esi
movq %rcx, %r14
callq 0x46b95
movq %r14, %rax
movw $0x100, 0x1ce6(%r12) # imm = 0x100
movq 0x3a8(%r14), %r14
testq %r14, %r14
je 0x49e29
cmpb $0x0, 0x8f(%r14)
jne 0x49e2c
movq %rax, %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x4853f
movq %r14, %rdi
callq 0x47d9b
cmpl $0x0, 0x3b0(%r14)
jne 0x49e52
movq %r14, %rdi
xorl %esi, %esi
callq 0x52f7a
cmpl $0x2, 0x150(%r14)
jne 0x49e68
movl $0x1, 0x1cdc(%r12)
movq $0x0, 0x1dc0(%r12)
testb %r13b, %r13b
je 0x49ef7
movq 0x1c90(%r12), %r13
testq %r13, %r13
je 0x49ef7
movl $0x15000000, %eax       # imm = 0x15000000
movq %r13, %rcx
movq %rcx, %r14
movq 0x388(%rcx), %rcx
testq %rcx, %rcx
je 0x49eb5
testb $0x2, 0x150(%r14)
jne 0x49eb5
movl 0xc(%r14), %edx
andl %eax, %edx
cmpl $0x1000000, %edx        # imm = 0x1000000
je 0x49e8e
cmpq %r13, %r14
je 0x49ec9
movq %r14, %rdi
callq 0x47d9b
movq %r13, 0x3a8(%r14)
movw $0x100, 0x1ce6(%r12) # imm = 0x100
movq 0x1c90(%r12), %rax
xorl %edi, %edi
testb $0x2, 0x150(%rax)
je 0x49ef2
movl 0x1cdc(%r12), %edi
xorl $0x1, %edi
callq 0x5dfd0
movl -0x60(%rbp), %r12d
testb $0x1, %r12b
sete %al
movl -0x40(%rbp), %ecx
xorb $0x1, %cl
testb %cl, %al
jne 0x49f41
movq 0x1c90(%r15), %rax
testq %rax, %rax
je 0x49f41
testl $0x40000, 0xc(%rax)     # imm = 0x40000
sete 0x39d(%r15)
jne 0x49f49
cmpl $0x0, 0x1c98(%r15)
je 0x49f49
movb $0x1, %al
cmpb $0x0, 0x1ce6(%r15)
jne 0x49f49
jmp 0x49f54
movb $0x0, 0x39d(%r15)
cmpq $0x0, 0x1dc0(%r15)
setne %al
movb %al, 0x39e(%r15)
movq 0xb3d6e(%rip), %rax     # 0xfdcd0
movss 0x14a4(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x4a129
jp 0x4a129
cmpl $0x0, 0x1b30(%r15)
je 0x49fa1
testb $0x2, 0x1b48(%rax)
jne 0x4a129
xorl %edi, %edi
xorl %esi, %esi
callq 0x46b95
jmp 0x4a129
movq 0x1c90(%r15), %r14
testq %r14, %r14
je 0x4a031
movl $0x5000000, %eax        # imm = 0x5000000
andl 0xc(%r14), %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jne 0x4a031
movq 0x388(%r14), %rdi
testq %rdi, %rdi
je 0x4a031
cmpl $0x0, 0x58(%r14)
je 0x4c147
callq 0x47d9b
movq 0xb3cec(%rip), %rax     # 0xfdcd0
movq 0x1c90(%rax), %rcx
testq %rcx, %rcx
je 0x4c166
movl 0x58(%r14), %edx
movl %edx, 0x1c98(%rax)
movl $0x0, 0x1c9c(%rax)
movl %edx, 0x3b0(%rcx)
movb $0x0, 0x1ce4(%r15)
cmpb $0x1, 0x1ce7(%r15)
jne 0x4a129
movb $0x1, 0x1ce5(%r15)
jmp 0x4a129
movslq 0x1c70(%r15), %rdi
testq %rdi, %rdi
jle 0x4a0d7
movq 0x1c78(%r15), %rax
leaq (%rdi,%rdi,2), %rcx
shlq $0x4, %rcx
movq -0x28(%rax,%rcx), %rax
testb $0x8, 0xf(%rax)
jne 0x4a129
decl %edi
movl $0x1, %esi
callq 0x58144
jmp 0x4a129
movss 0x6cf6c(%rip), %xmm0    # 0xb6fe4
ucomiss 0x1ddc(%r12), %xmm0
seta %al
andb %al, 0x1de0(%r12)
je 0x4a0bb
cmpq $0x0, 0x1c90(%r12)
setne %r13b
xorl %ecx, %ecx
jmp 0x4a0c6
xorps %xmm0, %xmm0
cmpeqss 0x14ac(%r12), %xmm0
movd %xmm0, %r14d
andl $0x1, %r14d
jmp 0x499af
movq 0x1dc0(%r12), %rcx
xorl %r13d, %r13d
movq $0x0, 0x1dc0(%r12)
jmp 0x49b5f
cmpl $0x0, 0x1cdc(%r15)
je 0x4a0fe
xorl %edi, %edi
callq 0x5dfd0
jmp 0x4a129
cmpl $0x0, 0x1c98(%r12)
jne 0x497ed
jmp 0x497f8
testq %r14, %r14
je 0x4a11e
movl $0x5000000, %eax        # imm = 0x5000000
andl 0xc(%r14), %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
je 0x4a11e
movl $0x0, 0x3b0(%r14)
movq $0x0, 0x1c98(%r15)
leaq 0x1ca0(%r15), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0x1ca0(%r15)
movl 0x1c98(%r15), %ecx
testl %ecx, %ecx
je 0x4a15e
cmpb $0x0, 0x1ce6(%r15)
jne 0x4a15e
cmpq $0x0, 0x1dc0(%r15)
je 0x4b03c
movq 0x1c90(%r15), %rcx
testq %rcx, %rcx
je 0x4a178
testb $0x4, 0xe(%rcx)
je 0x4a178
movb $0x1, 0x1ce6(%r15)
movl (%rax), %eax
testl %eax, %eax
je 0x4a18b
cmpl %eax, 0x1ca4(%r15)
jne 0x4c054
movb $0x0, 0x1d00(%r15)
movl 0x1cc0(%r15), %eax
testl %eax, %eax
je 0x4a1ba
movl %eax, 0x1cac(%r15)
movl %eax, 0x1ca8(%r15)
movl %eax, 0x1ca4(%r15)
movl %eax, 0x1ca0(%r15)
movl $0x0, 0x1cc0(%r15)
movl 0x1d08(%r15), %eax
testl %eax, %eax
je 0x4a205
cmpl $-0x1, 0x1d10(%r15)
je 0x4be64
cmpl $-0x1, 0x1d18(%r15)
je 0x4be64
cmpl $0x1, %eax
jne 0x4c073
movl $0x2, 0x1d08(%r15)
jmp 0x4a358
movl $0xffffffff, 0x1d10(%r15) # imm = 0xFFFFFFFF
movl $0x0, 0x1d04(%r15)
testq %rcx, %rcx
je 0x4a34a
cmpq $0x0, 0x1dc0(%r15)
jne 0x4a34a
testb $0x4, 0xe(%rcx)
jne 0x4a34a
movq 0xb3a8d(%rip), %rax     # 0xfdcd0
movl 0x1b44(%rax), %r14d
testb $0x1, %r14b
jne 0x4a28a
movl $0x4, %edi
movl $0x3, %esi
callq 0x59005
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
ja 0x4a27f
movl $0x11, %edi
movl $0x3, %esi
callq 0x59005
ucomiss 0x6d5c7(%rip), %xmm0    # 0xb7844
jbe 0x4a28a
movl $0x0, 0x1d10(%r15)
testb $0x2, %r14b
jne 0x4a2ca
movl $0x5, %edi
movl $0x3, %esi
callq 0x59005
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
ja 0x4a2bf
movl $0x12, %edi
movl $0x3, %esi
callq 0x59005
ucomiss 0x6d587(%rip), %xmm0    # 0xb7844
jbe 0x4a2ca
movl $0x1, 0x1d10(%r15)
testb $0x4, %r14b
jne 0x4a30a
movl $0x6, %edi
movl $0x3, %esi
callq 0x59005
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
ja 0x4a2ff
movl $0x13, %edi
movl $0x3, %esi
callq 0x59005
ucomiss 0x6d547(%rip), %xmm0    # 0xb7844
jbe 0x4a30a
movl $0x2, 0x1d10(%r15)
testb $0x8, %r14b
jne 0x4a34a
movl $0x7, %edi
movl $0x3, %esi
callq 0x59005
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
ja 0x4a33f
movl $0x14, %edi
movl $0x3, %esi
callq 0x59005
ucomiss 0x6d507(%rip), %xmm0    # 0xb7844
jbe 0x4a34a
movl $0x3, 0x1d10(%r15)
movl 0x1d10(%r15), %eax
movl %eax, 0x1d18(%r15)
xorps %xmm6, %xmm6
testb $0x1, %r12b
je 0x4a377
movq 0xb3968(%rip), %r12     # 0xfdcd0
cmpl $-0x1, 0x1d10(%r12)
je 0x4af7e
movl 0x1d10(%r15), %eax
cmpl $-0x1, %eax
je 0x4a3a0
movb $0x1, 0x1d00(%r15)
movl 0x3c0(%r15), %ecx
movl %ecx, 0x1d0c(%r15)
movl %eax, 0x1d14(%r15)
movb 0x1d00(%r15), %r13b
cmpb $0x1, %r13b
jne 0x4a3d4
cmpl $0x0, 0x1c98(%r15)
jne 0x4a3d4
movw $0x101, 0x1ce9(%r15)    # imm = 0x101
movl $0x0, 0x1cec(%r15)
movb $0x0, 0x1ce6(%r15)
movq 0xb38f5(%rip), %r14     # 0xfdcd0
cmpb $0x0, 0x1d00(%r14)
je 0x4a3ef
movb $0x1, 0x1ce8(%r14)
jmp 0x4a401
movb 0x1ce9(%r14), %cl
movb %cl, 0x1ce8(%r14)
testb %cl, %cl
je 0x4a40f
cmpq $0x0, 0x1c90(%r14)
je 0x4c016
movq 0x1c90(%r15), %r12
testq %r12, %r12
je 0x4a5c0
testb $0x4, 0xe(%r12)
jne 0x4a5c0
cmpq $0x0, 0x1dc0(%r15)
jne 0x4a5c0
movss 0x1984(%r14), %xmm0
mulss 0x2b0(%r12), %xmm0
movq 0x388(%r12), %rcx
testq %rcx, %rcx
je 0x4a461
mulss 0x2b0(%rcx), %xmm0
movaps %xmm6, -0x40(%rbp)
mulss 0x6d417(%rip), %xmm0    # 0xb7884
mulss 0x18(%r15), %xmm0
addss 0x6cb89(%rip), %xmm0    # 0xb7004
cvttps2dq %xmm0, %xmm0
cvtdq2ps %xmm0, %xmm2
cmpl $0x0, 0x150(%r12)
jne 0x4a528
movb 0x15d(%r12), %cl
andb %r13b, %cl
cmpb $0x1, %cl
jne 0x4a528
cmpl $0x1, %eax
ja 0x4a4e2
xorl %ecx, %ecx
testl %eax, %eax
sete %cl
leaq 0x6dc6c(%rip), %rdx     # 0xb8124
movss (%rdx,%rcx,4), %xmm0
mulss %xmm2, %xmm0
addss 0x5c(%r12), %xmm0
cvttps2dq %xmm0, %xmm0
cvtdq2ps %xmm0, %xmm0
movss %xmm0, 0x6c(%r12)
xorl %ecx, %ecx
movl %ecx, 0x74(%r12)
movl %ecx, 0x7c(%r12)
movl %eax, %ecx
andl $-0x2, %ecx
cmpl $0x2, %ecx
jne 0x4a528
xorl %ecx, %ecx
cmpl $0x2, %eax
sete %cl
leaq 0x6dc29(%rip), %rax     # 0xb8124
movss (%rax,%rcx,4), %xmm0
mulss %xmm2, %xmm0
addss 0x60(%r12), %xmm0
cvttps2dq %xmm0, %xmm0
cvtdq2ps %xmm0, %xmm0
movss %xmm0, 0x70(%r12)
xorl %eax, %eax
movl %eax, 0x78(%r12)
movl %eax, 0x80(%r12)
movss 0x6d358(%rip), %xmm0    # 0xb7888
movss 0x6cad0(%rip), %xmm1    # 0xb7008
movl $0x4, %edi
xorl %esi, %esi
movaps %xmm2, -0x60(%rbp)
callq 0x59117
movaps -0x60(%rbp), %xmm3
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x4a556
jnp 0x4a589
cmpb $0x1, 0x8c(%r12)
jne 0x4a589
movaps %xmm0, %xmm2
mulss %xmm3, %xmm2
addss 0x5c(%r12), %xmm2
cvttps2dq %xmm2, %xmm2
cvtdq2ps %xmm2, %xmm2
movss %xmm2, 0x6c(%r12)
xorl %eax, %eax
movl %eax, 0x74(%r12)
movl %eax, 0x7c(%r12)
shufps $0x55, %xmm0, %xmm0     # xmm0 = xmm0[1,1,1,1]
ucomiss %xmm1, %xmm0
movaps -0x40(%rbp), %xmm6
jne 0x4a598
jnp 0x4a5c0
mulss %xmm3, %xmm0
addss 0x60(%r12), %xmm0
cvttps2dq %xmm0, %xmm0
cvtdq2ps %xmm0, %xmm0
movss %xmm0, 0x70(%r12)
xorl %eax, %eax
movl %eax, 0x78(%r12)
movl %eax, 0x80(%r12)
xorps %xmm0, %xmm0
movups %xmm0, 0x1d20(%r15)
movl $0x7f7fffff, %eax       # imm = 0x7F7FFFFF
movl %eax, 0x1d38(%r15)
movabsq $0x7f7fffff7f7fffff, %rcx # imm = 0x7F7FFFFF7F7FFFFF
movq %rcx, 0x1d30(%r15)
movups %xmm0, 0x1d3c(%r15)
movups %xmm0, 0x1d50(%r15)
movl %eax, 0x1d68(%r15)
movq %rcx, 0x1d60(%r15)
movups %xmm0, 0x1d6c(%r15)
movups %xmm0, 0x1d80(%r15)
movl %eax, 0x1d98(%r15)
movq %rcx, 0x1d90(%r15)
movups %xmm0, 0x1d9c(%r15)
testb %r13b, %r13b
je 0x4a79c
cmpl $0x4, 0x1cc4(%r15)
jne 0x4a79c
movl 0x1cdc(%r15), %eax
testq %rax, %rax
jne 0x4a79c
movss 0x218(%r12), %xmm0
movss 0x10(%r12), %xmm1
movss 0x14(%r12), %xmm2
subss %xmm1, %xmm0
movss 0x21c(%r12), %xmm3
subss %xmm2, %xmm3
movss 0x6c94b(%rip), %xmm4    # 0xb6fd0
addss %xmm4, %xmm0
addss %xmm4, %xmm3
unpcklps %xmm3, %xmm0            # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movss 0x220(%r12), %xmm3
subss %xmm1, %xmm3
movss 0x224(%r12), %xmm1
subss %xmm2, %xmm1
movss 0x6c930(%rip), %xmm2    # 0xb6fe4
addss %xmm2, %xmm3
addss %xmm2, %xmm1
unpcklps %xmm1, %xmm3            # xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1]
movlhps %xmm3, %xmm0            # xmm0 = xmm0[0],xmm3[0]
movups %xmm0, -0x70(%rbp)
shlq $0x4, %rax
leaq (%r12,%rax), %rdi
addq $0x3b8, %rdi            # imm = 0x3B8
movss (%rdi), %xmm1
movss -0x70(%rbp), %xmm0
ucomiss %xmm0, %xmm1
jb 0x4a708
movss 0x4(%rdi), %xmm1
ucomiss -0x6c(%rbp), %xmm1
jb 0x4a708
movss -0x68(%rbp), %xmm1
ucomiss 0x8(%rdi), %xmm1
jb 0x4a708
movss -0x64(%rbp), %xmm1
ucomiss 0xc(%rdi), %xmm1
jae 0x4a79c
movss 0x1984(%r14), %xmm1
mulss 0x2b0(%r12), %xmm1
movq 0x388(%r12), %rax
testq %rax, %rax
movaps %xmm6, -0x40(%rbp)
je 0x4a734
mulss 0x2b0(%rax), %xmm1
mulss 0x6c8c8(%rip), %xmm1    # 0xb7004
leaq -0x70(%rbp), %rsi
movss 0x4(%rsi), %xmm2
movss 0x8(%rsi), %xmm3
movaps %xmm3, %xmm4
subss %xmm0, %xmm4
minss %xmm1, %xmm4
movss 0xc(%rsi), %xmm5
movaps %xmm5, %xmm6
subss %xmm2, %xmm6
minss %xmm1, %xmm6
addss %xmm4, %xmm0
movss %xmm0, (%rsi)
addss %xmm6, %xmm2
movss %xmm2, 0x4(%rsi)
subss %xmm4, %xmm3
movss %xmm3, 0x8(%rsi)
subss %xmm6, %xmm5
movss %xmm5, 0xc(%rsi)
callq 0x5f4e6
movq $0x0, 0x1c98(%r15)
movaps -0x40(%rbp), %xmm6
movq 0x1c90(%r15), %rax
testq %rax, %rax
je 0x4a7d9
movl 0x1cdc(%r15), %ecx
shlq $0x4, %rcx
movss 0x3b8(%rax,%rcx), %xmm0
movss 0x3bc(%rax,%rcx), %xmm3
movss 0x3c0(%rax,%rcx), %xmm1
movss 0x3c4(%rax,%rcx), %xmm2
jmp 0x4a7e5
xorps %xmm3, %xmm3
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
testq %rax, %rax
je 0x4a809
movss 0x10(%rax), %xmm4
movss 0x14(%rax), %xmm5
addss %xmm4, %xmm0
addss %xmm5, %xmm3
unpcklps %xmm3, %xmm0            # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
addss %xmm4, %xmm1
addss %xmm5, %xmm2
jmp 0x4a81d
movq 0xb34c0(%rip), %rax     # 0xfdcd0
movss 0x10(%rax), %xmm1
movss 0x14(%rax), %xmm2
xorps %xmm0, %xmm0
unpcklps %xmm2, %xmm1            # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movlhps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0]
movups %xmm0, 0x1cc8(%r15)
movss 0x1ccc(%r15), %xmm0
addss %xmm6, %xmm0
movss %xmm0, 0x1ccc(%r15)
addss 0x1cd4(%r15), %xmm6
movss %xmm6, 0x1cd4(%r15)
movss 0x1cc8(%r15), %xmm1
addss 0x6c780(%rip), %xmm1    # 0xb6fe4
minss 0x1cd0(%r15), %xmm1
movss %xmm1, 0x1cc8(%r15)
movss %xmm1, 0x1cd0(%r15)
ucomiss %xmm6, %xmm0
ja 0x4bf9a
movl $0x0, 0x1cd8(%r15)
movq 0xb3436(%rip), %r15     # 0xfdcd0
leaq 0x128(%r15), %r14
movq %r14, %rdi
callq 0x4806b
testb %al, %al
je 0x4a8e0
movss 0x128(%r15), %xmm0
movss 0x12c(%r15), %xmm1
cvttps2dq %xmm0, %xmm0
cvtdq2ps %xmm0, %xmm0
cvttps2dq %xmm1, %xmm1
cvtdq2ps %xmm1, %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movlps %xmm0, 0x2158(%r15)
movlps %xmm0, 0x128(%r15)
movq %r14, %rdi
callq 0x4806b
testb %al, %al
je 0x4a92d
leaq 0x3c4(%r15), %rdi
callq 0x4806b
testb %al, %al
je 0x4a92d
movss 0x128(%r15), %xmm0
movss 0x12c(%r15), %xmm1
subss 0x3c4(%r15), %xmm0
subss 0x3c8(%r15), %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movlps %xmm0, 0x3b8(%r15)
jmp 0x4a938
movq $0x0, 0x3b8(%r15)
movss 0x3b8(%r15), %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm0, %xmm1
jne 0x4a95b
jp 0x4a95b
movss 0x3bc(%r15), %xmm1
ucomiss %xmm0, %xmm1
jne 0x4a95b
jnp 0x4a963
movb $0x0, 0x1ce7(%r15)
movq 0x128(%r15), %rax
movq %rax, 0x3c4(%r15)
movq $-0x5, %r12
xorps %xmm3, %xmm3
movss 0x6c64d(%rip), %xmm4    # 0xb6fd0
movb 0x135(%r15,%r12), %al
cmpb $0x1, %al
jne 0x4a99d
ucomiss 0x450(%r15,%r12,4), %xmm3
seta %cl
jmp 0x4a99f
xorl %ecx, %ecx
movb %cl, 0x425(%r15,%r12)
testb %al, %al
je 0x4a9af
xorl %edx, %edx
jmp 0x4a9bf
movss 0x450(%r15,%r12,4), %xmm0
ucomiss %xmm3, %xmm0
setae %dl
movb %dl, 0x42f(%r15,%r12)
movss 0x450(%r15,%r12,4), %xmm0
movss %xmm0, 0x464(%r15,%r12,4)
movaps %xmm4, %xmm1
testb %al, %al
je 0x4a9f3
xorps %xmm1, %xmm1
ucomiss %xmm0, %xmm1
ja 0x4a9f3
addss 0x18(%r15), %xmm0
movaps %xmm0, %xmm1
movss %xmm1, 0x450(%r15,%r12,4)
movb $0x0, 0x42a(%r15,%r12)
testb %cl, %cl
je 0x4aaff
movsd 0x1a60(%r15), %xmm0
movapd %xmm0, %xmm1
subsd 0x420(%r15,%r12,8), %xmm1
cvtsd2ss %xmm1, %xmm1
movss 0x30(%r15), %xmm2
ucomiss %xmm1, %xmm2
jbe 0x4aab9
movq %r14, %rdi
callq 0x4806b
xorpd %xmm0, %xmm0
testb %al, %al
je 0x4aa71
movss 0x128(%r15), %xmm0
subss 0x3f4(%r15,%r12,8), %xmm0
movss 0x12c(%r15), %xmm1
subss 0x3f8(%r15,%r12,8), %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd %xmm0, %xmm1
mulps %xmm0, %xmm1
shufps $0x55, %xmm1, %xmm1     # xmm1 = xmm1[1,1,1,1]
mulss %xmm0, %xmm0
addss %xmm1, %xmm0
movss 0x34(%r15), %xmm1
mulss %xmm1, %xmm1
ucomiss %xmm0, %xmm1
jbe 0x4aa9c
movb $0x1, 0x42a(%r15,%r12)
movss 0x30(%r15), %xmm0
mulss 0x6cde2(%rip), %xmm0    # 0xb788c
cvtss2sd %xmm0, %xmm0
xorps %xmm3, %xmm3
movss 0x6c517(%rip), %xmm4    # 0xb6fd0
movsd %xmm0, 0x420(%r15,%r12,8)
movq 0x128(%r15), %rax
movq %rax, 0x3f4(%r15,%r12,8)
movb 0x42a(%r15,%r12), %al
movb %al, 0x439(%r15,%r12)
movq $0x0, 0x48c(%r15,%r12,8)
movl $0x0, 0x4a0(%r15,%r12,4)
jmp 0x4abea
testb %al, %al
je 0x4abea
movq %r14, %rdi
callq 0x4806b
xorps %xmm0, %xmm0
testb %al, %al
je 0x4ab3f
movss 0x128(%r15), %xmm0
subss 0x3f4(%r15,%r12,8), %xmm0
movss 0x12c(%r15), %xmm1
subss 0x3f8(%r15,%r12,8), %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movss 0x4a0(%r15,%r12,4), %xmm1
movaps %xmm0, %xmm2
shufps $0x55, %xmm0, %xmm2     # xmm2 = xmm2[1,1],xmm0[1,1]
movaps %xmm2, %xmm3
movaps 0x6c466(%rip), %xmm5    # 0xb6fc0
xorps %xmm5, %xmm3
maxss %xmm2, %xmm3
mulss %xmm2, %xmm2
movaps %xmm0, %xmm4
mulss %xmm0, %xmm4
addss %xmm2, %xmm4
movaps %xmm4, %xmm2
cmpless %xmm1, %xmm2
andps %xmm2, %xmm1
andnps %xmm4, %xmm2
orps %xmm1, %xmm2
movss %xmm2, 0x4a0(%r15,%r12,4)
movaps %xmm0, %xmm1
xorps %xmm5, %xmm1
maxss %xmm0, %xmm1
movss 0x48c(%r15,%r12,8), %xmm0
movss 0x490(%r15,%r12,8), %xmm2
movaps %xmm1, %xmm4
cmpless %xmm0, %xmm4
andps %xmm4, %xmm0
andnps %xmm1, %xmm4
orps %xmm0, %xmm4
movss %xmm4, 0x48c(%r15,%r12,8)
movaps %xmm3, %xmm0
cmpless %xmm2, %xmm0
andps %xmm0, %xmm2
andnps %xmm3, %xmm0
orps %xmm2, %xmm0
movss %xmm0, 0x490(%r15,%r12,8)
xorps %xmm3, %xmm3
movss 0x6c3e6(%rip), %xmm4    # 0xb6fd0
cmpb $0x0, 0x135(%r15,%r12)
jne 0x4ac09
cmpb $0x0, 0x42f(%r15,%r12)
jne 0x4ac09
movb $0x0, 0x439(%r15,%r12)
cmpb $0x1, 0x425(%r15,%r12)
jne 0x4ac1c
movb $0x0, 0x1ce7(%r15)
incq %r12
jne 0x4a983
callq 0x4863a
callq 0x47ee3
callq 0x484a1
testq %rax, %rax
je 0x4ac60
movss 0x18(%rbx), %xmm0
mulss 0x6c3c6(%rip), %xmm0    # 0xb700c
addss 0x1e68(%rbx), %xmm0
minss 0x6c38e(%rip), %xmm0    # 0xb6fe4
movss %xmm0, 0x1e68(%rbx)
jmp 0x4aca2
cmpq $0x0, 0x1dc0(%rbx)
je 0x4ac7a
movss 0x1ddc(%rbx), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
ja 0x4ac39
movss 0x18(%rbx), %xmm0
mulss 0x6cbed(%rip), %xmm0    # 0xb7874
addss 0x1e68(%rbx), %xmm0
xorps %xmm1, %xmm1
cmpless %xmm0, %xmm1
andps %xmm0, %xmm1
movss %xmm1, 0x1e68(%rbx)
movl $0x0, 0x2000(%rbx)
movl $0xffffffff, 0x3374(%rbx) # imm = 0xFFFFFFFF
movq $-0x1, 0x336c(%rbx)
movabsq $0x3f8000003f800000, %rax # imm = 0x3F8000003F800000
movq %rax, 0x30d0(%rbx)
movq 0xb2ff7(%rip), %r15     # 0xfdcd0
cmpq $0x0, 0x1b08(%r15)
je 0x4ad77
movss 0x1b18(%r15), %xmm0
subss 0x18(%r15), %xmm0
movss %xmm0, 0x1b18(%r15)
xorl %edi, %edi
callq 0x4806b
testb %al, %al
je 0x4ad54
movss 0x38(%r15), %xmm0
movss 0x128(%r15), %xmm1
subss 0x1b10(%r15), %xmm1
movss 0x12c(%r15), %xmm2
subss 0x1b14(%r15), %xmm2
mulss %xmm2, %xmm2
mulss %xmm1, %xmm1
addss %xmm2, %xmm1
mulss %xmm0, %xmm0
ucomiss %xmm0, %xmm1
jbe 0x4ad54
movl $0x0, 0x1b18(%r15)
xorps %xmm0, %xmm0
ucomiss 0x1b18(%r15), %xmm0
jb 0x4ad77
movq $0x0, 0x1b08(%r15)
movl $0x0, 0x1b18(%r15)
movss 0x138(%r15), %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm0, %xmm1
jne 0x4ad9e
jp 0x4ad9e
movss 0x13c(%r15), %xmm2
ucomiss %xmm0, %xmm2
jne 0x4ad9e
jnp 0x4b2ab
cmpl $0x0, 0x1b30(%r15)
je 0x4adb6
cmpb $0x0, 0x1b42(%r15)
jne 0x4b2ab
cmpl $0x0, 0x1b20(%r15)
je 0x4adce
cmpb $0x0, 0x1b26(%r15)
jne 0x4b2ab
movq 0x1b08(%r15), %r14
testq %r14, %r14
jne 0x4ade1
movq 0x1ae8(%r15), %r14
testq %r14, %r14
je 0x4b2ab
cmpb $0x0, 0x91(%r14)
jne 0x4b2ab
xorps %xmm2, %xmm2
ucomiss %xmm2, %xmm1
jne 0x4ae06
jnp 0x4b085
cmpb $0x1, 0x140(%r15)
jne 0x4b078
cmpb $0x1, 0xb4(%r15)
jne 0x4b078
movq 0xb2ea7(%rip), %rax     # 0xfdcd0
cmpq %r14, 0x1b08(%rax)
je 0x4ae51
movq %r14, 0x1b08(%rax)
movq 0x128(%rax), %rcx
movq %rcx, 0x1b10(%rax)
movl $0x40000000, 0x1b18(%rax) # imm = 0x40000000
movss 0x2b0(%r14), %xmm0
movss 0x138(%r15), %xmm4
mulss 0x6ca1d(%rip), %xmm4    # 0xb7888
addss %xmm0, %xmm4
movss 0x6c171(%rip), %xmm1    # 0xb6fe8
minss %xmm4, %xmm1
movss 0x6c181(%rip), %xmm2    # 0xb7004
cmpltss %xmm2, %xmm4
movaps %xmm4, %xmm3
andnps %xmm1, %xmm3
andps %xmm2, %xmm4
orps %xmm3, %xmm4
movss %xmm4, 0x2b0(%r14)
testb $0x1, 0xf(%r14)
jne 0x4b2ab
divss %xmm0, %xmm4
movaps %xmm4, -0x40(%rbp)
movss 0x6c12c(%rip), %xmm7    # 0xb6fe4
subss %xmm4, %xmm7
movss 0x18(%r14), %xmm0
movaps %xmm7, %xmm1
mulss %xmm0, %xmm1
movss 0x1c(%r14), %xmm2
mulss %xmm2, %xmm7
movss 0x128(%r15), %xmm3
movss 0x12c(%r15), %xmm4
movss 0x10(%r14), %xmm5
movss 0x14(%r14), %xmm6
subss %xmm5, %xmm3
mulss %xmm1, %xmm3
subss %xmm6, %xmm4
mulss %xmm7, %xmm4
divss %xmm0, %xmm3
divss %xmm2, %xmm4
addss %xmm5, %xmm3
addss %xmm6, %xmm4
unpcklps %xmm4, %xmm3            # xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]
leaq -0x70(%rbp), %rsi
movlps %xmm3, (%rsi)
movq %r14, %rdi
xorl %edx, %edx
callq 0x480f9
movss 0x18(%r14), %xmm0
movaps -0x40(%rbp), %xmm2
mulss %xmm2, %xmm0
movss 0x1c(%r14), %xmm1
mulss %xmm2, %xmm1
cvttps2dq %xmm0, %xmm0
cvtdq2ps %xmm0, %xmm0
cvttps2dq %xmm1, %xmm1
cvtdq2ps %xmm1, %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movlps %xmm0, 0x18(%r14)
movss 0x20(%r14), %xmm0
mulss %xmm2, %xmm0
mulss 0x24(%r14), %xmm2
cvttps2dq %xmm0, %xmm0
cvtdq2ps %xmm0, %xmm0
cvttps2dq %xmm2, %xmm1
cvtdq2ps %xmm1, %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movlps %xmm0, 0x20(%r14)
jmp 0x4b2ab
movq 0x1c90(%r12), %r14
testq %r14, %r14
je 0x4a377
testb $0x4, 0xe(%r14)
jne 0x4a377
cmpq $0x0, 0x1dc0(%r12)
jne 0x4a377
cmpl $0x0, 0x1cdc(%r12)
jne 0x4a377
movl 0x50(%r12), %edi
callq 0x52474
movl $0x0, -0x40(%rbp)
movl $0x0, %r13d
testb %al, %al
je 0x4afe8
movq 0xb2cf6(%rip), %rax     # 0xfdcd0
xorl %r13d, %r13d
testb $0x20, 0x1b50(%rax)
sete %r13b
movl 0x54(%r12), %edi
callq 0x52474
testb %al, %al
je 0x4b00c
movq 0xb2cd3(%rip), %rax     # 0xfdcd0
xorl %ecx, %ecx
testb $0x40, 0x1b50(%rax)
sete %cl
movl %ecx, -0x40(%rbp)
movl 0x58(%r12), %edi
movl $0x1, %esi
callq 0x5256e
testb %al, %al
je 0x4bb06
movq 0xb2ca6(%rip), %rax     # 0xfdcd0
testb $-0x80, 0x1b50(%rax)
sete %al
movl %eax, -0x60(%rbp)
jmp 0x4bb0d
movq 0x1c90(%r15), %rdx
testq %rdx, %rdx
je 0x4a15e
testb $0x4, 0xe(%rdx)
jne 0x4a15e
movq 0xb2c73(%rip), %rdx     # 0xfdcd0
movss 0x344(%rdx), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
ja 0x4ba5f
xorl %edi, %edi
jmp 0x4ba6f
cmpb $0x0, 0x141(%r15)
jne 0x4b085
movaps %xmm1, %xmm0
ucomiss %xmm2, %xmm0
jne 0x4b090
jnp 0x4b180
cmpb $0x0, 0x140(%r15)
jne 0x4b180
movq 0xb2c2b(%rip), %rax     # 0xfdcd0
cmpq %r14, 0x1b08(%rax)
je 0x4b0cd
movq %r14, 0x1b08(%rax)
movq 0x128(%rax), %rcx
movq %rcx, 0x1b10(%rax)
movl $0x40000000, 0x1b18(%rax) # imm = 0x40000000
movl 0xc(%r14), %ecx
btl $0x18, %ecx
jae 0x4b105
xorps %xmm1, %xmm1
movl %ecx, %edx
andl $0x210, %edx            # imm = 0x210
cmpl $0x10, %edx
je 0x4b0f4
movss 0x68(%r14), %xmm2
ucomiss %xmm1, %xmm2
jne 0x4b105
jp 0x4b105
movq 0x388(%r14), %r14
movl 0xc(%r14), %ecx
btl $0x18, %ecx
jb 0x4b0da
testl $0x210, %ecx            # imm = 0x210
jne 0x4b180
movss 0x224(%r14), %xmm1
subss 0x21c(%r14), %xmm1
mulss 0x6c769(%rip), %xmm1    # 0xb7890
movss 0x1984(%rax), %xmm2
mulss 0x2b0(%r14), %xmm2
movq 0x388(%r14), %rax
testq %rax, %rax
je 0x4b14c
mulss 0x2b0(%rax), %xmm2
mulss 0x6c740(%rip), %xmm2    # 0xb7894
minss %xmm1, %xmm2
cvttps2dq %xmm2, %xmm1
cvtdq2ps %xmm1, %xmm1
movss 0x60(%r14), %xmm2
mulss %xmm1, %xmm0
subss %xmm0, %xmm2
movss %xmm2, 0x70(%r14)
xorl %eax, %eax
movl %eax, 0x78(%r14)
movl %eax, 0x80(%r14)
movss 0x13c(%r15), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x4b193
jnp 0x4b19d
cmpb $0x1, 0x141(%r15)
jne 0x4b1c2
movss 0x138(%r15), %xmm2
ucomiss %xmm1, %xmm2
jne 0x4b1ad
jnp 0x4b1bf
cmpb $0x1, 0x141(%r15)
xorps %xmm0, %xmm0
jne 0x4b1c2
movaps %xmm2, %xmm0
jmp 0x4b1c2
xorps %xmm0, %xmm0
ucomiss %xmm1, %xmm0
jne 0x4b1cd
jnp 0x4b2ab
cmpb $0x0, 0x140(%r15)
jne 0x4b2ab
movq 0xb2aee(%rip), %rax     # 0xfdcd0
cmpq %r14, 0x1b08(%rax)
je 0x4b22d
movq %r14, 0x1b08(%rax)
movq 0x128(%rax), %rcx
movq %rcx, 0x1b10(%rax)
movl $0x40000000, 0x1b18(%rax) # imm = 0x40000000
jmp 0x4b22d
movl %ecx, %edx
andl $0x210, %edx            # imm = 0x210
cmpl $0x10, %edx
je 0x4b226
movss 0x64(%r14), %xmm2
ucomiss %xmm1, %xmm2
jne 0x4b237
jp 0x4b237
movq 0x388(%r14), %r14
movl 0xc(%r14), %ecx
btl $0x18, %ecx
jb 0x4b20c
testl $0x210, %ecx            # imm = 0x210
jne 0x4b2ab
movss 0x220(%r14), %xmm1
subss 0x218(%r14), %xmm1
mulss 0x6c637(%rip), %xmm1    # 0xb7890
movss 0x1984(%rax), %xmm2
mulss 0x2b0(%r14), %xmm2
movq 0x388(%r14), %rax
testq %rax, %rax
je 0x4b27e
mulss 0x2b0(%rax), %xmm2
addss %xmm2, %xmm2
minss %xmm1, %xmm2
cvttps2dq %xmm2, %xmm1
cvtdq2ps %xmm1, %xmm1
movss 0x5c(%r14), %xmm2
mulss %xmm1, %xmm0
subss %xmm0, %xmm2
movss %xmm2, 0x6c(%r14)
xorl %eax, %eax
movl %eax, 0x74(%r14)
movl %eax, 0x7c(%r14)
movq 0xb2a1e(%rip), %r14     # 0xfdcd0
movq 0x1c90(%r14), %rax
testq %rax, %rax
je 0x4b2eb
cmpb $0x1, 0x8e(%rax)
jne 0x4b2eb
testb $0x4, 0xe(%rax)
jne 0x4b2eb
cmpb $0x0, 0x140(%r14)
jne 0x4b2eb
movl 0x3c(%r14), %edi
testl %edi, %edi
js 0x4b2eb
movl $0x1, %esi
callq 0x5256e
jmp 0x4b2ed
xorl %eax, %eax
movb %al, 0x1e08(%r14)
testb %al, %al
je 0x4b357
cmpl $0x0, 0x1b30(%r14)
jne 0x4b357
movq 0x1c90(%r14), %rax
movq %rax, 0x1df0(%r14)
movl $0x7fffffff, 0x1e00(%r14) # imm = 0x7FFFFFFF
cmpl $0x0, 0x1c98(%r14)
je 0x4b333
movl 0x1ce0(%r14), %eax
cmpl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
jne 0x4b33f
movzbl 0x141(%r14), %eax
negl %eax
jmp 0x4b350
movzbl 0x141(%r14), %ecx
negl %ecx
orl $0x1, %ecx
addl %ecx, %eax
incl %eax
movl %eax, 0x1e04(%r14)
movq $0x0, 0x1de8(%r14)
movabsq $0x7fffffff7fffffff, %rcx # imm = 0x7FFFFFFF7FFFFFFF
movq %rcx, 0x1df8(%r14)
movq 0x1df0(%r14), %rsi
testq %rsi, %rsi
je 0x4b3ee
movq %rsi, 0x1de8(%r14)
movl 0x1e00(%r14), %eax
cmpl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
je 0x4b3b1
movl 0x1c4(%rsi), %edx
cmpl $-0x1, %edx
je 0x4b3b1
movl %edx, %edi
incl %edi
addl %edx, %eax
incl %eax
cltd
idivl %edi
movl %edx, 0x1df8(%r14)
movl 0x1e04(%r14), %eax
cmpl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
je 0x4b3dc
movl 0x1c8(%rsi), %edx
cmpl $-0x1, %edx
je 0x4b3dc
movl %edx, %esi
incl %esi
addl %edx, %eax
incl %eax
cltd
idivl %esi
movl %edx, 0x1dfc(%r14)
movq $0x0, 0x1df0(%r14)
movq %rcx, 0x1e00(%r14)
movl $0x7fffffff, 0x1ce0(%r14) # imm = 0x7FFFFFFF
movl 0x1a98(%rbx), %eax
cmpl 0x1a88(%rbx), %eax
jne 0x4bfb9
movss 0x6c42d(%rip), %xmm0    # 0xb7840
movss %xmm0, -0x40(%rbp)
cmpb $0x0, 0x1a77(%rbx)
jne 0x4b445
movss 0xd0(%rbx), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm0, %xmm1
ja 0x4b445
xorps %xmm1, %xmm1
cvtsd2ss 0x1a60(%rbx), %xmm1
subss %xmm0, %xmm1
movss %xmm1, -0x40(%rbp)
movl 0x1a88(%rbx), %eax
testl %eax, %eax
je 0x4b4bc
xorl %r14d, %r14d
xorl %r15d, %r15d
cltq
cmpq %rax, %r15
jge 0x4bdd1
movq 0x1a90(%rbx), %rax
movq (%rax,%r15,8), %rdi
movb 0x8e(%rdi), %al
movb %al, 0x8f(%rdi)
movw $0x0, 0x9a(%rdi)
movb %r14b, 0x8e(%rdi)
movb %r14b, 0x90(%rdi)
testb %al, %al
jne 0x4b4ae
cmpb $0x0, 0x3e0(%rdi)
jne 0x4b4ae
movss -0x40(%rbp), %xmm0
ucomiss 0x284(%rdi), %xmm0
jbe 0x4b4ae
callq 0x4691a
incq %r15
movl 0x1a88(%rbx), %eax
cmpq %rax, %r15
jne 0x4b455
cmpl $0x0, 0x20e8(%rbx)
jle 0x4b522
xorl %r14d, %r14d
xorps %xmm2, %xmm2
xorl %r15d, %r15d
movq 0x20f0(%rbx), %rax
movss (%rax,%r15,4), %xmm0
ucomiss %xmm2, %xmm0
jb 0x4b50c
movss -0x40(%rbp), %xmm1
ucomiss %xmm0, %xmm1
jbe 0x4b50c
movslq 0x20b0(%rbx), %rax
cmpq %rax, %r15
jge 0x4bde8
movq 0x20b8(%rbx), %rdi
addq %r14, %rdi
callq 0x8f705
xorps %xmm2, %xmm2
incq %r15
movslq 0x20e8(%rbx), %rax
addq $0x258, %r14            # imm = 0x258
cmpq %rax, %r15
jl 0x4b4ce
cmpb $0x0, 0x1a77(%rbx)
je 0x4b530
callq 0x46887
movb $0x0, 0x1a77(%rbx)
movq 0x1c90(%rbx), %rax
testq %rax, %rax
je 0x4b555
cmpb $0x0, 0x8f(%rax)
jne 0x4b555
xorl %edi, %edi
xorl %esi, %esi
callq 0x4c27b
movl 0x1abc(%rbx), %eax
testl %eax, %eax
jns 0x4b5f9
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
addl %eax, %ecx
xorl %r15d, %r15d
testl %ecx, %ecx
cmovgl %ecx, %r15d
leaq (,%r15,8), %rdi
movq 0xb274a(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x4b591
incl 0x3b4(%rax)
movq 0xb2748(%rip), %rsi     # 0xfdce0
callq *0xadf72(%rip)          # 0xf9510
movq %rax, %r14
movq 0x1ac0(%rbx), %rsi
testq %rsi, %rsi
je 0x4b5eb
movslq 0x1ab8(%rbx), %rdx
shlq $0x3, %rdx
movq %r14, %rdi
callq 0xc080
movq 0x1ac0(%rbx), %rdi
testq %rdi, %rdi
je 0x4b5de
movq 0xb26fd(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x4b5de
decl 0x3b4(%rax)
movq 0xb26fb(%rip), %rsi     # 0xfdce0
callq *0xadf2d(%rip)          # 0xf9518
movq %r14, 0x1ac0(%rbx)
movl %r15d, 0x1abc(%rbx)
movl $0x0, 0x1ab8(%rbx)
movl 0x1c84(%rbx), %eax
testl %eax, %eax
jns 0x4b6ae
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
addl %eax, %ecx
xorl %r15d, %r15d
testl %ecx, %ecx
cmovgl %ecx, %r15d
movq %r15, %rax
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdi
movq 0xb2699(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x4b642
incl 0x3b4(%rax)
movq 0xb2697(%rip), %rsi     # 0xfdce0
callq *0xadec1(%rip)          # 0xf9510
movq %rax, %r14
movq 0x1c88(%rbx), %rsi
testq %rsi, %rsi
je 0x4b6a0
movslq 0x1c80(%rbx), %rax
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdx
movq %r14, %rdi
callq 0xc080
movq 0x1c88(%rbx), %rdi
testq %rdi, %rdi
je 0x4b693
movq 0xb2648(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x4b693
decl 0x3b4(%rax)
movq 0xb2646(%rip), %rsi     # 0xfdce0
callq *0xade78(%rip)          # 0xf9518
movq %r14, 0x1c88(%rbx)
movl %r15d, 0x1c84(%rbx)
movl $0x0, 0x1c80(%rbx)
movl 0x1c54(%rbx), %eax
testl %eax, %eax
jns 0x4b75c
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
addl %eax, %ecx
xorl %r15d, %r15d
testl %ecx, %ecx
cmovgl %ecx, %r15d
leaq (,%r15,4), %rdi
movq 0xb25e7(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x4b6f4
incl 0x3b4(%rax)
movq 0xb25e5(%rip), %rsi     # 0xfdce0
callq *0xade0f(%rip)          # 0xf9510
movq %rax, %r14
movq 0x1c58(%rbx), %rsi
testq %rsi, %rsi
je 0x4b74e
movslq 0x1c50(%rbx), %rdx
shlq $0x2, %rdx
movq %r14, %rdi
callq 0xc080
movq 0x1c58(%rbx), %rdi
testq %rdi, %rdi
je 0x4b741
movq 0xb259a(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x4b741
decl 0x3b4(%rax)
movq 0xb2598(%rip), %rsi     # 0xfdce0
callq *0xaddca(%rip)          # 0xf9518
movq %r14, 0x1c58(%rbx)
movl %r15d, 0x1c54(%rbx)
movl $0x0, 0x1c50(%rbx)
cmpl $0x0, 0x1c54(%rbx)
jne 0x4b7f5
movq 0xb2556(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x4b785
incl 0x3b4(%rax)
movq 0xb2554(%rip), %rsi     # 0xfdce0
movl $0x20, %edi
callq *0xadd79(%rip)          # 0xf9510
movq %rax, %r14
movq 0x1c58(%rbx), %rsi
testq %rsi, %rsi
je 0x4b7e4
movslq 0x1c50(%rbx), %rdx
shlq $0x2, %rdx
movq %r14, %rdi
callq 0xc080
movq 0x1c58(%rbx), %rdi
testq %rdi, %rdi
je 0x4b7d7
movq 0xb2504(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x4b7d7
decl 0x3b4(%rax)
movq 0xb2502(%rip), %rsi     # 0xfdce0
callq *0xadd34(%rip)          # 0xf9518
movq %r14, 0x1c58(%rbx)
movl $0x8, 0x1c54(%rbx)
movq 0x1c58(%rbx), %rax
movslq 0x1c50(%rbx), %rcx
movl $0x0, (%rax,%rcx,4)
incl 0x1c50(%rbx)
movl 0x1c64(%rbx), %eax
testl %eax, %eax
jns 0x4b8bb
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
addl %eax, %ecx
xorl %r15d, %r15d
testl %ecx, %ecx
cmovgl %ecx, %r15d
movq %r15, %rax
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdi
movq 0xb248c(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x4b84f
incl 0x3b4(%rax)
movq 0xb248a(%rip), %rsi     # 0xfdce0
callq *0xadcb4(%rip)          # 0xf9510
movq %rax, %r14
movq 0x1c68(%rbx), %rsi
testq %rsi, %rsi
je 0x4b8ad
movslq 0x1c60(%rbx), %rax
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdx
movq %r14, %rdi
callq 0xc080
movq 0x1c68(%rbx), %rdi
testq %rdi, %rdi
je 0x4b8a0
movq 0xb243b(%rip), %rax     # 0xfdcd0
testq %rax, %rax
je 0x4b8a0
decl 0x3b4(%rax)
movq 0xb2439(%rip), %rsi     # 0xfdce0
callq *0xadc6b(%rip)          # 0xf9518
movq %r14, 0x1c68(%rbx)
movl %r15d, 0x1c64(%rbx)
xorl %r14d, %r14d
movl %r14d, 0x1c60(%rbx)
movq 0x1c90(%rbx), %rdi
xorl %esi, %esi
callq 0x4853f
movq 0xb23f6(%rip), %r15     # 0xfdcd0
movl %r14d, 0x3170(%r15)
cmpb $0x1, 0x316c(%r15)
jne 0x4b9c0
movl 0x1b20(%r15), %r14d
movl $0x7, 0x2000(%r15)
movl 0x74(%r15), %edi
testl %edi, %edi
js 0x4b91f
movl $0x1, %esi
callq 0x5256e
testb %al, %al
je 0x4b91f
movb $0x0, 0x316c(%r15)
movq 0xb23aa(%rip), %rax     # 0xfdcd0
xorps %xmm0, %xmm0
ucomiss 0x43c(%rax), %xmm0
setnp %cl
sete %dl
andb %cl, %dl
testl %r14d, %r14d
setne %cl
andb %dl, %cl
cmpb $0x1, %cl
jne 0x4b954
movl %r14d, 0x3170(%r15)
movb $0x0, 0x316c(%r15)
xorl %r15d, %r15d
testl %r14d, %r14d
sete %r15b
orb $0x40, 0x1b88(%rax)
movl $0x3f19999a, 0x1be8(%rax) # imm = 0x3F19999A
xorl %edi, %edi
xorl %esi, %esi
callq 0x57b95
leaq 0x6fd58(%rip), %rdi     # 0xbb6d7
movl %r14d, %esi
xorl %eax, %eax
callq 0x92024
leaq 0x6fd59(%rip), %rdi     # 0xbb6e9
xorl %eax, %eax
callq 0x92024
movq 0xb2332(%rip), %rax     # 0xfdcd0
shll $0x4, %r15d
leaq (%rax,%r15), %rdi
addq $0x1624, %rdi           # imm = 0x1624
leaq 0x6fd51(%rip), %rsi     # 0xbb705
xorl %eax, %eax
callq 0x92104
callq 0x57cdf
movb $0x1, 0x1a75(%rbx)
movq 0xb2302(%rip), %rax     # 0xfdcd0
orl $0x2, 0x1b88(%rax)
movabsq $0x43c8000043c80000, %rcx # imm = 0x43C8000043C80000
movq %rcx, 0x1ba8(%rax)
movl $0x4, 0x1b90(%rax)
leaq 0x6d090(%rip), %rdi     # 0xb8a87
xorl %esi, %esi
xorl %edx, %edx
callq 0x4c3ad
movq 0x1ae0(%rbx), %rax
cmpb $0x0, 0x96(%rax)
je 0x4bfd8
cmpl $0x0, 0x3128(%rbx)
jle 0x4ba50
xorl %r14d, %r14d
xorl %r15d, %r15d
movq 0x3130(%rbx), %rax
cmpl $0x1, (%rax,%r14)
jne 0x4ba3d
leaq (%rax,%r14), %rsi
movq %rbx, %rdi
callq *0x8(%rax,%r14)
incq %r15
movslq 0x3128(%rbx), %rax
addq $0x18, %r14
cmpq %rax, %r15
jl 0x4ba23
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpeqss 0x14a0(%rdx), %xmm1
movd %xmm1, %edi
andl $0x1, %edi
movl 0x1b30(%r15), %esi
testl %esi, %esi
setne %r8b
movl %edi, %r9d
xorb $0x1, %r9b
orb %r8b, %r9b
jne 0x4ba8a
movl %ecx, (%rax)
xorps %xmm1, %xmm1
testl %esi, %esi
je 0x4baf8
ucomiss %xmm1, %xmm0
setbe %r8b
cmpl %ecx, %esi
setne %r9b
orb %r8b, %r9b
jne 0x4baaa
movl %ecx, 0x1ca4(%r15)
testl %esi, %esi
je 0x4baff
cmpl %ecx, %esi
sete %r8b
testb %r8b, %dil
je 0x4bac0
movl %ecx, 0x1ca8(%r15)
testl %esi, %esi
setne %dil
cmpl %ecx, %esi
setne %sil
testb %sil, %dil
jne 0x4a15e
movss 0x14a8(%rdx), %xmm0
ucomiss %xmm1, %xmm0
jne 0x4a15e
jp 0x4a15e
movl %ecx, 0x1cac(%r15)
jmp 0x4a15e
ucomiss %xmm1, %xmm0
ja 0x4baa3
jmp 0x4baaa
testb %dil, %dil
jne 0x4bab9
jmp 0x4bac0
movl $0x0, -0x60(%rbp)
movl 0x5c(%r12), %edi
movl $0x1, %esi
callq 0x5256e
testb %al, %al
je 0x4bb33
movq 0xb21a9(%rip), %rax     # 0xfdcd0
testb $0x1, 0x1b51(%rax)
sete %cl
jmp 0x4bb35
xorl %ecx, %ecx
xorps %xmm6, %xmm6
movl -0x40(%rbp), %eax
cmpl %eax, %r13d
jne 0x4bb4b
movl -0x60(%rbp), %eax
xorb %cl, %al
je 0x4a377
cmpl $0x0, 0x150(%r14)
jne 0x4bb9a
cmpb $0x1, 0x15d(%r14)
jne 0x4bb9a
movl %ecx, %r13d
movl 0x50(%r12), %edi
movl $0x1, %esi
callq 0x5256e
testb %al, %al
je 0x4bd51
movss 0x60(%r14), %xmm0
movss 0x224(%r14), %xmm1
subss 0x21c(%r14), %xmm1
subss %xmm1, %xmm0
jmp 0x4bd7c
movl 0x1cdc(%r12), %eax
shlq $0x4, %rax
leaq (%r14,%rax), %r13
addq $0x3b8, %r13            # imm = 0x3B8
movss 0x224(%r14), %xmm0
subss 0x21c(%r14), %xmm0
movq 0xb2106(%rip), %rax     # 0xfdcd0
movss 0x1984(%rax), %xmm1
mulss 0x2b0(%r14), %xmm1
movq 0x388(%r14), %rax
testq %rax, %rax
movl %ecx, -0x48(%rbp)
je 0x4bbf2
mulss 0x2b0(%rax), %xmm1
subss %xmm1, %xmm0
movss 0xc(%r13), %xmm1
subss 0x4(%r13), %xmm1
addss %xmm0, %xmm1
xorps %xmm0, %xmm0
movaps %xmm1, %xmm2
cmpless %xmm0, %xmm2
andnps %xmm1, %xmm2
movaps %xmm2, -0x40(%rbp)
movl 0x50(%r12), %edi
movl $0x1, %esi
callq 0x5256e
testb %al, %al
je 0x4bc5f
movaps -0x40(%rbp), %xmm6
xorps 0x6b38a(%rip), %xmm6    # 0xb6fc0
movl $0x3, 0x1d10(%r12)
movl $0x2, 0x1d18(%r12)
movl $0x30, 0x1d04(%r12)
jmp 0x4a377
movl 0x54(%r12), %edi
movl $0x1, %esi
callq 0x5256e
testb %al, %al
je 0x4bc9f
movl $0x2, 0x1d10(%r12)
movl $0x3, 0x1d18(%r12)
movl $0x30, 0x1d04(%r12)
movaps -0x40(%rbp), %xmm6
jmp 0x4a377
cmpb $0x0, -0x60(%rbp)
je 0x4bcf2
movss 0x60(%r14), %xmm0
xorps 0x6b30e(%rip), %xmm0    # 0xb6fc0
movss %xmm0, 0xc(%r13)
movss %xmm0, 0x4(%r13)
movss (%r13), %xmm0
ucomiss 0x8(%r13), %xmm0
jbe 0x4bcd5
xorl %eax, %eax
movl %eax, 0x8(%r13)
movl %eax, (%r13)
movl $0x3, 0x1d10(%r12)
movl $0x50, 0x1d04(%r12)
jmp 0x4bd8f
xorps %xmm6, %xmm6
cmpb $0x0, -0x48(%rbp)
je 0x4a377
movss 0x68(%r14), %xmm0
addss 0x24(%r14), %xmm0
subss 0x60(%r14), %xmm0
movss %xmm0, 0xc(%r13)
movss %xmm0, 0x4(%r13)
movss (%r13), %xmm0
ucomiss 0x8(%r13), %xmm0
jbe 0x4bd34
xorl %eax, %eax
movl %eax, 0x8(%r13)
movl %eax, (%r13)
movl $0x2, 0x1d10(%r12)
movl $0x50, 0x1d04(%r12)
jmp 0x4a377
movl 0x54(%r12), %edi
movl $0x1, %esi
callq 0x5256e
testb %al, %al
je 0x4bd97
movss 0x224(%r14), %xmm0
subss 0x21c(%r14), %xmm0
addss 0x60(%r14), %xmm0
movss %xmm0, 0x70(%r14)
xorl %eax, %eax
movl %eax, 0x78(%r14)
movl %eax, 0x80(%r14)
xorps %xmm6, %xmm6
jmp 0x4a377
cmpb $0x0, -0x60(%rbp)
je 0x4bda5
xorl %eax, %eax
movl %eax, 0x70(%r14)
jmp 0x4bd84
testb %r13b, %r13b
je 0x4bd8f
movss 0x68(%r14), %xmm0
jmp 0x4bd7c
leaq 0x7010a(%rip), %rdi     # 0xbbec3
leaq 0x6c3a5(%rip), %rsi     # 0xb8165
leaq 0x6fce1(%rip), %rcx     # 0xbbaa8
movl $0x1b3d, %edx           # imm = 0x1B3D
callq 0xc140
leaq 0x6f8a0(%rip), %rdi     # 0xbb678
leaq 0x6f8ac(%rip), %rsi     # 0xbb68b
leaq 0x70c81(%rip), %rcx     # 0xbca67
jmp 0x4bdfd
leaq 0x6f889(%rip), %rdi     # 0xbb678
leaq 0x6f895(%rip), %rsi     # 0xbb68b
leaq 0x70c30(%rip), %rcx     # 0xbca2d
movl $0x65c, %edx            # imm = 0x65C
callq 0xc140
leaq 0x6cdee(%rip), %rdi     # 0xb8bfc
leaq 0x6c350(%rip), %rsi     # 0xb8165
leaq 0x6ce42(%rip), %rcx     # 0xb8c5e
movl $0x1185, %edx           # imm = 0x1185
callq 0xc140
leaq 0x6fd7b(%rip), %rdi     # 0xbbba8
leaq 0x6c331(%rip), %rsi     # 0xb8165
leaq 0x6fc6d(%rip), %rcx     # 0xbbaa8
movl $0x1b34, %edx           # imm = 0x1B34
callq 0xc140
leaq 0x6ff7b(%rip), %rdi     # 0xbbdc7
leaq 0x6c312(%rip), %rsi     # 0xb8165
leaq 0x6fc4e(%rip), %rcx     # 0xbbaa8
movl $0x1b3a, %edx           # imm = 0x1B3A
callq 0xc140
leaq 0x704a3(%rip), %rdi     # 0xbc30e
leaq 0x6c2f3(%rip), %rsi     # 0xb8165
leaq 0x70418(%rip), %rcx     # 0xbc291
movl $0x2310, %edx           # imm = 0x2310
callq 0xc140
leaq 0x6c568(%rip), %rdi     # 0xb83f2
leaq 0x6c2d4(%rip), %rsi     # 0xb8165
leaq 0x6cb9a(%rip), %rcx     # 0xb8a32
movl $0xec5, %edx            # imm = 0xEC5
callq 0xc140
leaq 0x6cc62(%rip), %rdi     # 0xb8b0b
leaq 0x6c2b5(%rip), %rsi     # 0xb8165
leaq 0x6fbf1(%rip), %rcx     # 0xbbaa8
movl $0x1b31, %edx           # imm = 0x1B31
callq 0xc140
leaq 0x6fd39(%rip), %rdi     # 0xbbc01
leaq 0x6c296(%rip), %rsi     # 0xb8165
leaq 0x6fbd2(%rip), %rcx     # 0xbbaa8
movl $0x1b35, %edx           # imm = 0x1B35
callq 0xc140
leaq 0x6fd94(%rip), %rdi     # 0xbbc7b
leaq 0x6c277(%rip), %rsi     # 0xb8165
leaq 0x6fbb3(%rip), %rcx     # 0xbbaa8
movl $0x1b36, %edx           # imm = 0x1B36
callq 0xc140
leaq 0x6fdf5(%rip), %rdi     # 0xbbcfb
leaq 0x6c258(%rip), %rsi     # 0xb8165
leaq 0x6fb94(%rip), %rcx     # 0xbbaa8
movl $0x1b37, %edx           # imm = 0x1B37
callq 0xc140
leaq 0x6fe16(%rip), %rdi     # 0xbbd3b
leaq 0x6c239(%rip), %rsi     # 0xb8165
leaq 0x6fb75(%rip), %rcx     # 0xbbaa8
movl $0x1b38, %edx           # imm = 0x1B38
callq 0xc140
leaq 0x6fe38(%rip), %rdi     # 0xbbd7c
leaq 0x6c21a(%rip), %rsi     # 0xb8165
leaq 0x6fb56(%rip), %rcx     # 0xbbaa8
movl $0x1b39, %edx           # imm = 0x1B39
callq 0xc140
leaq 0x6cae6(%rip), %rdi     # 0xb8a49
leaq 0x6c1fb(%rip), %rsi     # 0xb8165
leaq 0x6cac1(%rip), %rcx     # 0xb8a32
movl $0xee0, %edx            # imm = 0xEE0
callq 0xc140
leaq 0x70327(%rip), %rdi     # 0xbc2a9
leaq 0x6c1dc(%rip), %rsi     # 0xb8165
leaq 0x70301(%rip), %rcx     # 0xbc291
movl $0x22aa, %edx           # imm = 0x22AA
callq 0xc140
leaq 0x703e9(%rip), %rdi     # 0xbc38a
leaq 0x6c1bd(%rip), %rsi     # 0xb8165
leaq 0x702e2(%rip), %rcx     # 0xbc291
movl $0x2360, %edx           # imm = 0x2360
callq 0xc140
leaq 0x6ca9c(%rip), %rdi     # 0xb8a5c
leaq 0x6c19e(%rip), %rsi     # 0xb8165
leaq 0x6ca64(%rip), %rcx     # 0xb8a32
movl $0xf50, %edx            # imm = 0xF50
callq 0xc140
leaq 0x6cab7(%rip), %rdi     # 0xb8a96
leaq 0x6c17f(%rip), %rsi     # 0xb8165
leaq 0x6ca45(%rip), %rcx     # 0xb8a32
movl $0xf7d, %edx            # imm = 0xF7D
callq 0xc140
leaq 0x703ab(%rip), %rdi     # 0xbc3a9
leaq 0x6c160(%rip), %rsi     # 0xb8165
leaq 0x703bb(%rip), %rcx     # 0xbc3c7
movl $0x2398, %edx           # imm = 0x2398
callq 0xc140
leaq 0x70227(%rip), %rdi     # 0xbc244
leaq 0x6c141(%rip), %rsi     # 0xb8165
leaq 0x7022f(%rip), %rcx     # 0xbc25a
movl $0x2200, %edx           # imm = 0x2200
callq 0xc140
leaq 0x6fae6(%rip), %rdi     # 0xbbb22
leaq 0x6c122(%rip), %rsi     # 0xb8165
leaq 0x6fa5e(%rip), %rcx     # 0xbbaa8
movl $0x1b33, %edx           # imm = 0x1B33
callq 0xc140
leaq 0x7028c(%rip), %rdi     # 0xbc2e7
leaq 0x6c103(%rip), %rsi     # 0xb8165
leaq 0x70228(%rip), %rcx     # 0xbc291
movl $0x22f5, %edx           # imm = 0x22F5
callq 0xc140
leaq 0x702d7(%rip), %rdi     # 0xbc351
leaq 0x6c0e4(%rip), %rsi     # 0xb8165
leaq 0x70209(%rip), %rcx     # 0xbc291
movl $0x2311, %edx           # imm = 0x2311
callq 0xc140
leaq 0x6fa3c(%rip), %rdi     # 0xbbad5
leaq 0x6c0c5(%rip), %rsi     # 0xb8165
leaq 0x6fa01(%rip), %rcx     # 0xbbaa8
movl $0x1b32, %edx           # imm = 0x1B32
callq 0xc140
leaq 0x6feca(%rip), %rdi     # 0xbbf82
leaq 0x6c0a6(%rip), %rsi     # 0xb8165
leaq 0x6f9e2(%rip), %rcx     # 0xbbaa8
movl $0x1b41, %edx           # imm = 0x1B41
callq 0xc140
leaq 0x703c2(%rip), %rdi     # 0xbc499
leaq 0x6c087(%rip), %rsi     # 0xb8165
leaq 0x703ce(%rip), %rcx     # 0xbc4b3
movl $0x273a, %edx           # imm = 0x273A
callq 0xc140
leaq 0x7018a(%rip), %rdi     # 0xbc280
leaq 0x6c068(%rip), %rsi     # 0xb8165
leaq 0x7018d(%rip), %rcx     # 0xbc291
movl $0x2294, %edx           # imm = 0x2294
callq 0xc140
leaq 0x6f563(%rip), %rdi     # 0xbb678
leaq 0x6f56f(%rip), %rsi     # 0xbb68b
leaq 0x6f57e(%rip), %rcx     # 0xbb6a1
jmp 0x4bdfd
leaq 0x6fcf7(%rip), %rdi     # 0xbbe26
leaq 0x6c02f(%rip), %rsi     # 0xb8165
leaq 0x6f96b(%rip), %rcx     # 0xbbaa8
movl $0x1b3b, %edx           # imm = 0x1B3B
callq 0xc140
leaq 0x7017e(%rip), %rdi     # 0xbc2cc
leaq 0x6c010(%rip), %rsi     # 0xb8165
leaq 0x70135(%rip), %rcx     # 0xbc291
movl $0x22c7, %edx           # imm = 0x22C7
callq 0xc140
leaq 0x6e284(%rip), %rdi     # 0xba3f1
leaq 0x6bff1(%rip), %rsi     # 0xb8165
leaq 0x6e167(%rip), %rcx     # 0xba2e2
movl $0x20a6, %edx           # imm = 0x20A6
callq 0xc140