// File: /workspace/github_cpp_makefile_star2_O1/nishalkulkarni[P]fluid-wm/util.cpp
// Function: ToString[abi:cxx11](_XEvent const&)
std::string ToString(const XEvent& e)
{
    static const char* const X_EVENT_TYPE_NAMES[] = {
        "",
        "",
        "KeyPress",
        "KeyRelease",
        "ButtonPress",
        "ButtonRelease",
        "MotionNotify",
        "EnterNotify",
        "LeaveNotify",
        "FocusIn",
        "FocusOut",
        "KeymapNotify",
        "Expose",
        "GraphicsExpose",
        "NoExpose",
        "VisibilityNotify",
        "CreateNotify",
        "DestroyNotify",
        "UnmapNotify",
        "MapNotify",
        "MapRequest",
        "ReparentNotify",
        "ConfigureNotify",
        "ConfigureRequest",
        "GravityNotify",
        "ResizeRequest",
        "CirculateNotify",
        "CirculateRequest",
        "PropertyNotify",
        "SelectionClear",
        "SelectionRequest",
        "SelectionNotify",
        "ColormapNotify",
        "ClientMessage",
        "MappingNotify",
        "GeneralEvent",
    };

    if (e.type < 2 || e.type >= LASTEvent) {
        std::ostringstream out;
        out << "Unknown (" << e.type << ")";
        return out.str();
    }

    std::vector<std::pair<std::string, std::string>> properties;
    switch (e.type) {
    case CreateNotify:
        properties.emplace_back(
            "window", ToString(e.xcreatewindow.window));
        properties.emplace_back(
            "parent", ToString(e.xcreatewindow.parent));
        properties.emplace_back(
            "size",
            Size<int>(e.xcreatewindow.width, e.xcreatewindow.height).ToString());
        properties.emplace_back(
            "position",
            Position<int>(e.xcreatewindow.x, e.xcreatewindow.y).ToString());
        properties.emplace_back(
            "border_width",
            ToString(e.xcreatewindow.border_width));
        properties.emplace_back(
            "override_redirect",
            ToString(static_cast<bool>(e.xcreatewindow.override_redirect)));
        break;
    case DestroyNotify:
        properties.emplace_back(
            "window", ToString(e.xdestroywindow.window));
        break;
    case MapNotify:
        properties.emplace_back(
            "window", ToString(e.xmap.window));
        properties.emplace_back(
            "event", ToString(e.xmap.event));
        properties.emplace_back(
            "override_redirect",
            ToString(static_cast<bool>(e.xmap.override_redirect)));
        break;
    case UnmapNotify:
        properties.emplace_back(
            "window", ToString(e.xunmap.window));
        properties.emplace_back(
            "event", ToString(e.xunmap.event));
        properties.emplace_back(
            "from_configure",
            ToString(static_cast<bool>(e.xunmap.from_configure)));
        break;
    case ConfigureNotify:
        properties.emplace_back(
            "window", ToString(e.xconfigure.window));
        properties.emplace_back(
            "size",
            Size<int>(e.xconfigure.width, e.xconfigure.height).ToString());
        properties.emplace_back(
            "position",
            Position<int>(e.xconfigure.x, e.xconfigure.y).ToString());
        properties.emplace_back(
            "border_width",
            ToString(e.xconfigure.border_width));
        properties.emplace_back(
            "override_redirect",
            ToString(static_cast<bool>(e.xconfigure.override_redirect)));
        break;
    case ReparentNotify:
        properties.emplace_back(
            "window", ToString(e.xreparent.window));
        properties.emplace_back(
            "parent", ToString(e.xreparent.parent));
        properties.emplace_back(
            "position",
            Position<int>(e.xreparent.x, e.xreparent.y).ToString());
        properties.emplace_back(
            "override_redirect",
            ToString(static_cast<bool>(e.xreparent.override_redirect)));
        break;
    case MapRequest:
        properties.emplace_back(
            "window", ToString(e.xmaprequest.window));
        break;
    case ConfigureRequest:
        properties.emplace_back(
            "window", ToString(e.xconfigurerequest.window));
        properties.emplace_back(
            "parent", ToString(e.xconfigurerequest.parent));
        properties.emplace_back(
            "value_mask",
            XConfigureWindowValueMaskToString(e.xconfigurerequest.value_mask));
        properties.emplace_back(
            "position",
            Position<int>(e.xconfigurerequest.x,
                e.xconfigurerequest.y)
                .ToString());
        properties.emplace_back(
            "size",
            Size<int>(e.xconfigurerequest.width,
                e.xconfigurerequest.height)
                .ToString());
        properties.emplace_back(
            "border_width",
            ToString(e.xconfigurerequest.border_width));
        break;
    case ButtonPress:
    case ButtonRelease:
        properties.emplace_back(
            "window", ToString(e.xbutton.window));
        properties.emplace_back(
            "button", ToString(e.xbutton.button));
        properties.emplace_back(
            "position_root",
            Position<int>(e.xbutton.x_root, e.xbutton.y_root).ToString());
        break;
    case MotionNotify:
        properties.emplace_back(
            "window", ToString(e.xmotion.window));
        properties.emplace_back(
            "position_root",
            Position<int>(e.xmotion.x_root, e.xmotion.y_root).ToString());
        properties.emplace_back(
            "state", ToString(e.xmotion.state));
        properties.emplace_back(
            "time", ToString(e.xmotion.time));
        break;
    case KeyPress:
    case KeyRelease:
        properties.emplace_back(
            "window", ToString(e.xkey.window));
        properties.emplace_back(
            "state", ToString(e.xkey.state));
        properties.emplace_back(
            "keycode", ToString(e.xkey.keycode));
        break;
    default:
        break;
    }

    const std::string properties_string = Join(
        properties, ", ", [](const std::pair<std::string, std::string>& pair) {
            return pair.first + ": " + pair.second;
        });
    std::ostringstream out;
    out << X_EVENT_TYPE_NAMES[e.type] << " { " << properties_string << " }";
    return out.str();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x218, %rsp            # imm = 0x218
movq %rsi, %r12
movq %rdi, %r14
movl (%rsi), %eax
leal -0x24(%rax), %ecx
cmpl $-0x23, %ecx
ja 0x3760
leaq 0x18(%rsp), %r15
movq %r15, %rdi
callq 0x3300
leaq 0x6cf9(%rip), %rsi      # 0xa3fa
movl $0x9, %edx
movq %r15, %rdi
callq 0x32a0
movl (%r12), %esi
leaq 0x18(%rsp), %rdi
callq 0x3410
leaq 0x79d0(%rip), %rsi      # 0xb0f3
movl $0x1, %edx
movq %rax, %rdi
callq 0x32a0
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x33c0
movq 0xb88c(%rip), %rsi      # 0xefd0
leaq 0x18(%rsp), %rdi
callq 0x3110
leaq 0x88(%rsp), %rdi
callq 0x30a0
jmp 0x4305
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
addl $-0x2, %eax
cmpl $0x15, %eax
ja 0x4083
leaq 0x6881(%rip), %rcx      # 0xa004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x20(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6c62(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
leaq 0x28(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x37ca
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x50(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x4b7d
leaq 0x6c8e(%rip), %rsi      # 0xa46e
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4aca
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3804
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x54(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x4b7d
leaq 0x6c5f(%rip), %rsi      # 0xa479
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4c42
jmp 0x406c
leaq 0x20(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6bc2(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
leaq 0x28(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x386a
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x54(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x4b7d
leaq 0x6bd9(%rip), %rsi      # 0xa459
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x38a4
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq 0x48(%r12), %rax
leaq 0x190(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x486c
leaq 0x6b9b(%rip), %rsi      # 0xa460
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4c06
jmp 0x406c
leaq 0x28(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6b17(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
leaq 0x28(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x3915
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x30(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6ae0(%rip), %rsi      # 0xa40b
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x394f
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq 0x38(%r12), %rax
leaq 0x190(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x486c
leaq 0x6aa7(%rip), %rsi      # 0xa417
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4830
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3994
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
cmpl $0x0, 0x40(%r12)
leaq 0x190(%rsp), %rsi
setne (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x4a41
leaq 0x6a77(%rip), %rsi      # 0xa42d
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4a06
jmp 0x406c
leaq 0x20(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6a26(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
leaq 0x28(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x3a06
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq 0x48(%r12), %rax
leaq 0x190(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x486c
leaq 0x6a39(%rip), %rsi      # 0xa460
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4c06
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3a4b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x50(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x4b7d
leaq 0x6a0d(%rip), %rsi      # 0xa46e
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4aca
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3a85
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x38(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x69d9(%rip), %rsi      # 0xa474
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x474a
jmp 0x406c
leaq 0x28(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6941(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
leaq 0x28(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x3aeb
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x20(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x690a(%rip), %rsi      # 0xa40b
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3b25
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq 0x58(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x451f
leaq 0x6913(%rip), %rsi      # 0xa44e
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4b42
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3b5f
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq 0x30(%r12), %rax
leaq 0x190(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x486c
leaq 0x6897(%rip), %rsi      # 0xa417
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4830
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3ba4
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq 0x38(%r12), %rax
leaq 0x190(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x4786
leaq 0x684d(%rip), %rsi      # 0xa412
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x474a
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3be9
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x40(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x497d
leaq 0x6821(%rip), %rsi      # 0xa420
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4942
jmp 0x406c
leaq 0x28(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x67dd(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
leaq 0x28(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x3c4f
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x20(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x67a6(%rip), %rsi      # 0xa40b
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3c89
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq 0x38(%r12), %rax
leaq 0x190(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x4786
leaq 0x6768(%rip), %rsi      # 0xa412
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x474a
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3cce
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq 0x30(%r12), %rax
leaq 0x190(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x486c
leaq 0x6728(%rip), %rsi      # 0xa417
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4830
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3d13
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x40(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x497d
leaq 0x66f7(%rip), %rsi      # 0xa420
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4942
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3d4d
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
cmpl $0x0, 0x44(%r12)
leaq 0x190(%rsp), %rsi
setne (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x4a41
leaq 0x66be(%rip), %rsi      # 0xa42d
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4a06
jmp 0x406c
leaq 0x28(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x666d(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
leaq 0x28(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x3dbf
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq 0x38(%r12), %rax
leaq 0x190(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x4786
leaq 0x6632(%rip), %rsi      # 0xa412
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x474a
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3e04
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq 0x30(%r12), %rax
leaq 0x190(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x486c
leaq 0x65f2(%rip), %rsi      # 0xa417
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4830
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3e49
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x40(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x497d
leaq 0x65c1(%rip), %rsi      # 0xa420
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4942
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3e83
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
cmpl $0x0, 0x50(%r12)
leaq 0x190(%rsp), %rsi
setne (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x4a41
leaq 0x6588(%rip), %rsi      # 0xa42d
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4a06
jmp 0x406c
leaq 0x28(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6537(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
jmp 0x3fae
leaq 0x28(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x650f(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
leaq 0x28(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x3f1d
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x20(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6f0b(%rip), %rsi      # 0xae3e
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4aca
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3f57
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
cmpl $0x0, 0x30(%r12)
leaq 0x190(%rsp), %rsi
setne (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x4a41
leaq 0x64c6(%rip), %rsi      # 0xa43f
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4b06
jmp 0x406c
leaq 0x28(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6463(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
leaq 0x28(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x4076
jmp 0x4083
leaq 0x28(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6429(%rip), %rsi      # 0xa404
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4686
leaq 0x28(%rsp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x4003
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x20(%r12), %rsi
leaq 0x18(%rsp), %rdi
callq 0x46c1
leaq 0x6e25(%rip), %rsi      # 0xae3e
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4aca
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x403d
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
cmpl $0x0, 0x30(%r12)
leaq 0x190(%rsp), %rsi
setne (%rsi)
leaq 0x18(%rsp), %rdi
callq 0x4a41
leaq 0x63ce(%rip), %rsi      # 0xa42d
movq %rsp, %rdi
leaq 0x18(%rsp), %rdx
callq 0x4a06
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4083
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x1c0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x63eb(%rip), %rsi      # 0xa481
leaq 0x63e6(%rip), %rdx      # 0xa483
leaq 0x1b0(%rsp), %rdi
callq 0x6280
movq %r12, 0x1d8(%rsp)
movq %r14, 0x1d0(%rsp)
movq 0x8(%rsp), %rsi
subq (%rsp), %rsi
sarq $0x6, %rsi
leaq 0x200(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0x614a
movq (%rsp), %rbx
movq 0x8(%rsp), %r13
cmpq %r13, %rbx
je 0x41de
movq 0x200(%rsp), %r15
leaq 0x28(%rsp), %r14
leaq 0x1a0(%rsp), %rbp
leaq 0x18(%rsp), %r12
movq %r14, 0x18(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x61f0
movq %r12, %rdi
leaq 0x714b(%rip), %rsi      # 0xb271
callq 0x3490
movq 0x20(%rbx), %rsi
movq 0x28(%rbx), %rdx
movq %r12, %rdi
callq 0x3090
movq %rbp, 0x190(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4167
movq %rdx, 0x190(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1a0(%rsp)
jmp 0x416e
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x198(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x41a0
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
movq %r15, %rdi
leaq 0x190(%rsp), %rsi
callq 0x32b0
movq 0x190(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41cd
movq 0x1a0(%rsp), %rsi
incq %rsi
callq 0x3250
addq $0x40, %rbx
addq $0x20, %r15
cmpq %r13, %rbx
jne 0x4105
leaq 0x1e0(%rsp), %rdi
leaq 0x200(%rsp), %rsi
leaq 0x1b0(%rsp), %rdx
callq 0x4ef0
leaq 0x200(%rsp), %rdi
callq 0x4fb4
movq 0x1b0(%rsp), %rdi
leaq 0x1c0(%rsp), %rax
cmpq %rax, %rdi
movq 0x1d8(%rsp), %rbx
je 0x4235
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x18(%rsp), %rdi
callq 0x3300
movslq (%rbx), %rax
leaq 0xaa37(%rip), %rcx      # 0xec80
movq (%rcx,%rax,8), %r14
movq %r14, %rdi
callq 0x30e0
leaq 0x18(%rsp), %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x32a0
movq 0x1d0(%rsp), %r14
leaq 0x6210(%rip), %rsi      # 0xa484
leaq 0x18(%rsp), %rdi
movl $0x3, %edx
callq 0x32a0
movq 0x1e0(%rsp), %rsi
movq 0x1e8(%rsp), %rdx
leaq 0x18(%rsp), %rdi
callq 0x32a0
leaq 0x61e4(%rip), %rsi      # 0xa488
movl $0x2, %edx
movq %rax, %rdi
callq 0x32a0
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x33c0
movq 0xad0b(%rip), %rsi      # 0xefd0
leaq 0x18(%rsp), %rdi
callq 0x3110
leaq 0x88(%rsp), %rdi
callq 0x30a0
leaq 0x1f0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x42fd
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x3250
movq %rsp, %rdi
callq 0x4cbc
movq %r14, %rax
addq $0x218, %rsp            # imm = 0x218
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4408
jmp 0x4408
jmp 0x4452
jmp 0x4452
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4408
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4420
jmp 0x4420
jmp 0x4420
jmp 0x4420
jmp 0x4420
jmp 0x4420
jmp 0x4420
jmp 0x4420
jmp 0x4420
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4452
jmp 0x4408
jmp 0x4408
jmp 0x4452
jmp 0x4452
jmp 0x4408
movq %rax, %r15
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
jne 0x4435
jmp 0x450f
jmp 0x4452
jmp 0x4452
jmp 0x4420
movq %rax, %r15
leaq 0x28(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x450f
movq 0x28(%rsp), %rsi
jmp 0x4507
jmp 0x4452
jmp 0x4452
movq %rax, %r15
jmp 0x44a1
jmp 0x44bc
movq %rax, %r15
jmp 0x44ea
movq %rax, %r15
jmp 0x450f
movq %rax, %r15
movq 0xab6c(%rip), %rsi      # 0xefd0
leaq 0x18(%rsp), %rdi
callq 0x3110
leaq 0x88(%rsp), %rdi
callq 0x30a0
jmp 0x4517
movq %rax, %r15
movq 0xab46(%rip), %rsi      # 0xefd0
leaq 0x18(%rsp), %rdi
callq 0x3110
leaq 0x88(%rsp), %rdi
callq 0x30a0
leaq 0x1f0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x450f
movq 0x1f0(%rsp), %rsi
jmp 0x4507
movq %rax, %r15
jmp 0x44dd
jmp 0x44c3
movq %rax, %r15
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x44dd
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x3250
leaq 0x200(%rsp), %rdi
callq 0x4fb4
movq 0x1b0(%rsp), %rdi
leaq 0x1c0(%rsp), %rax
cmpq %rax, %rdi
je 0x450f
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x3250
movq %rsp, %rdi
callq 0x4cbc
movq %r15, %rdi
callq 0x3430