// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/src/startgtk_game.c
// Function: on_startbutton_clicked
static void on_startbutton_clicked(GtkButton *button, gpointer user_data)
{
    int mode = -1;
    GtkTreeIter iter;

    (void)button; (void)user_data;

    if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(controls.vmode3dcombo), &iter)) {
        gtk_tree_model_get(GTK_TREE_MODEL(controls.vmode3dlist), &iter, 1 /*index*/, &mode, -1);
    }
    if (mode >= 0) {
        settings->xdim3d = validmode[mode].xdim;
        settings->ydim3d = validmode[mode].ydim;
        settings->bpp3d = validmode[mode].bpp;
        settings->fullscreen = validmode[mode].fs;
    }

    settings->usemouse = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(controls.usemousecheck));
    settings->usejoy = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(controls.usejoystickcheck));

    mode = -1;
    if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(controls.soundqualitycombo), &iter)) {
        gtk_tree_model_get(GTK_TREE_MODEL(controls.soundqualitylist), &iter, 1 /*index*/, &mode, -1);
    }
    if (mode >= 0) {
        settings->samplerate = soundQualities[mode].frequency;
        settings->bitspersample = soundQualities[mode].samplesize;
        settings->channels = soundQualities[mode].channels;
    }

    settings->forcesetup = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(controls.alwaysshowcheck));

    startwinloop = FALSE;   // Break the loop.
    retval = STARTWIN_RUN;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0xffffffff, -0x14(%rbp) # imm = 0xFFFFFFFF
movq 0x32dab2(%rip), %rax    # 0x377e60
movq %rax, -0x40(%rbp)
callq 0x8850
movq -0x40(%rbp), %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
leaq -0x38(%rbp), %rsi
callq 0x90e0
cmpl $0x0, %eax
je 0x4a40d
movq 0x32da8d(%rip), %rax    # 0x377e68
movq %rax, -0x48(%rbp)
callq 0x8560
movq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
leaq -0x38(%rbp), %rsi
movl $0x1, %edx
leaq -0x14(%rbp), %rcx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
movb $0x0, %al
callq 0x88f0
cmpl $0x0, -0x14(%rbp)
jl 0x4a48f
movslq -0x14(%rbp), %rcx
leaq 0x5e8662(%rip), %rax    # 0x632a80
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %ecx
movq 0x32da92(%rip), %rax    # 0x377ec0
movl %ecx, 0x4(%rax)
movslq -0x14(%rbp), %rcx
leaq 0x5e8644(%rip), %rax    # 0x632a80
shlq $0x4, %rcx
addq %rcx, %rax
movl 0x4(%rax), %ecx
movq 0x32da73(%rip), %rax    # 0x377ec0
movl %ecx, 0x8(%rax)
movslq -0x14(%rbp), %rcx
leaq 0x5e8625(%rip), %rax    # 0x632a80
shlq $0x4, %rcx
addq %rcx, %rax
movzbl 0x8(%rax), %ecx
movq 0x32da53(%rip), %rax    # 0x377ec0
movl %ecx, 0xc(%rax)
movslq -0x14(%rbp), %rcx
leaq 0x5e8605(%rip), %rax    # 0x632a80
shlq $0x4, %rcx
addq %rcx, %rax
movzbl 0x9(%rax), %ecx
movq 0x32da33(%rip), %rax    # 0x377ec0
movl %ecx, (%rax)
movq 0x32d9e2(%rip), %rax    # 0x377e78
movq %rax, -0x60(%rbp)
callq 0x9020
movq -0x60(%rbp), %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
callq 0x83e0
movl %eax, %ecx
movq 0x32da04(%rip), %rax    # 0x377ec0
movl %ecx, 0x14(%rax)
movq 0x32d9ba(%rip), %rax    # 0x377e80
movq %rax, -0x58(%rbp)
callq 0x9020
movq -0x58(%rbp), %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
callq 0x83e0
movl %eax, %ecx
movq 0x32d9d4(%rip), %rax    # 0x377ec0
movl %ecx, 0x18(%rax)
movl $0xffffffff, -0x14(%rbp) # imm = 0xFFFFFFFF
movq 0x32d98b(%rip), %rax    # 0x377e88
movq %rax, -0x50(%rbp)
callq 0x8850
movq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
leaq -0x38(%rbp), %rsi
callq 0x90e0
cmpl $0x0, %eax
je 0x4a55c
movq 0x32d966(%rip), %rax    # 0x377e90
movq %rax, -0x68(%rbp)
callq 0x8560
movq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
leaq -0x38(%rbp), %rsi
movl $0x1, %edx
leaq -0x14(%rbp), %rcx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
movb $0x0, %al
callq 0x88f0
cmpl $0x0, -0x14(%rbp)
jl 0x4a5be
movslq -0x14(%rbp), %rcx
leaq 0xd0a83(%rip), %rax     # 0x11aff0
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
movq 0x32d943(%rip), %rax    # 0x377ec0
movl %ecx, 0x1c(%rax)
movslq -0x14(%rbp), %rcx
leaq 0xd0a65(%rip), %rax     # 0x11aff0
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %ecx
movq 0x32d924(%rip), %rax    # 0x377ec0
movl %ecx, 0x20(%rax)
movslq -0x14(%rbp), %rcx
leaq 0xd0a46(%rip), %rax     # 0x11aff0
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %ecx
movq 0x32d905(%rip), %rax    # 0x377ec0
movl %ecx, 0x24(%rax)
movq 0x32d88b(%rip), %rax    # 0x377e50
movq %rax, -0x70(%rbp)
callq 0x9020
movq -0x70(%rbp), %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
callq 0x83e0
movl %eax, %ecx
movq 0x32d8d5(%rip), %rax    # 0x377ec0
movl %ecx, 0x10(%rax)
movl $0x0, 0x32d834(%rip)    # 0x377e2c
movl $0x1, 0xd09de(%rip)     # 0x11afe0
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax,%rax)