// File: /workspace/github_cpp_makefile_star2_O2/eiskalteschatten[P]developersnotebook/src/components/Modal.cpp
// Function: Modal::Modal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, _GtkWidget*)
Modal::Modal(std::string new_message, std::string new_sub_message, GtkWidget *window) {
    message       = new_message;
    sub_message   = new_sub_message;
    parent_window = window;

    #ifndef __APPLE__
        const int grid_spacing = 10;

        main_grid = gtk_grid_new();
        gtk_widget_set_halign(main_grid, GTK_ALIGN_FILL);
        gtk_widget_set_valign(main_grid, GTK_ALIGN_FILL);
        gtk_grid_set_column_spacing(GTK_GRID(main_grid), grid_spacing);
        gtk_grid_set_row_spacing(GTK_GRID(main_grid), grid_spacing);
        gtk_container_set_border_width(GTK_CONTAINER(main_grid), grid_spacing);

        gtk_grid_insert_row(GTK_GRID(main_grid), 0);
        gtk_grid_insert_row(GTK_GRID(main_grid), 1);
        gtk_grid_insert_column(GTK_GRID(main_grid), 0);
        gtk_grid_insert_column(GTK_GRID(main_grid), 1);

        // Message
        GtkWidget *message_label = gtk_label_new(NULL);
        const gchar *format_msg  = "<span font_weight=\"heavy\">\%s</span>";
        const gchar *msg_markup  = g_markup_printf_escaped(format_msg, message.c_str());
        gtk_label_set_markup(GTK_LABEL(message_label), msg_markup);
        gtk_widget_set_halign(message_label, GTK_ALIGN_START);
        gtk_grid_attach(GTK_GRID(main_grid), message_label, 1, 0, 1, 1);

        // Sub message
        GtkWidget *sub_message_label = gtk_label_new(sub_message.c_str());
        gtk_widget_set_halign(sub_message_label, GTK_ALIGN_START);
        gtk_grid_attach(GTK_GRID(main_grid), sub_message_label, 1, 1, 1, 1);
    #endif
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r12
movq %rdx, %r13
movq %rdi, %r15
leaq 0x10(%rdi), %rbx
leaq 0x20(%rdi), %rax
movq %rax, 0x10(%rdi)
andq $0x0, 0x18(%rdi)
xorl %eax, %eax
movb %al, 0x20(%rdi)
leaq 0x30(%rdi), %r14
leaq 0x40(%rdi), %rcx
movq %rcx, 0x30(%rdi)
andq $0x0, 0x38(%rdi)
movb %al, 0x40(%rdi)
movq %rbx, %rdi
callq 0x8f00
movq %r14, %rdi
movq %r13, %rsi
callq 0x8f00
movq %r12, (%r15)
callq 0x8c60
movq %rax, 0x8(%r15)
movq %rax, %rdi
xorl %esi, %esi
callq 0x8d60
movq 0x8(%r15), %rdi
xorl %esi, %esi
callq 0x8ec0
movq 0x8(%r15), %r13
callq 0x89f0
movq %rax, %r12
movq %r13, %rdi
movq %rax, %rsi
callq 0x8150
pushq $0xa
popq %rsi
movq %rax, %rdi
callq 0x8210
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
pushq $0xa
popq %rsi
movq %rax, %rdi
callq 0x8470
movq 0x8(%r15), %r13
callq 0x89e0
movq %r13, %rdi
movq %rax, %rsi
callq 0x8150
pushq $0xa
popq %rsi
movq %rax, %rdi
callq 0x9050
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
movq %rax, %rdi
xorl %esi, %esi
callq 0x82f0
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
pushq $0x1
popq %rsi
movq %rax, %rdi
callq 0x82f0
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
movq %rax, %rdi
xorl %esi, %esi
callq 0x8750
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
pushq $0x1
popq %rsi
movq %rax, %rdi
callq 0x8750
xorl %edi, %edi
callq 0x8840
movq %rax, %r13
movq (%rbx), %rsi
leaq 0x271f(%rip), %rdi      # 0x23763
xorl %eax, %eax
callq 0x82a0
movq %rax, %rbp
callq 0x8e10
movq %r13, %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
movq %rbp, %rsi
callq 0x8cb0
pushq $0x1
popq %rsi
movq %r13, %rdi
callq 0x8d60
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
pushq $0x1
popq %rdx
movq %rax, %rdi
movq %r13, %rsi
xorl %ecx, %ecx
movl %edx, %r8d
movl %edx, %r9d
callq 0x8b00
movq (%r14), %rdi
callq 0x8840
movq %rax, %r13
pushq $0x1
popq %rsi
movq %rax, %rdi
callq 0x8d60
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
pushq $0x1
popq %rcx
movq %rax, %rdi
movq %r13, %rsi
movl %ecx, %edx
movl %ecx, %r8d
movl %ecx, %r9d
callq 0x8b00
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x210e5
jmp 0x210e5
jmp 0x210e5
jmp 0x210e5
movq %rax, %r15
movq %r14, %rdi
callq 0x9120
movq %rbx, %rdi
callq 0x9120
movq %r15, %rdi
callq 0x87f0