// File: /workspace/github_cpp_makefile_star2_O1/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
subq $0x18, %rsp
movq %rcx, %r12
movq %rdx, %r13
movq %rdi, %r15
leaq 0x10(%rdi), %rbx
leaq 0x20(%rdi), %rax
movq %rax, 0x10(%rsp)
movq %rax, 0x10(%rdi)
xorl %eax, %eax
movq %rax, 0x18(%rdi)
movb %al, 0x20(%rdi)
leaq 0x30(%rdi), %r14
leaq 0x40(%rdi), %rcx
movq %rcx, 0x8(%rsp)
movq %rcx, 0x30(%rdi)
movq %rax, 0x38(%rdi)
movb %al, 0x40(%rdi)
movq %rbx, %rdi
callq 0x8ed0
movq %r14, %rdi
movq %r13, %rsi
callq 0x8ed0
movq %r12, (%r15)
callq 0x8c10
movq %rax, 0x8(%r15)
movq %rax, %rdi
xorl %esi, %esi
callq 0x8d10
movq 0x8(%r15), %rdi
xorl %esi, %esi
callq 0x8e90
movq 0x8(%r15), %r13
callq 0x89d0
movq %rax, %r12
movq %r13, %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
movl $0xa, %esi
callq 0x8200
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
movq %rax, %rdi
movl $0xa, %esi
callq 0x8460
movq 0x8(%r15), %r13
callq 0x89c0
movq %r13, %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
movl $0xa, %esi
callq 0x9000
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
movq %rax, %rdi
xorl %esi, %esi
callq 0x82e0
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
movq %rax, %rdi
movl $0x1, %esi
callq 0x82e0
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
movq %rax, %rdi
xorl %esi, %esi
callq 0x8710
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
movq %rax, %rdi
movl $0x1, %esi
callq 0x8710
xorl %edi, %edi
callq 0x8800
movq %rax, %r13
movq (%rbx), %rsi
leaq 0x1d1a(%rip), %rdi      # 0x2a757
xorl %eax, %eax
callq 0x8290
movq %rax, %rbp
callq 0x8dd0
movq %r13, %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
movq %rbp, %rsi
callq 0x8c60
movq %r13, %rdi
movl $0x1, %esi
callq 0x8d10
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
movq %rax, %rdi
movq %r13, %rsi
movl $0x1, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
movl $0x1, %r9d
callq 0x8ac0
movq (%r14), %rdi
callq 0x8800
movq %rax, %r13
movq %rax, %rdi
movl $0x1, %esi
callq 0x8d10
movq 0x8(%r15), %rdi
movq %r12, %rsi
callq 0x8150
movq %rax, %rdi
movq %r13, %rsi
movl $0x1, %edx
movl $0x1, %ecx
movl $0x1, %r8d
movl $0x1, %r9d
callq 0x8ac0
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x28af5
jmp 0x28af5
jmp 0x28af5
jmp 0x28af5
movq %rax, %r15
movq (%r14), %rdi
cmpq 0x8(%rsp), %rdi
je 0x28b12
movq 0x8(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x8170
movq (%rbx), %rdi
cmpq 0x10(%rsp), %rdi
je 0x28b2c
movq 0x10(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x8170
movq %r15, %rdi
callq 0x87b0