// File: 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:
subq $0x6e8, %rsp            # imm = 0x6E8
movq %rdi, 0x6e0(%rsp)
movl %esi, 0x6dc(%rsp)
movq 0x6e0(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0xc16e(%rip), %rsi      # 0x204fb
movl $0x6, %edi
callq 0x7660
callq 0x7a10
xorl %edi, %edi
callq 0x7610
callq 0x77e0
callq 0x78e0
callq 0x7210
callq 0x7150
callq 0x74d0
leaq 0x677(%rsp), %rdi
movq %rdi, 0x148(%rsp)
callq 0x7c50
movq 0x148(%rsp), %rdx
leaq 0xd42d(%rip), %rsi      # 0x2180d
leaq 0x678(%rsp), %rdi
callq 0x10940
jmp 0x143ef
leaq 0x174aa(%rip), %rsi     # 0x2b8a0
leaq 0xd36c(%rip), %rdx      # 0x21769
leaq 0x698(%rsp), %rdi
leaq 0x678(%rsp), %rcx
callq 0x10150
jmp 0x14414
leaq 0xd347(%rip), %rsi      # 0x21762
leaq 0x6b8(%rsp), %rdi
leaq 0x698(%rsp), %rdx
callq 0x10a00
jmp 0x14432
leaq 0x698(%rsp), %rdi
callq 0x7480
leaq 0x678(%rsp), %rdi
callq 0x7480
leaq 0x677(%rsp), %rdi
callq 0x7760
leaq 0xd30f(%rip), %rdx      # 0x2176f
leaq 0x640(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14477
leaq 0x640(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x17412(%rip), %rdi     # 0x2b8a0
xorl %edx, %edx
callq 0x10450
movl %eax, 0x13c(%rsp)
jmp 0x1449e
movl 0x13c(%rsp), %eax
movw %ax, 0x13a(%rsp)
leaq 0xd2ca(%rip), %rdx      # 0x2177e
leaq 0x620(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x144cb
leaq 0x620(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x173be(%rip), %rdi     # 0x2b8a0
movl $0x2, %edx
callq 0x10450
movl %eax, 0x134(%rsp)
jmp 0x144f5
movl 0x134(%rsp), %eax
movw 0x13a(%rsp), %cx
movswl %cx, %esi
movswl %ax, %edx
movl $0x1, %edi
callq 0x70f0
jmp 0x14516
leaq 0x620(%rsp), %rdi
callq 0x7480
leaq 0x640(%rsp), %rdi
callq 0x7480
leaq 0xd255(%rip), %rdx      # 0x2178c
leaq 0x600(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x1454e
leaq 0x600(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x1733b(%rip), %rdi     # 0x2b8a0
xorl %edx, %edx
callq 0x10450
movl %eax, 0x130(%rsp)
jmp 0x14575
movl 0x130(%rsp), %eax
movw %ax, 0x12e(%rsp)
leaq 0xd210(%rip), %rdx      # 0x2179b
leaq 0x5e0(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x145a2
leaq 0x5e0(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x172e7(%rip), %rdi     # 0x2b8a0
movl $0x3, %edx
callq 0x10450
movl %eax, 0x128(%rsp)
jmp 0x145cc
movl 0x128(%rsp), %eax
movw 0x12e(%rsp), %cx
movswl %cx, %esi
movswl %ax, %edx
movl $0x2, %edi
callq 0x70f0
jmp 0x145ed
leaq 0x5e0(%rsp), %rdi
callq 0x7480
leaq 0x600(%rsp), %rdi
callq 0x7480
leaq 0xd19b(%rip), %rdx      # 0x217a9
leaq 0x5c0(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14625
leaq 0x5c0(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x17264(%rip), %rdi     # 0x2b8a0
xorl %edx, %edx
callq 0x10450
movl %eax, 0x124(%rsp)
jmp 0x1464c
movl 0x124(%rsp), %eax
movw %ax, 0x122(%rsp)
leaq 0xd157(%rip), %rdx      # 0x217b9
leaq 0x5a0(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14679
leaq 0x5a0(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x17210(%rip), %rdi     # 0x2b8a0
movl $0x1, %edx
callq 0x10450
movl %eax, 0x11c(%rsp)
jmp 0x146a3
movl 0x11c(%rsp), %eax
movw 0x122(%rsp), %cx
movswl %cx, %esi
movswl %ax, %edx
movl $0x3, %edi
callq 0x70f0
jmp 0x146c4
leaq 0x5a0(%rsp), %rdi
callq 0x7480
leaq 0x5c0(%rsp), %rdi
callq 0x7480
leaq 0xd0e3(%rip), %rdx      # 0x217c8
leaq 0x580(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x146fc
leaq 0x580(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x1718d(%rip), %rdi     # 0x2b8a0
movl $0x2, %edx
callq 0x10450
movl %eax, 0x118(%rsp)
jmp 0x14726
movl 0x118(%rsp), %eax
movswl %ax, %esi
movl $0x4, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x70f0
jmp 0x14741
leaq 0x580(%rsp), %rdi
callq 0x7480
leaq 0xd07f(%rip), %rdx      # 0x217d4
leaq 0x560(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x1476c
leaq 0x560(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x1711d(%rip), %rdi     # 0x2b8a0
movl $0x3, %edx
callq 0x10450
movl %eax, 0x114(%rsp)
jmp 0x14796
movl 0x114(%rsp), %eax
movswl %ax, %esi
movl $0x5, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x70f0
jmp 0x147b1
leaq 0x560(%rsp), %rdi
callq 0x7480
leaq 0xd01b(%rip), %rdx      # 0x217e0
leaq 0x540(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x147dc
leaq 0x540(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x170ad(%rip), %rdi     # 0x2b8a0
movl $0x1, %edx
callq 0x10450
movl %eax, 0x110(%rsp)
jmp 0x14806
movl 0x110(%rsp), %eax
movswl %ax, %esi
movl $0x6, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x70f0
jmp 0x14821
leaq 0x540(%rsp), %rdi
callq 0x7480
leaq 0xcfb8(%rip), %rdx      # 0x217ed
leaq 0x520(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x1484c
leaq 0x520(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x1703d(%rip), %rdi     # 0x2b8a0
movl $0x1, %edx
callq 0x10450
movl %eax, 0x10c(%rsp)
jmp 0x14876
movl 0x10c(%rsp), %eax
movswl %ax, %esi
movl $0x7, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x70f0
jmp 0x14891
leaq 0x520(%rsp), %rdi
callq 0x7480
leaq 0xcf55(%rip), %rdx      # 0x217fa
leaq 0x500(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x148bc
leaq 0x500(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x16fcd(%rip), %rdi     # 0x2b8a0
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x10450
movl %eax, 0x108(%rsp)
jmp 0x148e6
movl 0x108(%rsp), %eax
movswl %ax, %esi
movl $0x8, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x70f0
jmp 0x14901
leaq 0x500(%rsp), %rdi
callq 0x7480
leaq 0xcf29(%rip), %rdx      # 0x2183e
leaq 0x4e0(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x1492c
leaq 0x4e0(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x16f5d(%rip), %rdi     # 0x2b8a0
movl $0x2, %edx
callq 0x10450
movl %eax, 0x104(%rsp)
jmp 0x14956
movl 0x104(%rsp), %eax
movswl %ax, %esi
movl $0xa, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x70f0
jmp 0x14971
leaq 0x4e0(%rsp), %rdi
callq 0x7480
leaq 0xce87(%rip), %rdx      # 0x2180c
leaq 0x4c0(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x1499c
leaq 0x4c0(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x16eed(%rip), %rdi     # 0x2b8a0
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x10450
movl %eax, 0x100(%rsp)
jmp 0x149c6
movl 0x100(%rsp), %eax
movswl %ax, %esi
movl $0x9, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x70f0
jmp 0x149e1
leaq 0x4c0(%rsp), %rdi
callq 0x7480
leaq 0xce20(%rip), %rdx      # 0x21815
leaq 0x4a0(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14a0c
leaq 0x4a0(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x16e7d(%rip), %rdi     # 0x2b8a0
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x10450
movl %eax, 0xfc(%rsp)
jmp 0x14a36
movl 0xfc(%rsp), %eax
movswl %ax, %esi
movl $0xd, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x70f0
jmp 0x14a51
leaq 0x4a0(%rsp), %rdi
callq 0x7480
leaq 0xcdb8(%rip), %rdx      # 0x2181d
leaq 0x480(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14a7c
leaq 0x480(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x16e0d(%rip), %rdi     # 0x2b8a0
xorl %edx, %edx
callq 0x10450
movl %eax, 0xf8(%rsp)
jmp 0x14aa3
movl 0xf8(%rsp), %eax
movw %ax, 0xf6(%rsp)
leaq 0xcd7c(%rip), %rdx      # 0x21835
leaq 0x460(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14ad0
leaq 0x460(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x16db9(%rip), %rdi     # 0x2b8a0
movl $0x2, %edx
callq 0x10450
movl %eax, 0xf0(%rsp)
jmp 0x14afa
movl 0xf0(%rsp), %eax
movw 0xf6(%rsp), %cx
movswl %cx, %esi
movswl %ax, %edx
movl $0xb, %edi
callq 0x70f0
jmp 0x14b1b
leaq 0x460(%rsp), %rdi
callq 0x7480
leaq 0x480(%rsp), %rdi
callq 0x7480
leaq 0xcd0c(%rip), %rdx      # 0x21848
leaq 0x440(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14b53
leaq 0x440(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x16d36(%rip), %rdi     # 0x2b8a0
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x10450
movl %eax, 0xec(%rsp)
jmp 0x14b7d
movl 0xec(%rsp), %eax
movswl %ax, %esi
movl $0xc, %edi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x70f0
jmp 0x14b98
leaq 0x440(%rsp), %rdi
callq 0x7480
movq 0x140(%rsp), %rax
addq $0x20, %rax
movq %rax, 0xe0(%rsp)
leaq 0xcc9d(%rip), %rdx      # 0x2185d
leaq 0x400(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14bd7
leaq 0x400(%rsp), %rdi
callq 0x72e0
movq %rax, 0xd0(%rsp)
leaq 0x3df(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x7c50
movq 0xd8(%rsp), %rdx
leaq 0xcc5b(%rip), %rsi      # 0x2186b
leaq 0x3e0(%rsp), %rdi
callq 0x10940
jmp 0x14c1f
movq 0xd0(%rsp), %rdx
leaq 0x16c72(%rip), %rsi     # 0x2b8a0
leaq 0x420(%rsp), %rdi
leaq 0x3e0(%rsp), %rcx
callq 0x10150
jmp 0x14c45
movq 0xe0(%rsp), %rdi
leaq 0x420(%rsp), %rsi
movq %rsi, 0xc0(%rsp)
callq 0x76b0
movq 0xc0(%rsp), %rdi
callq 0x7480
leaq 0x3e0(%rsp), %rdi
callq 0x7480
leaq 0x3df(%rsp), %rdi
callq 0x7760
leaq 0x400(%rsp), %rdi
callq 0x7480
movq 0x140(%rsp), %rax
addq $0x40, %rax
movq %rax, 0xc8(%rsp)
leaq 0xcbbe(%rip), %rdx      # 0x2186f
leaq 0x398(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14cc8
leaq 0x398(%rsp), %rdi
callq 0x72e0
movq %rax, 0xb0(%rsp)
leaq 0x377(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x7c50
movq 0xb8(%rsp), %rdx
leaq 0xcb7c(%rip), %rsi      # 0x2187d
leaq 0x378(%rsp), %rdi
callq 0x10940
jmp 0x14d10
movq 0xb0(%rsp), %rdx
leaq 0x16b81(%rip), %rsi     # 0x2b8a0
leaq 0x3b8(%rsp), %rdi
leaq 0x378(%rsp), %rcx
callq 0x10150
jmp 0x14d36
movq 0xc8(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
movq %rsi, 0xa8(%rsp)
callq 0x76b0
movq 0xa8(%rsp), %rdi
callq 0x7480
leaq 0x378(%rsp), %rdi
callq 0x7480
leaq 0x377(%rsp), %rdi
callq 0x7760
leaq 0x398(%rsp), %rdi
callq 0x7480
leaq 0xcaf3(%rip), %rdx      # 0x21881
leaq 0x350(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14da5
leaq 0x350(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x16ae4(%rip), %rdi     # 0x2b8a0
callq 0x107a0
movb %al, 0xa7(%rsp)
jmp 0x14dca
movb 0xa7(%rsp), %al
xorb $-0x1, %al
movb %al, 0xa6(%rsp)
leaq 0x350(%rsp), %rdi
callq 0x7480
movb 0xa6(%rsp), %al
testb $0x1, %al
jne 0x14df7
jmp 0x1530c
movq 0x140(%rsp), %rax
addq $0x60, %rax
movq %rax, 0x98(%rsp)
leaq 0xca6f(%rip), %rdx      # 0x21881
leaq 0x310(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x14e29
leaq 0x310(%rsp), %rdi
callq 0x72e0
movq %rax, 0x88(%rsp)
leaq 0x2ef(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x7c50
movq 0x90(%rsp), %rdx
leaq 0xca1b(%rip), %rsi      # 0x2187d
leaq 0x2f0(%rsp), %rdi
callq 0x10940
jmp 0x14e71
movq 0x88(%rsp), %rdx
leaq 0x16a20(%rip), %rsi     # 0x2b8a0
leaq 0x330(%rsp), %rdi
leaq 0x2f0(%rsp), %rcx
callq 0x10150
jmp 0x14e97
movq 0x98(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x76b0
leaq 0x330(%rsp), %rdi
callq 0x7480
leaq 0x2f0(%rsp), %rdi
callq 0x7480
leaq 0x2ef(%rsp), %rdi
callq 0x7760
leaq 0x310(%rsp), %rdi
callq 0x7480
jmp 0x1531b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x14f3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x14f32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x698(%rsp), %rdi
callq 0x7480
leaq 0x678(%rsp), %rdi
callq 0x7480
leaq 0x677(%rsp), %rdi
callq 0x7760
jmp 0x159fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x14fa1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x620(%rsp), %rdi
callq 0x7480
leaq 0x640(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x14fea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x5e0(%rsp), %rdi
callq 0x7480
leaq 0x600(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x15033
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x5a0(%rsp), %rdi
callq 0x7480
leaq 0x5c0(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x580(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x560(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x540(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x520(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x500(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x4e0(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x4c0(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x4a0(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x151ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x460(%rsp), %rdi
callq 0x7480
leaq 0x480(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x440(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x1521b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x3e0(%rsp), %rdi
callq 0x7480
leaq 0x3df(%rsp), %rdi
callq 0x7760
leaq 0x400(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x15271
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x378(%rsp), %rdi
callq 0x7480
leaq 0x377(%rsp), %rdi
callq 0x7760
leaq 0x398(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x350(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x152ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x2f0(%rsp), %rdi
callq 0x7480
leaq 0x2ef(%rsp), %rdi
callq 0x7760
leaq 0x310(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq 0x140(%rsp), %rax
movb $0x1, 0x100(%rax)
leaq 0xc574(%rip), %rdx      # 0x21896
leaq 0x2c8(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x15339
leaq 0x2c8(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x16550(%rip), %rdi     # 0x2b8a0
callq 0x107a0
movb %al, 0x87(%rsp)
jmp 0x1535e
movb 0x87(%rsp), %al
xorb $-0x1, %al
movb %al, 0x86(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0x7480
movb 0x86(%rsp), %al
testb $0x1, %al
jne 0x1538b
jmp 0x154e3
movq 0x140(%rsp), %rax
subq $-0x80, %rax
movq %rax, 0x78(%rsp)
leaq 0xc4f3(%rip), %rdx      # 0x21896
leaq 0x288(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x153ba
leaq 0x288(%rsp), %rdi
callq 0x72e0
movq %rax, 0x68(%rsp)
leaq 0x267(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x7c50
movq 0x70(%rsp), %rdx
leaq 0xc4bb(%rip), %rsi      # 0x218a5
leaq 0x268(%rsp), %rdi
callq 0x10940
jmp 0x153f9
movq 0x68(%rsp), %rdx
leaq 0x1649b(%rip), %rsi     # 0x2b8a0
leaq 0x2a8(%rsp), %rdi
leaq 0x268(%rsp), %rcx
callq 0x10150
jmp 0x1541c
movq 0x78(%rsp), %rdi
leaq 0x2a8(%rsp), %rsi
callq 0x76b0
leaq 0x2a8(%rsp), %rdi
callq 0x7480
leaq 0x268(%rsp), %rdi
callq 0x7480
leaq 0x267(%rsp), %rdi
callq 0x7760
leaq 0x288(%rsp), %rdi
callq 0x7480
jmp 0x154f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x154c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x268(%rsp), %rdi
callq 0x7480
leaq 0x267(%rsp), %rdi
callq 0x7760
leaq 0x288(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq 0x140(%rsp), %rax
movb $0x1, 0x101(%rax)
leaq 0xc3b0(%rip), %rdx      # 0x218a9
leaq 0x240(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x15510
leaq 0x240(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x16379(%rip), %rdi     # 0x2b8a0
callq 0x107a0
movb %al, 0x67(%rsp)
jmp 0x15532
movb 0x67(%rsp), %al
xorb $-0x1, %al
movb %al, 0x66(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x7480
movb 0x66(%rsp), %al
testb $0x1, %al
jne 0x15556
jmp 0x156b0
movq 0x140(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0x58(%rsp)
leaq 0xc339(%rip), %rdx      # 0x218a9
leaq 0x200(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x15587
leaq 0x200(%rsp), %rdi
callq 0x72e0
movq %rax, 0x48(%rsp)
leaq 0x1df(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x7c50
movq 0x50(%rsp), %rdx
leaq 0xc304(%rip), %rsi      # 0x218bb
leaq 0x1e0(%rsp), %rdi
callq 0x10940
jmp 0x155c6
movq 0x48(%rsp), %rdx
leaq 0x162ce(%rip), %rsi     # 0x2b8a0
leaq 0x220(%rsp), %rdi
leaq 0x1e0(%rsp), %rcx
callq 0x10150
jmp 0x155e9
movq 0x58(%rsp), %rdi
leaq 0x220(%rsp), %rsi
callq 0x76b0
leaq 0x220(%rsp), %rdi
callq 0x7480
leaq 0x1e0(%rsp), %rdi
callq 0x7480
leaq 0x1df(%rsp), %rdi
callq 0x7760
leaq 0x200(%rsp), %rdi
callq 0x7480
jmp 0x156bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x15691
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x1e0(%rsp), %rdi
callq 0x7480
leaq 0x1df(%rsp), %rdi
callq 0x7760
leaq 0x200(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq 0x140(%rsp), %rax
movb $0x1, 0x102(%rax)
leaq 0xc1f9(%rip), %rdx      # 0x218bf
leaq 0x1b8(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x156dd
leaq 0x1b8(%rsp), %rdi
callq 0x72e0
movq %rax, %rsi
leaq 0x161ac(%rip), %rdi     # 0x2b8a0
xorl %edx, %edx
callq 0x10510
movb %al, 0x47(%rsp)
jmp 0x15701
movq 0x140(%rsp), %rax
movb 0x47(%rsp), %cl
andb $0x1, %cl
movb %cl, 0x103(%rax)
leaq 0x1b8(%rsp), %rdi
callq 0x7480
movq 0x140(%rsp), %rax
addq $0xe0, %rax
movq %rax, 0x38(%rsp)
leaq 0xc18e(%rip), %rdx      # 0x218cb
leaq 0x178(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0x16ff0
jmp 0x15754
leaq 0x178(%rsp), %rdi
callq 0x72e0
movq %rax, 0x28(%rsp)
leaq 0x157(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x7c50
movq 0x30(%rsp), %rdx
leaq 0xc15a(%rip), %rsi      # 0x218de
leaq 0x158(%rsp), %rdi
callq 0x10940
jmp 0x15793
movq 0x28(%rsp), %rdx
leaq 0x16101(%rip), %rsi     # 0x2b8a0
leaq 0x198(%rsp), %rdi
leaq 0x158(%rsp), %rcx
callq 0x10150
jmp 0x157b6
movq 0x38(%rsp), %rdi
leaq 0x198(%rsp), %rsi
movq %rsi, 0x20(%rsp)
callq 0x76b0
movq 0x20(%rsp), %rdi
callq 0x7480
leaq 0x158(%rsp), %rdi
callq 0x7480
leaq 0x157(%rsp), %rdi
callq 0x7760
leaq 0x178(%rsp), %rdi
callq 0x7480
movq 0x140(%rsp), %rdi
movb $0x1, 0x104(%rdi)
movl 0x6dc(%rsp), %esi
callq 0x15a10
jmp 0x1581b
xorl %eax, %eax
movq 0x15774(%rip), %rcx     # 0x2af98
cmpq (%rcx), %rax
je 0x15840
movq 0x15768(%rip), %rax     # 0x2af98
movq (%rax), %rax
movswl 0x4(%rax), %eax
addl $0x1, %eax
movl %eax, 0x1c(%rsp)
jmp 0x1584b
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, 0x1c(%rsp)
jmp 0x1584b
movq 0x140(%rsp), %rax
movl 0x1c(%rsp), %ecx
movl %ecx, 0xc(%rax)
xorl %eax, %eax
movq 0x15735(%rip), %rcx     # 0x2af98
cmpq (%rcx), %rax
je 0x1587f
movq 0x15729(%rip), %rax     # 0x2af98
movq (%rax), %rax
movswl 0x6(%rax), %eax
addl $0x1, %eax
movl %eax, 0x18(%rsp)
jmp 0x1588a
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, 0x18(%rsp)
jmp 0x1588a
movq 0x140(%rsp), %rax
movl 0x18(%rsp), %ecx
movl %ecx, 0x8(%rax)
movl 0x8(%rax), %esi
movl 0xc(%rax), %edx
decl %edx
movl $0x1, %edi
xorl %ecx, %ecx
callq 0x76e0
movq %rax, 0x10(%rsp)
jmp 0x158b4
movq 0x140(%rsp), %rax
movq 0x10(%rsp), %rcx
movq %rcx, 0x18(%rax)
movl 0x8(%rax), %esi
movl 0xc(%rax), %edi
decl %edi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0x76e0
movq %rax, 0x8(%rsp)
jmp 0x158dd
movq 0x140(%rsp), %rax
movq 0x8(%rsp), %rcx
movq %rcx, 0x10(%rax)
movq 0x10(%rax), %rdi
movl $0x1, %esi
callq 0x7270
jmp 0x158fe
movq 0x140(%rsp), %rax
movq 0x10(%rax), %rdi
movl $0x1, %esi
callq 0x7470
jmp 0x15916
movq 0x140(%rsp), %rax
movq 0x10(%rax), %rdi
movl $0x1, %esi
callq 0x7ac0
jmp 0x1592e
callq 0x7730
jmp 0x15935
callq 0x7bb0
jmp 0x1593c
movq 0x140(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x77b0
jmp 0x1594f
movq 0x140(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x77b0
jmp 0x15962
leaq 0x6b8(%rsp), %rdi
callq 0x7480
movl $0x1, %eax
addq $0x6e8, %rsp            # imm = 0x6E8
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x1b8(%rsp), %rdi
callq 0x7480
jmp 0x159f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0x159d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x158(%rsp), %rdi
callq 0x7480
leaq 0x157(%rsp), %rdi
callq 0x7760
leaq 0x178(%rsp), %rdi
callq 0x7480
leaq 0x6b8(%rsp), %rdi
callq 0x7480
movq 0x668(%rsp), %rdi
callq 0x7c40
nopw (%rax,%rax)