// File: /workspace/github_cpp_makefile_star2_O2/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 $0x228, %rsp            # imm = 0x228
movq %rdi, 0x30(%rsp)
movq %rsi, 0x8(%rsp)
movl (%rsi), %eax
leal -0x24(%rax), %ecx
cmpl $-0x23, %ecx
ja 0x26e9
leaq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x22f0
leaq 0x5de5(%rip), %rsi      # 0x848a
movq %rbx, %rdi
callq 0x2200
movq 0x8(%rsp), %rcx
movl (%rcx), %esi
movq %rax, %rdi
callq 0x2400
leaq 0x6ac4(%rip), %rsi      # 0x9187
movq %rax, %rdi
callq 0x2200
leaq 0x60(%rsp), %rsi
movq 0x30(%rsp), %rdi
callq 0x23c0
leaq 0x58(%rsp), %rdi
callq 0x2040
jmp 0x307b
andq $0x0, 0x20(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
addl $-0x2, %eax
cmpl $0x15, %eax
ja 0x2f16
leaq 0x58fa(%rip), %rcx      # 0x8004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x8(%rsp), %rax
leaq 0x20(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5d67(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x50(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x379e
leaq 0x5d9e(%rip), %rsi      # 0x84fe
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x36d8
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x54(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x379e
leaq 0x5d76(%rip), %rsi      # 0x8509
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x3846
jmp 0x2f0c
movq 0x8(%rsp), %rax
leaq 0x20(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5cd3(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x54(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x379e
leaq 0x5cf5(%rip), %rsi      # 0x84e9
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
movq 0x48(%rax), %rax
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x34e6
leaq 0x5cc1(%rip), %rsi      # 0x84f0
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x3804
jmp 0x2f0c
movq 0x8(%rsp), %rax
leaq 0x28(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5c37(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x30(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5c0b(%rip), %rsi      # 0x849b
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rax
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x34e6
leaq 0x5bdc(%rip), %rsi      # 0x84a7
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x34a4
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
cmpl $0x0, 0x40(%rax)
leaq 0x38(%rsp), %rsi
setne (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x3670
leaq 0x5bb7(%rip), %rsi      # 0x84bd
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x362e
jmp 0x2f0c
movq 0x8(%rsp), %rax
leaq 0x20(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5b60(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
movq 0x48(%rax), %rax
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x34e6
leaq 0x5b81(%rip), %rsi      # 0x84f0
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x3804
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x50(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x379e
leaq 0x5b5c(%rip), %rsi      # 0x84fe
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x36d8
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x38(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5b2f(%rip), %rsi      # 0x8504
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x33e4
jmp 0x2f0c
movq 0x8(%rsp), %rax
leaq 0x28(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5a91(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x20(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5a65(%rip), %rsi      # 0x849b
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
movq 0x58(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x31e7
leaq 0x5a75(%rip), %rsi      # 0x84de
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x375c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rax
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x34e6
leaq 0x5a03(%rip), %rsi      # 0x84a7
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x34a4
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rax
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x3426
leaq 0x59c3(%rip), %rsi      # 0x84a2
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x33e4
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x40(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x35c8
leaq 0x599e(%rip), %rsi      # 0x84b0
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x3586
jmp 0x2f0c
movq 0x8(%rsp), %rax
leaq 0x28(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5954(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x20(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5928(%rip), %rsi      # 0x849b
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rax
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x3426
leaq 0x58f4(%rip), %rsi      # 0x84a2
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x33e4
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rax
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x34e6
leaq 0x58be(%rip), %rsi      # 0x84a7
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x34a4
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x40(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x35c8
leaq 0x5894(%rip), %rsi      # 0x84b0
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x3586
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
cmpl $0x0, 0x44(%rax)
leaq 0x38(%rsp), %rsi
setne (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x3670
leaq 0x5866(%rip), %rsi      # 0x84bd
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x362e
jmp 0x2f0c
movq 0x8(%rsp), %rax
leaq 0x28(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x580f(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rax
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x3426
leaq 0x57e2(%rip), %rsi      # 0x84a2
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x33e4
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rax
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x34e6
leaq 0x57ac(%rip), %rsi      # 0x84a7
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x34a4
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x40(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x35c8
leaq 0x5782(%rip), %rsi      # 0x84b0
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x3586
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
cmpl $0x0, 0x50(%rax)
leaq 0x38(%rsp), %rsi
setne (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x3670
leaq 0x5754(%rip), %rsi      # 0x84bd
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x362e
jmp 0x2f0c
movq 0x8(%rsp), %rax
leaq 0x28(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x56fd(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
jmp 0x2f0c
movq 0x8(%rsp), %rax
leaq 0x28(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x56cf(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x20(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x60da(%rip), %rsi      # 0x8ed2
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x36d8
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
cmpl $0x0, 0x30(%rax)
leaq 0x38(%rsp), %rsi
setne (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x3670
leaq 0x569c(%rip), %rsi      # 0x84cf
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x371a
jmp 0x2f0c
movq 0x8(%rsp), %rax
leaq 0x28(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5633(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
jmp 0x2f0c
movq 0x8(%rsp), %rax
leaq 0x28(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x5605(%rip), %rsi      # 0x8494
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x333c
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
leaq 0x20(%rax), %rsi
leaq 0x58(%rsp), %rdi
callq 0x337e
leaq 0x6010(%rip), %rsi      # 0x8ed2
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x36d8
leaq 0x58(%rsp), %rdi
callq 0x20d0
movq 0x8(%rsp), %rax
cmpl $0x0, 0x30(%rax)
leaq 0x38(%rsp), %rsi
setne (%rsi)
leaq 0x58(%rsp), %rdi
callq 0x3670
leaq 0x55c0(%rip), %rsi      # 0x84bd
leaq 0x10(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x362e
leaq 0x58(%rsp), %rdi
callq 0x20d0
leaq 0x55f4(%rip), %rsi      # 0x8511
leaq 0x1e8(%rsp), %rdi
leaq 0x2f(%rsp), %rdx
callq 0x3888
movq 0x18(%rsp), %rsi
subq 0x10(%rsp), %rsi
sarq $0x6, %rsi
leaq 0x1d0(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x48c4
movq 0x10(%rsp), %r15
movq 0x18(%rsp), %r14
movq 0x1d0(%rsp), %r12
leaq 0x639d(%rip), %r13      # 0x9305
leaq 0x58(%rsp), %rbp
leaq 0x38(%rsp), %rbx
cmpq %r14, %r15
je 0x2fbc
movq %rbp, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x4a44
addq $0x20, %r15
movq %rbx, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x4a25
movq %rbp, %rdi
callq 0x20d0
movq %r12, %rdi
movq %rbx, %rsi
callq 0x2290
movq %rbx, %rdi
callq 0x20d0
addq $0x20, %r12
addq $0x20, %r15
jmp 0x2f72
leaq 0x208(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x3a41
leaq 0x1d0(%rsp), %rdi
callq 0x3ad4
leaq 0x1e8(%rsp), %rdi
callq 0x20d0
leaq 0x58(%rsp), %rdi
callq 0x22f0
movq 0x8(%rsp), %rax
movslq (%rax), %rax
leaq 0x5050(%rip), %rcx      # 0x805c
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
leaq 0x58(%rsp), %rdi
callq 0x2200
leaq 0x54f0(%rip), %rsi      # 0x8514
movq %rax, %rdi
callq 0x2200
leaq 0x208(%rsp), %rsi
movq %rax, %rdi
callq 0x21e0
leaq 0x54d5(%rip), %rsi      # 0x8518
movq %rax, %rdi
callq 0x2200
leaq 0x60(%rsp), %rsi
movq 0x30(%rsp), %rdi
callq 0x23c0
leaq 0x58(%rsp), %rdi
callq 0x2040
leaq 0x208(%rsp), %rdi
callq 0x20d0
leaq 0x10(%rsp), %rdi
callq 0x38c4
movq 0x30(%rsp), %rax
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3164
jmp 0x3164
jmp 0x317e
jmp 0x317e
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x3164
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x317e
jmp 0x3164
jmp 0x3164
jmp 0x317e
jmp 0x317e
jmp 0x3164
jmp 0x3164
jmp 0x317e
jmp 0x317e
jmp 0x3164
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
jmp 0x31d0
jmp 0x317e
jmp 0x317e
movq %rax, %rbx
jmp 0x319f
jmp 0x31a9
movq %rax, %rbx
jmp 0x31c8
movq %rax, %rbx
jmp 0x31d5
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
callq 0x2040
jmp 0x31df
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
callq 0x2040
leaq 0x208(%rsp), %rdi
jmp 0x31d0
movq %rax, %rbx
jmp 0x31bb
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
callq 0x20d0
leaq 0x1d0(%rsp), %rdi
callq 0x3ad4
leaq 0x1e8(%rsp), %rdi
callq 0x20d0
leaq 0x10(%rsp), %rdi
callq 0x38c4
movq %rbx, %rdi
callq 0x2420