// File: /workspace/github_cpp_makefile_star2_O3/fulhax[P]ncpamixer/src/ui/ui.cpp
// Function: Ui::init(int)
int Ui::init(int tab)
{
    setlocale(LC_ALL, "");
    initscr();
    curs_set(0);

    noecho();
    nonl();
    raw();

    start_color();
    use_default_colors();

    std::string theme = std::string("theme." + config.getString("theme", "default"));

    init_pair(
        COLOR_BAR_LOW,
        config.getInt((theme + ".bar_low.front").c_str(), COLOR_BLACK),
        config.getInt((theme + ".bar_low.back").c_str(), COLOR_GREEN)
    );
    init_pair(
        COLOR_BAR_MID,
        config.getInt((theme + ".bar_mid.front").c_str(), COLOR_BLACK),
        config.getInt((theme + ".bar_mid.back").c_str(), COLOR_YELLOW)
    );
    init_pair(
        COLOR_BAR_HIGH,
        config.getInt((theme + ".bar_high.front").c_str(), COLOR_BLACK),
        config.getInt((theme + ".bar_high.back").c_str(), COLOR_RED)
    );
    init_pair(
        COLOR_VOLUME_LOW,
        config.getInt((theme + ".volume_low").c_str(), COLOR_GREEN),
        COLOR_BACKGROUND
    );
    init_pair(
        COLOR_VOLUME_MID,
        config.getInt((theme + ".volume_mid").c_str(), COLOR_YELLOW),
        COLOR_BACKGROUND
    );
    init_pair(
        COLOR_VOLUME_HIGH,
        config.getInt((theme + ".volume_high").c_str(), COLOR_RED),
        COLOR_BACKGROUND
    );
    init_pair(
        COLOR_VOLUME_PEAK,
        config.getInt((theme + ".volume_peak").c_str(), COLOR_RED),
        COLOR_BACKGROUND
    );
    init_pair(
        COLOR_VOLUME_INDICATOR,
        config.getInt((theme + ".volume_indicator").c_str(), COLOR_FOREGROUND),
        COLOR_BACKGROUND
    );
    init_pair(
        COLOR_SELECTED,
        config.getInt((theme + ".selected").c_str(), COLOR_GREEN),
        COLOR_BACKGROUND
    );
    init_pair(
        COLOR_DEFAULT,
        config.getInt((theme + ".default").c_str(), COLOR_FOREGROUND),
        COLOR_BACKGROUND
    );
    init_pair(
        COLOR_BORDER,
        config.getInt((theme + ".border").c_str(), COLOR_FOREGROUND),
        COLOR_BACKGROUND
    );

    init_pair(
        COLOR_DROPDOWN_SELECTED,
        config.getInt((theme + ".dropdown.selected_text").c_str(), COLOR_BLACK),
        config.getInt((theme + ".dropdown.selected").c_str(), COLOR_GREEN)
    );

    init_pair(
        COLOR_DROPDOWN_UNSELECTED,
        config.getInt((theme + ".dropdown.unselected").c_str(), COLOR_FOREGROUND),
        COLOR_BACKGROUND
    );

    bar[BAR_BG].assign(
        config.getString((theme + ".bar_style.bg").c_str(), u8"░")
    );
    bar[BAR_FG].assign(
        config.getString((theme + ".bar_style.fg").c_str(), u8"█")
    );

    if(!config.keyEmpty((theme + ".bar_style.indicator").c_str())) {
        bar[BAR_INDICATOR].assign(
            config.getString((theme + ".bar_style.indicator").c_str(), u8"█")
        );
    } else {
        hide_indicator = true;
    }
    if(!config.keyEmpty((theme + ".bar_style.top").c_str())) {
        bar[BAR_TOP].assign(
            config.getString((theme + ".bar_style.top").c_str(), u8"▁")
        );
    } else {
        hide_top = true;
    }
    if(!config.keyEmpty((theme + ".bar_style.bottom").c_str())) {
        bar[BAR_BOTTOM].assign(
            config.getString((theme + ".bar_style.bottom").c_str(), u8"▔")
        );
    } else {
        hide_bottom = true;
    }

    static_bar = config.getBool((theme + ".static_bar").c_str(), false);

    indicator.assign(
        config.getString((theme + ".default_indicator").c_str(), u8"♦ ")
    );

    running = true;
    switchTab(tab);

    getmaxyx(stdscr, height, width);

    statusbar = newwin(1, width, height - 1, 0);
    window = newwin(height - 1, width, 0, 0);

    keypad(window, true);
    nodelay(window, true);
    idlok(window, true);

    erase();
    refresh();

    wrefresh(window);
    wrefresh(statusbar);

    return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movl %esi, %ebp
movq %rdi, %rbx
leaq 0x5e9b(%rip), %rsi      # 0x114e4
movl $0x6, %edi
callq 0x6570
callq 0x6880
xorl %edi, %edi
callq 0x6530
callq 0x6690
callq 0x6780
callq 0x61f0
callq 0x6120
callq 0x6420
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x7115(%rip), %rsi      # 0x1279d
leaq 0x7115(%rip), %rdx      # 0x127a4
leaq 0x28(%rsp), %rdi
callq 0x73f0
leaq 0xd100(%rip), %rsi      # 0x187a0
leaq 0x7052(%rip), %rdx      # 0x126f9
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rcx
callq 0xa416
leaq 0x7035(%rip), %rcx      # 0x126f2
leaq 0x8(%rsp), %rdi
movl $0x6, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x6660
leaq 0x58(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xb6f8
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0xb6fe
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x18(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0xb732
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xb749
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6f95(%rip), %rsi      # 0x126ff
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xd020(%rip), %rdi      # 0x187a0
xorl %edx, %edx
callq 0xa558
movl %eax, %r14d
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6f63(%rip), %rsi      # 0x1270e
leaq 0x28(%rsp), %rdi
callq 0x6b30
movq 0x28(%rsp), %rsi
leaq 0xcfdf(%rip), %rdi      # 0x187a0
movl $0x2, %edx
callq 0xa558
movswl %r14w, %esi
movswl %ax, %edx
movl $0x1, %edi
callq 0x60d0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xb7f3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xb80a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6ef1(%rip), %rsi      # 0x1271c
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xcf5f(%rip), %rdi      # 0x187a0
xorl %edx, %edx
callq 0xa558
movl %eax, %r14d
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6ebf(%rip), %rsi      # 0x1272b
leaq 0x28(%rsp), %rdi
callq 0x6b30
movq 0x28(%rsp), %rsi
leaq 0xcf1e(%rip), %rdi      # 0x187a0
movl $0x3, %edx
callq 0xa558
movswl %r14w, %esi
movswl %ax, %edx
movl $0x2, %edi
callq 0x60d0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xb8b4
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xb8cb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6e4d(%rip), %rsi      # 0x12739
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xce9e(%rip), %rdi      # 0x187a0
xorl %edx, %edx
callq 0xa558
movl %eax, %r14d
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6e1c(%rip), %rsi      # 0x12749
leaq 0x28(%rsp), %rdi
callq 0x6b30
movq 0x28(%rsp), %rsi
leaq 0xce5d(%rip), %rdi      # 0x187a0
movl $0x1, %edx
callq 0xa558
movswl %r14w, %esi
movswl %ax, %edx
movl $0x3, %edi
callq 0x60d0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xb975
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xb98c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6dab(%rip), %rsi      # 0x12758
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xcddd(%rip), %rdi      # 0x187a0
movl $0x2, %edx
callq 0xa558
movswl %ax, %esi
movl $0x4, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x60d0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xb9f6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6d4d(%rip), %rsi      # 0x12764
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xcd73(%rip), %rdi      # 0x187a0
movl $0x3, %edx
callq 0xa558
movswl %ax, %esi
movl $0x5, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x60d0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xba60
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6cef(%rip), %rsi      # 0x12770
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xcd09(%rip), %rdi      # 0x187a0
movl $0x1, %edx
callq 0xa558
movswl %ax, %esi
movl $0x6, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x60d0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbaca
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6c92(%rip), %rsi      # 0x1277d
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xcc9f(%rip), %rdi      # 0x187a0
movl $0x1, %edx
callq 0xa558
movswl %ax, %esi
movl $0x7, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x60d0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbb34
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6c35(%rip), %rsi      # 0x1278a
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xcc35(%rip), %rdi      # 0x187a0
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0xa558
movswl %ax, %esi
movl $0x8, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x60d0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbb9e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6c0f(%rip), %rsi      # 0x127ce
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xcbcb(%rip), %rdi      # 0x187a0
movl $0x2, %edx
callq 0xa558
movswl %ax, %esi
movl $0xa, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x60d0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbc08
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6b73(%rip), %rsi      # 0x1279c
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xcb61(%rip), %rdi      # 0x187a0
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0xa558
movswl %ax, %esi
movl $0x9, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x60d0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbc72
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6b12(%rip), %rsi      # 0x127a5
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xcaf7(%rip), %rdi      # 0x187a0
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0xa558
movswl %ax, %esi
movl $0xd, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x60d0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbcdc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6ab0(%rip), %rsi      # 0x127ad
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xca8d(%rip), %rdi      # 0x187a0
xorl %edx, %edx
callq 0xa558
movl %eax, %r14d
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6a87(%rip), %rsi      # 0x127c5
leaq 0x28(%rsp), %rdi
callq 0x6b30
movq 0x28(%rsp), %rsi
leaq 0xca4c(%rip), %rdi      # 0x187a0
movl $0x2, %edx
callq 0xa558
movswl %r14w, %esi
movswl %ax, %edx
movl $0xb, %edi
callq 0x60d0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xbd86
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbd9d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6a1a(%rip), %rsi      # 0x127d8
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xc9cc(%rip), %rdi      # 0x187a0
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0xa558
movswl %ax, %esi
movl $0xc, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x60d0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbe07
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x69c5(%rip), %rsi      # 0x127ed
leaq 0x28(%rsp), %rdi
callq 0x6b30
movq 0x28(%rsp), %r14
leaq 0x78(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x69b4(%rip), %rsi      # 0x127fb
leaq 0x69b0(%rip), %rdx      # 0x127fe
leaq 0x68(%rsp), %rdi
callq 0x73f0
leaq 0xc941(%rip), %rsi      # 0x187a0
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rcx
movq %r14, %rdx
callq 0xa416
leaq 0x20(%rbx), %rdi
leaq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x6710
movq (%r14), %rdi
cmpq %r12, %rdi
je 0xbe97
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xbeae
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xbec5
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6919(%rip), %rsi      # 0x127ff
leaq 0x28(%rsp), %rdi
callq 0x6b30
movq 0x28(%rsp), %r14
leaq 0x68(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x6909(%rip), %rsi      # 0x1280d
leaq 0x6905(%rip), %rdx      # 0x12810
callq 0x73f0
leaq 0xc889(%rip), %rsi      # 0x187a0
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rcx
movq %r14, %rdx
callq 0xa416
leaq 0x40(%rbx), %rdi
leaq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x6710
movq (%r14), %rdi
cmpq %r12, %rdi
je 0xbf4f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xbf66
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xbf7d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6873(%rip), %rsi      # 0x12811
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xc7ec(%rip), %rdi      # 0x187a0
callq 0xa808
movl %eax, %r14d
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbfd3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
testb %r14b, %r14b
je 0xbfe4
movb $0x1, 0x100(%rbx)
jmp 0xc09c
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x680c(%rip), %rsi      # 0x12811
leaq 0x28(%rsp), %rdi
callq 0x6b30
movq 0x28(%rsp), %r14
leaq 0x68(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x67ea(%rip), %rsi      # 0x1280d
leaq 0x67e6(%rip), %rdx      # 0x12810
callq 0x73f0
leaq 0xc76a(%rip), %rsi      # 0x187a0
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rcx
movq %r14, %rdx
callq 0xa416
leaq 0x60(%rbx), %rdi
leaq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x6710
movq (%r14), %rdi
cmpq %r12, %rdi
je 0xc06e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xc085
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xc09c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6769(%rip), %rsi      # 0x12826
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xc6cd(%rip), %rdi      # 0x187a0
callq 0xa808
movl %eax, %r14d
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xc0f2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
testb %r14b, %r14b
je 0xc103
movb $0x1, 0x101(%rbx)
jmp 0xc1be
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x6702(%rip), %rsi      # 0x12826
leaq 0x28(%rsp), %rdi
callq 0x6b30
movq 0x28(%rsp), %r14
leaq 0x68(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x66f3(%rip), %rsi      # 0x12835
leaq 0x66ef(%rip), %rdx      # 0x12838
callq 0x73f0
leaq 0xc64b(%rip), %rsi      # 0x187a0
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rcx
movq %r14, %rdx
callq 0xa416
leaq 0x80(%rbx), %rdi
leaq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x6710
movq (%r14), %rdi
cmpq %r12, %rdi
je 0xc190
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xc1a7
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xc1be
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x665a(%rip), %rsi      # 0x12839
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xc5ab(%rip), %rdi      # 0x187a0
callq 0xa808
movl %eax, %r14d
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xc214
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
testb %r14b, %r14b
je 0xc225
movb $0x1, 0x102(%rbx)
jmp 0xc2e0
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x65f3(%rip), %rsi      # 0x12839
leaq 0x28(%rsp), %rdi
callq 0x6b30
movq 0x28(%rsp), %r14
leaq 0x68(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x65e7(%rip), %rsi      # 0x1284b
leaq 0x65e3(%rip), %rdx      # 0x1284e
callq 0x73f0
leaq 0xc529(%rip), %rsi      # 0x187a0
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rcx
movq %r14, %rdx
callq 0xa416
leaq 0xa0(%rbx), %rdi
leaq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x6710
movq (%r14), %rdi
cmpq %r12, %rdi
je 0xc2b2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xc2c9
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xc2e0
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x8(%rsp), %rdi
movq %r12, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x654e(%rip), %rsi      # 0x1284f
leaq 0x8(%rsp), %rdi
callq 0x6b30
movq 0x8(%rsp), %rsi
leaq 0xc489(%rip), %rdi      # 0x187a0
xorl %edx, %edx
callq 0xa68e
movb %al, 0x103(%rbx)
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xc33b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xaf06
leaq 0x64ff(%rip), %rsi      # 0x1285b
leaq 0x28(%rsp), %rdi
callq 0x6b30
movq 0x28(%rsp), %r14
leaq 0x68(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x64f4(%rip), %rsi      # 0x1286e
leaq 0x64f1(%rip), %rdx      # 0x12872
callq 0x73f0
leaq 0xc413(%rip), %rsi      # 0x187a0
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rcx
movq %r14, %rdx
callq 0xa416
leaq 0xe0(%rbx), %rdi
leaq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x6710
movq (%r14), %rdi
cmpq %r12, %rdi
je 0xc3c8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xc3df
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x65c0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xc3f6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
movb $0x1, 0x104(%rbx)
movq %rbx, %rdi
movl %ebp, %esi
callq 0xc6e2
movq 0xbb92(%rip), %rax      # 0x17fa0
movq (%rax), %rax
testq %rax, %rax
je 0xc428
movswl 0x4(%rax), %edx
leal 0x1(%rdx), %ecx
movl %ecx, 0xc(%rbx)
movswl 0x6(%rax), %esi
incl %esi
jmp 0xc439
movl $0xffffffff, 0xc(%rbx)  # imm = 0xFFFFFFFF
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
movl %esi, 0x8(%rbx)
movl $0x1, %edi
xorl %ecx, %ecx
callq 0x65e0
movq %rax, 0x18(%rbx)
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %edi
decl %edi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x65e0
movq %rax, 0x10(%rbx)
movq %rax, %rdi
movl $0x1, %esi
callq 0x6250
movq 0x10(%rbx), %rdi
movl $0x1, %esi
callq 0x63d0
movq 0x10(%rbx), %rdi
movl $0x1, %esi
callq 0x6940
callq 0x6620
callq 0x6a10
movq 0x10(%rbx), %rdi
callq 0x6670
movq 0x18(%rbx), %rdi
callq 0x6670
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0xc4c2
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x65c0
movl $0x1, %eax
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xc558
jmp 0xc576
jmp 0xc576
jmp 0xc6ba
jmp 0xc558
jmp 0xc576
jmp 0xc576
jmp 0xc6ba
jmp 0xc558
jmp 0xc576
jmp 0xc576
jmp 0xc6ba
jmp 0xc558
jmp 0xc576
jmp 0xc576
jmp 0xc6ba
jmp 0xc67e
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc67e
jmp 0xc6ba
jmp 0xc558
jmp 0xc576
jmp 0xc576
jmp 0xc6ba
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xc579
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x65c0
jmp 0xc579
jmp 0xc576
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xc6bd
movq 0x38(%rsp), %rsi
jmp 0xc690
jmp 0xc6ba
jmp 0xc67e
jmp 0xc6ba
jmp 0xc69e
jmp 0xc67e
jmp 0xc67e
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc6ba
jmp 0xc67e
jmp 0xc6ba
jmp 0xc69e
jmp 0xc67e
jmp 0xc67e
jmp 0xc67e
jmp 0xc6ba
jmp 0xc69e
jmp 0xc67e
jmp 0xc67e
jmp 0xc67e
jmp 0xc6ba
jmp 0xc69e
jmp 0xc67e
jmp 0xc67e
jmp 0xc67e
jmp 0xc6ba
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xc656
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
jmp 0xc656
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xc6d9
movq 0x38(%rsp), %rsi
jmp 0xc6d1
movq %rax, %rbx
jmp 0xc6d9
jmp 0xc67e
jmp 0xc69e
jmp 0xc67e
jmp 0xc67e
jmp 0xc67e
jmp 0xc67e
jmp 0xc67e
jmp 0xc67e
jmp 0xc67e
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xc6bd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x65c0
jmp 0xc6bd
jmp 0xc69e
jmp 0xc69e
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xc681
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x65c0
jmp 0xc681
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0xc6d9
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x65c0
movq %rbx, %rdi
callq 0x6a80
nop