// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/startgtk_editor.c
// Function: create_window
static GtkWindow *create_window(void)
{
    GtkBuilder *builder = NULL;
    GError *error = NULL;
    GtkWidget *window = NULL;
    GtkImage *appicon = NULL;

    builder = gtk_builder_new();
    if (!builder) {
        goto fail;
    }
    if (!gtk_builder_add_from_resource(builder, "/startgtk.glade", &error)) {
        buildprintf("gtk_builder_add_from_resource error: %s\n", error->message);
        goto fail;
    }

    // Get the window widget.
    window = GTK_WIDGET(get_and_connect_signal(builder, "startgtk",
        "delete-event", G_CALLBACK(on_startgtk_delete_event)));
    if (!window) {
        goto fail;
    }

    // Set the appicon image.
    appicon = GTK_IMAGE(gtk_builder_get_object(builder, "appicon"));
    if (appicon) {
        gtk_image_set_from_resource(appicon, "/appicon.png");
    }

    // Get the window widgets we need and wire them up as appropriate.
    controls.startbutton = GTK_WIDGET(get_and_connect_signal(builder, "startbutton",
        "clicked", G_CALLBACK(on_startbutton_clicked)));
    controls.cancelbutton = GTK_WIDGET(get_and_connect_signal(builder, "cancelbutton",
        "clicked", G_CALLBACK(on_cancelbutton_clicked)));

    controls.tabs = GTK_WIDGET(gtk_builder_get_object(builder, "tabs"));
    controls.configbox = GTK_WIDGET(gtk_builder_get_object(builder, "configbox"));
    controls.alwaysshowcheck = GTK_WIDGET(gtk_builder_get_object(builder, "alwaysshowcheck"));

    controls.messagestext = GTK_WIDGET(gtk_builder_get_object(builder, "messagestext"));

    controls.vmode2dcombo = GTK_WIDGET(gtk_builder_get_object(builder, "vmode2dcombo"));
    controls.vmode2dlist = GTK_LIST_STORE(gtk_builder_get_object(builder, "vmode2dlist"));
    controls.vmode3dcombo = GTK_WIDGET(gtk_builder_get_object(builder, "vmode3dcombo"));
    controls.vmode3dlist = GTK_LIST_STORE(gtk_builder_get_object(builder, "vmode3dlist"));
    controls.fullscreencheck = GTK_WIDGET(get_and_connect_signal(builder, "fullscreencheck",
        "toggled", G_CALLBACK(on_fullscreencheck_toggled)));

    g_object_unref(G_OBJECT(builder));

    return GTK_WINDOW(window);

fail:
    if (window) {
        gtk_widget_destroy(window);
    }
    if (builder) {
        g_object_unref(G_OBJECT(builder));
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq $0x0, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
callq 0x6080
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x2ca50
jmp 0x2cd5c
movq -0x10(%rbp), %rdi
leaq 0x84f7d(%rip), %rsi     # 0xb19d8
leaq -0x18(%rbp), %rdx
callq 0x6720
cmpl $0x0, %eax
jne 0x2ca84
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
leaq 0x84f70(%rip), %rdi     # 0xb19e8
movb $0x0, %al
callq 0x37c90
jmp 0x2cd5c
movq -0x10(%rbp), %rdi
leaq 0x84f82(%rip), %rsi     # 0xb1a11
leaq 0x84f84(%rip), %rdx     # 0xb1a1a
leaq 0x8b3(%rip), %rcx       # 0x2d350
callq 0x2d2d0
movq %rax, -0x30(%rbp)
callq 0x6bc0
movq -0x30(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x2cac7
jmp 0x2cd5c
movq -0x10(%rbp), %rdi
leaq 0x84f55(%rip), %rsi     # 0xb1a27
callq 0x6770
movq %rax, -0x38(%rbp)
callq 0x6830
movq -0x38(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x2cb07
movq -0x28(%rbp), %rdi
leaq 0x84f2d(%rip), %rsi     # 0xb1a2f
callq 0x6370
movq -0x10(%rbp), %rdi
leaq 0x84f2a(%rip), %rsi     # 0xb1a3c
leaq 0x84f2f(%rip), %rdx     # 0xb1a48
leaq 0x890(%rip), %rcx       # 0x2d3b0
callq 0x2d2d0
movq %rax, -0x98(%rbp)
callq 0x6bc0
movq -0x98(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18e039(%rip)    # 0x1bab80
movq -0x10(%rbp), %rdi
leaq 0x84efe(%rip), %rsi     # 0xb1a50
leaq 0x84eef(%rip), %rdx     # 0xb1a48
leaq 0xa50(%rip), %rcx       # 0x2d5b0
callq 0x2d2d0
movq %rax, -0x90(%rbp)
callq 0x6bc0
movq -0x90(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18e001(%rip)    # 0x1bab88
movq -0x10(%rbp), %rdi
leaq 0x84ecb(%rip), %rsi     # 0xb1a5d
callq 0x6770
movq %rax, -0x88(%rbp)
callq 0x6bc0
movq -0x88(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18dfd7(%rip)    # 0x1bab90
movq -0x10(%rbp), %rdi
leaq 0x84e9e(%rip), %rsi     # 0xb1a62
callq 0x6770
movq %rax, -0x80(%rbp)
callq 0x6bc0
movq -0x80(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18dfb3(%rip)    # 0x1bab98
movq -0x10(%rbp), %rdi
leaq 0x84e7c(%rip), %rsi     # 0xb1a6c
callq 0x6770
movq %rax, -0x78(%rbp)
callq 0x6bc0
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18df8f(%rip)    # 0x1baba0
movq -0x10(%rbp), %rdi
leaq 0x84e60(%rip), %rsi     # 0xb1a7c
callq 0x6770
movq %rax, -0x70(%rbp)
callq 0x6bc0
movq -0x70(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18df6b(%rip)    # 0x1baba8
movq -0x10(%rbp), %rdi
leaq 0x84e41(%rip), %rsi     # 0xb1a89
callq 0x6770
movq %rax, -0x68(%rbp)
callq 0x6bc0
movq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18df47(%rip)    # 0x1babb0
movq -0x10(%rbp), %rdi
leaq 0x84e22(%rip), %rsi     # 0xb1a96
callq 0x6770
movq %rax, -0x60(%rbp)
callq 0x6510
movq -0x60(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18df23(%rip)    # 0x1babb8
movq -0x10(%rbp), %rdi
leaq 0x84e02(%rip), %rsi     # 0xb1aa2
callq 0x6770
movq %rax, -0x58(%rbp)
callq 0x6bc0
movq -0x58(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18deff(%rip)    # 0x1babc0
movq -0x10(%rbp), %rdi
leaq 0x84de3(%rip), %rsi     # 0xb1aaf
callq 0x6770
movq %rax, -0x50(%rbp)
callq 0x6510
movq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18dedb(%rip)    # 0x1babc8
movq -0x10(%rbp), %rdi
leaq 0x84dc3(%rip), %rsi     # 0xb1abb
leaq 0x84dcc(%rip), %rdx     # 0xb1acb
leaq 0x90a(%rip), %rcx       # 0x2d610
callq 0x2d2d0
movq %rax, -0x48(%rbp)
callq 0x6bc0
movq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, 0x18dea9(%rip)    # 0x1babd0
movq -0x10(%rbp), %rdi
movl $0x50, %esi
callq 0x6130
movq %rax, %rdi
callq 0x69d0
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
callq 0x6b70
movq -0x40(%rbp), %rdi
movq %rax, %rsi
callq 0x6130
movq %rax, -0x8(%rbp)
jmp 0x2cd91
cmpq $0x0, -0x20(%rbp)
je 0x2cd6c
movq -0x20(%rbp), %rdi
callq 0x6170
cmpq $0x0, -0x10(%rbp)
je 0x2cd89
movq -0x10(%rbp), %rdi
movl $0x50, %esi
callq 0x6130
movq %rax, %rdi
callq 0x69d0
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nop