// File: eiskalteschatten[P]developersnotebook/src/views/ProjectsView.cpp
// Function: save_project(_GtkWidget*, ProjectsView*)
void save_project(GtkWidget *widget, ProjectsView *pv) {
    GtkTreeModel *model = nullptr;
    GtkTreeIter tree_iter;

    // Now datetime object
    auto now               = std::time(nullptr);
    struct std::tm *now_tm = std::localtime(&now);
    std::string now_str    = pv->format_date_time(now_tm);

    // Form values
    int id                     = -1;
    gchar *id_char             = nullptr;
    const gchar *name          = gtk_entry_get_text(GTK_ENTRY(pv->project_name_input));
    bool is_complete           = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pv->is_complete_checkbox));
    std::string date_completed = is_complete ? now_str : "";

    GtkTextIter start;
    GtkTextIter end;
    GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pv->notes_input));

    gtk_text_buffer_get_bounds(buffer, &start, &end);

    const gchar *notes = gtk_text_buffer_get_text(buffer, &start, &end, FALSE);

    if (name && !name[0]) {
        Modal modal("No Project Name", "You must enter a project name to create a new project.", pv->main_window);
        modal.show_error_modal();
        return;
    }

    // Start date calendar values
    guint start_year;
    guint start_month;
    guint start_day;

    gtk_calendar_get_date(GTK_CALENDAR(pv->start_date_input), &start_year, &start_month, &start_day);

    std::string start_date_str = start_day == 0 ? "" : pv->format_date(&start_year, &start_month, &start_day);

    // End date calendar values
    guint end_year;
    guint end_month;
    guint end_day;

    gtk_calendar_get_date(GTK_CALENDAR(pv->end_date_input), &end_year, &end_month, &end_day);

    std::string end_date_str = end_day == 0 ? "" : pv->format_date(&end_year, &end_month, &end_day);

    // Start saving
    if (gtk_tree_selection_get_selected(pv->select, &model, &tree_iter)) {
        gtk_tree_model_get(model, &tree_iter, ID_COLUMN, &id_char, -1);
        id = std::stoi(id_char);
        g_free(id_char);
    }

    ProjectsModel *projects_model = id != -1 ? new ProjectsModel(id) : new ProjectsModel();

    if (id == -1) {
        projects_model->set_date_created(now_str, FALSE);
        pv->prepend_to_list_store(&tree_iter);
    }

    projects_model->set_name(name, FALSE);
    projects_model->set_start_date(start_date_str, FALSE);
    projects_model->set_end_date(end_date_str, FALSE);
    projects_model->set_url(std::string(gtk_entry_get_text(GTK_ENTRY(pv->url_input))), FALSE);
    projects_model->set_notes(notes, FALSE);
    projects_model->set_is_complete(is_complete, FALSE);
    projects_model->set_date_completed(date_completed, FALSE);

    projects_model->save_all();

    projects_model->truncate_notes();

    pv->set_list_store(projects_model, &tree_iter);
    pv->select_row_in_list_view(&tree_iter);

    delete projects_model;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x510, %rsp            # imm = 0x510
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0xab70
movq %rax, -0x40(%rbp)
leaq -0x40(%rbp), %rdi
callq 0xaa30
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rsi
leaq -0x68(%rbp), %rdi
callq 0x1b2f0
movl $0xffffffff, -0x6c(%rbp) # imm = 0xFFFFFFFF
movq $0x0, -0x78(%rbp)
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x3c8(%rbp)
callq 0xa630
movq -0x3c8(%rbp), %rdi
movq %rax, %rsi
callq 0xa190
movq %rax, -0x3c0(%rbp)
jmp 0x14ced
movq -0x3c0(%rbp), %rdi
callq 0xb3e0
movq %rax, -0x3d0(%rbp)
jmp 0x14d02
movq -0x3d0(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movq %rax, -0x3e0(%rbp)
callq 0xb210
movq -0x3e0(%rbp), %rdi
movq %rax, %rsi
callq 0xa190
movq %rax, -0x3d8(%rbp)
jmp 0x14d3c
movq -0x3d8(%rbp), %rdi
callq 0xa550
movl %eax, -0x3e4(%rbp)
jmp 0x14d50
movl -0x3e4(%rbp), %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, -0x8d(%rbp)
movb -0x8d(%rbp), %al
movb $0x0, -0xb2(%rbp)
testb $0x1, %al
je 0x14d89
leaq -0xb0(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xa230
jmp 0x14d87
jmp 0x14dc1
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x3f0(%rbp)
callq 0xaf80
movq -0x3f0(%rbp), %rdx
movb $0x1, -0xb2(%rbp)
leaq 0x3ee74(%rip), %rsi     # 0x53c25
leaq -0xb0(%rbp), %rdi
callq 0x10f00
jmp 0x14dbf
jmp 0x14dc1
testb $0x1, -0xb2(%rbp)
jne 0x14dcc
jmp 0x14dd8
leaq -0xb1(%rbp), %rdi
callq 0xb410
movq -0x10(%rbp), %rax
movq 0x90(%rax), %rax
movq %rax, -0x400(%rbp)
callq 0xaaf0
movq -0x400(%rbp), %rdi
movq %rax, %rsi
callq 0xa190
movq %rax, -0x3f8(%rbp)
jmp 0x14e07
movq -0x3f8(%rbp), %rdi
callq 0xa450
movq %rax, -0x408(%rbp)
jmp 0x14e1c
movq -0x408(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rdi
leaq -0x108(%rbp), %rsi
leaq -0x158(%rbp), %rdx
callq 0xa0d0
jmp 0x14e46
movq -0x160(%rbp), %rdi
leaq -0x108(%rbp), %rsi
leaq -0x158(%rbp), %rdx
xorl %ecx, %ecx
callq 0xb180
movq %rax, -0x410(%rbp)
jmp 0x14e6b
movq -0x410(%rbp), %rax
movq %rax, -0x168(%rbp)
cmpq $0x0, -0x80(%rbp)
je 0x15059
movq -0x80(%rbp), %rax
cmpb $0x0, (%rax)
jne 0x15059
leaq -0x1d9(%rbp), %rdi
movq %rdi, -0x418(%rbp)
callq 0xaf80
movq -0x418(%rbp), %rdx
leaq 0x3e4d5(%rip), %rsi     # 0x53387
leaq -0x1d8(%rbp), %rdi
callq 0x10f00
jmp 0x14ec0
leaq -0x201(%rbp), %rdi
movq %rdi, -0x420(%rbp)
callq 0xaf80
movq -0x420(%rbp), %rdx
leaq 0x3e4b6(%rip), %rsi     # 0x53397
leaq -0x200(%rbp), %rdi
callq 0x10f00
jmp 0x14eef
movq -0x10(%rbp), %rax
movq (%rax), %rcx
leaq -0x1b8(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
leaq -0x200(%rbp), %rdx
callq 0x52050
jmp 0x14f12
leaq -0x200(%rbp), %rdi
callq 0xb430
leaq -0x201(%rbp), %rdi
callq 0xb410
leaq -0x1d8(%rbp), %rdi
callq 0xb430
leaq -0x1d9(%rbp), %rdi
callq 0xb410
leaq -0x1b8(%rbp), %rdi
callq 0x524a0
jmp 0x14f50
movl $0x1, -0x208(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x52470
jmp 0x15846
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x159af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
testb $0x1, -0xb2(%rbp)
jne 0x14f9f
jmp 0x14fab
leaq -0xb1(%rbp), %rdi
callq 0xb410
jmp 0x159af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x159a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x15025
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x1500d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x200(%rbp), %rdi
callq 0xb430
leaq -0x201(%rbp), %rdi
callq 0xb410
leaq -0x1d8(%rbp), %rdi
callq 0xb430
leaq -0x1d9(%rbp), %rdi
callq 0xb410
jmp 0x159a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x52470
jmp 0x159a3
movq -0x10(%rbp), %rax
movq 0x68(%rax), %rax
movq %rax, -0x430(%rbp)
callq 0xa700
movq -0x430(%rbp), %rdi
movq %rax, %rsi
callq 0xa190
movq %rax, -0x428(%rbp)
jmp 0x15085
movq -0x428(%rbp), %rdi
leaq -0x20c(%rbp), %rsi
leaq -0x210(%rbp), %rdx
leaq -0x214(%rbp), %rcx
callq 0xb2d0
jmp 0x150a8
movl -0x214(%rbp), %eax
movb $0x0, -0x23a(%rbp)
cmpl $0x0, %eax
jne 0x150f2
leaq -0x239(%rbp), %rdi
movq %rdi, -0x438(%rbp)
callq 0xaf80
movq -0x438(%rbp), %rdx
movb $0x1, -0x23a(%rbp)
leaq 0x3eb43(%rip), %rsi     # 0x53c25
leaq -0x238(%rbp), %rdi
callq 0x10f00
jmp 0x150f0
jmp 0x15117
leaq -0x238(%rbp), %rdi
leaq -0x20c(%rbp), %rsi
leaq -0x210(%rbp), %rdx
leaq -0x214(%rbp), %rcx
callq 0x1b150
jmp 0x15115
jmp 0x15117
testb $0x1, -0x23a(%rbp)
jne 0x15122
jmp 0x1512e
leaq -0x239(%rbp), %rdi
callq 0xb410
movq -0x10(%rbp), %rax
movq 0x78(%rax), %rax
movq %rax, -0x448(%rbp)
callq 0xa700
movq -0x448(%rbp), %rdi
movq %rax, %rsi
callq 0xa190
movq %rax, -0x440(%rbp)
jmp 0x1515a
movq -0x440(%rbp), %rdi
leaq -0x240(%rbp), %rsi
leaq -0x244(%rbp), %rdx
leaq -0x248(%rbp), %rcx
callq 0xb2d0
jmp 0x1517d
movl -0x248(%rbp), %eax
movb $0x0, -0x26a(%rbp)
cmpl $0x0, %eax
jne 0x151c7
leaq -0x269(%rbp), %rdi
movq %rdi, -0x450(%rbp)
callq 0xaf80
movq -0x450(%rbp), %rdx
movb $0x1, -0x26a(%rbp)
leaq 0x3ea6e(%rip), %rsi     # 0x53c25
leaq -0x268(%rbp), %rdi
callq 0x10f00
jmp 0x151c5
jmp 0x151ec
leaq -0x268(%rbp), %rdi
leaq -0x240(%rbp), %rsi
leaq -0x244(%rbp), %rdx
leaq -0x248(%rbp), %rcx
callq 0x1b150
jmp 0x151ea
jmp 0x151ec
testb $0x1, -0x26a(%rbp)
jne 0x151f7
jmp 0x15203
leaq -0x269(%rbp), %rdi
callq 0xb410
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rdi
leaq -0x18(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0xb080
movl %eax, -0x454(%rbp)
jmp 0x15220
movl -0x454(%rbp), %eax
cmpl $0x0, %eax
je 0x153a1
movq -0x18(%rbp), %rdi
xorl %edx, %edx
movb %dl, %al
leaq -0x38(%rbp), %rsi
leaq -0x78(%rbp), %rcx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0xaab0
jmp 0x1524c
movq -0x78(%rbp), %rax
movq %rax, -0x468(%rbp)
leaq -0x291(%rbp), %rdi
movq %rdi, -0x460(%rbp)
callq 0xaf80
movq -0x468(%rbp), %rsi
movq -0x460(%rbp), %rdx
leaq -0x290(%rbp), %rdi
callq 0x10f00
jmp 0x15286
xorl %eax, %eax
movl %eax, %esi
leaq -0x290(%rbp), %rdi
movl $0xa, %edx
callq 0x18f10
movl %eax, -0x46c(%rbp)
jmp 0x152a3
movl -0x46c(%rbp), %eax
movl %eax, -0x6c(%rbp)
leaq -0x290(%rbp), %rdi
callq 0xb430
leaq -0x291(%rbp), %rdi
callq 0xb410
movq -0x78(%rbp), %rdi
callq 0xb428
jmp 0x152cf
jmp 0x153a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
testb $0x1, -0x23a(%rbp)
jne 0x152f1
jmp 0x152fd
leaq -0x239(%rbp), %rdi
callq 0xb410
jmp 0x159a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x15997
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
testb $0x1, -0x26a(%rbp)
jne 0x15336
jmp 0x15342
leaq -0x269(%rbp), %rdi
callq 0xb410
jmp 0x15997
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x1598b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x15390
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x290(%rbp), %rdi
callq 0xb430
leaq -0x291(%rbp), %rdi
callq 0xb410
jmp 0x1598b
movl -0x6c(%rbp), %eax
movb $0x0, -0x2a9(%rbp)
movb $0x0, -0x2b9(%rbp)
cmpl $-0x1, %eax
je 0x153fa
movl $0x148, %edi            # imm = 0x148
callq 0xa280
movq %rax, -0x478(%rbp)
jmp 0x153ca
movq -0x478(%rbp), %rdi
movq %rdi, -0x2a8(%rbp)
movb $0x1, -0x2a9(%rbp)
leaq -0x6c(%rbp), %rsi
callq 0x4f250
jmp 0x153ea
movq -0x478(%rbp), %rax
movq %rax, -0x480(%rbp)
jmp 0x15439
movl $0x148, %edi            # imm = 0x148
callq 0xa280
movq %rax, -0x488(%rbp)
jmp 0x1540d
movq -0x488(%rbp), %rdi
movq %rdi, -0x2b8(%rbp)
movb $0x1, -0x2b9(%rbp)
callq 0x4f110
jmp 0x15429
movq -0x488(%rbp), %rax
movq %rax, -0x480(%rbp)
jmp 0x15439
movq -0x480(%rbp), %rax
movq %rax, -0x2a0(%rbp)
cmpl $-0x1, -0x6c(%rbp)
jne 0x15531
movq -0x2a0(%rbp), %rax
movq %rax, -0x490(%rbp)
leaq -0x2e0(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xa230
jmp 0x15471
movq -0x490(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
xorl %edx, %edx
callq 0x4fed0
jmp 0x15488
leaq -0x2e0(%rbp), %rdi
callq 0xb430
movq -0x10(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x159d0
jmp 0x154a3
jmp 0x15531
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
testb $0x1, -0x2a9(%rbp)
jne 0x154c5
jmp 0x154d6
movq -0x2a8(%rbp), %rdi
movl $0x148, %esi            # imm = 0x148
callq 0xa200
jmp 0x1598b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
testb $0x1, -0x2b9(%rbp)
jne 0x154f8
jmp 0x15509
movq -0x2b8(%rbp), %rdi
movl $0x148, %esi            # imm = 0x148
callq 0xa200
jmp 0x1598b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0xb430
jmp 0x1598b
movq -0x2a0(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x4a0(%rbp)
leaq -0x301(%rbp), %rdi
movq %rdi, -0x498(%rbp)
callq 0xaf80
movq -0x4a0(%rbp), %rsi
movq -0x498(%rbp), %rdx
leaq -0x300(%rbp), %rdi
callq 0x10f00
jmp 0x15579
movq -0x4a8(%rbp), %rdi
leaq -0x300(%rbp), %rsi
xorl %edx, %edx
callq 0x4f970
jmp 0x15590
leaq -0x300(%rbp), %rdi
callq 0xb430
leaq -0x301(%rbp), %rdi
callq 0xb410
movq -0x2a0(%rbp), %rax
movq %rax, -0x4b0(%rbp)
leaq -0x328(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0xa230
jmp 0x155cb
movq -0x4b0(%rbp), %rdi
leaq -0x328(%rbp), %rsi
xorl %edx, %edx
callq 0x4fa30
jmp 0x155e2
leaq -0x328(%rbp), %rdi
callq 0xb430
movq -0x2a0(%rbp), %rax
movq %rax, -0x4b8(%rbp)
leaq -0x348(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0xa230
jmp 0x15611
movq -0x4b8(%rbp), %rdi
leaq -0x348(%rbp), %rsi
xorl %edx, %edx
callq 0x4faf0
jmp 0x15628
leaq -0x348(%rbp), %rdi
callq 0xb430
movq -0x2a0(%rbp), %rax
movq %rax, -0x4d0(%rbp)
movq -0x10(%rbp), %rax
movq 0x88(%rax), %rax
movq %rax, -0x4c8(%rbp)
callq 0xa630
movq -0x4c8(%rbp), %rdi
movq %rax, %rsi
callq 0xa190
movq %rax, -0x4c0(%rbp)
jmp 0x15671
movq -0x4c0(%rbp), %rdi
callq 0xb3e0
movq %rax, -0x4d8(%rbp)
jmp 0x15686
leaq -0x369(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0xaf80
movq -0x4d8(%rbp), %rsi
movq -0x4e0(%rbp), %rdx
leaq -0x368(%rbp), %rdi
callq 0x10f00
jmp 0x156b5
movq -0x4d0(%rbp), %rdi
leaq -0x368(%rbp), %rsi
xorl %edx, %edx
callq 0x4fbb0
jmp 0x156cc
leaq -0x368(%rbp), %rdi
callq 0xb430
leaq -0x369(%rbp), %rdi
callq 0xb410
movq -0x2a0(%rbp), %rax
movq %rax, -0x4f8(%rbp)
movq -0x168(%rbp), %rax
movq %rax, -0x4f0(%rbp)
leaq -0x391(%rbp), %rdi
movq %rdi, -0x4e8(%rbp)
callq 0xaf80
movq -0x4f0(%rbp), %rsi
movq -0x4e8(%rbp), %rdx
leaq -0x390(%rbp), %rdi
callq 0x10f00
jmp 0x1572f
movq -0x4f8(%rbp), %rdi
leaq -0x390(%rbp), %rsi
xorl %edx, %edx
callq 0x4fc70
jmp 0x15746
leaq -0x390(%rbp), %rdi
callq 0xb430
leaq -0x391(%rbp), %rdi
callq 0xb410
movq -0x2a0(%rbp), %rdi
movzbl -0x8d(%rbp), %esi
andl $0x1, %esi
xorl %edx, %edx
callq 0x4fd30
jmp 0x15778
movq -0x2a0(%rbp), %rax
movq %rax, -0x500(%rbp)
leaq -0x3b8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xa230
jmp 0x1579b
movq -0x500(%rbp), %rdi
leaq -0x3b8(%rbp), %rsi
xorl %edx, %edx
callq 0x4fe10
jmp 0x157b2
leaq -0x3b8(%rbp), %rdi
callq 0xb430
movq -0x2a0(%rbp), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
jmp 0x157d0
movq -0x2a0(%rbp), %rdi
callq 0x50c90
jmp 0x157de
movq -0x10(%rbp), %rdi
movq -0x2a0(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x15a10
jmp 0x157f4
movq -0x10(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x15db0
jmp 0x15803
movq -0x2a0(%rbp), %rax
movq %rax, -0x508(%rbp)
cmpq $0x0, %rax
je 0x15824
movq -0x508(%rbp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
leaq -0x268(%rbp), %rdi
callq 0xb430
leaq -0x238(%rbp), %rdi
callq 0xb430
movl $0x0, -0x208(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0xb430
leaq -0x68(%rbp), %rdi
callq 0xb430
addq $0x510, %rsp            # imm = 0x510
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x15896
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x300(%rbp), %rdi
callq 0xb430
leaq -0x301(%rbp), %rdi
callq 0xb410
jmp 0x1598b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x328(%rbp), %rdi
callq 0xb430
jmp 0x1598b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x348(%rbp), %rdi
callq 0xb430
jmp 0x1598b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x1591f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x368(%rbp), %rdi
callq 0xb430
leaq -0x369(%rbp), %rdi
callq 0xb410
jmp 0x1598b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x1595f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x390(%rbp), %rdi
callq 0xb430
leaq -0x391(%rbp), %rdi
callq 0xb410
jmp 0x1598b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x3b8(%rbp), %rdi
callq 0xb430
leaq -0x268(%rbp), %rdi
callq 0xb430
leaq -0x238(%rbp), %rdi
callq 0xb430
leaq -0xb0(%rbp), %rdi
callq 0xb430
leaq -0x68(%rbp), %rdi
callq 0xb430
movq -0x88(%rbp), %rdi
callq 0xaa00
nopw %cs:(%rax,%rax)