// File: Ciaxur[P]yagb-emu/include/imgui/imgui.cpp
// Function: ImGui::DebugCheckVersionAndDataLayout(char const*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)
bool ImGui::DebugCheckVersionAndDataLayout(const char* version, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_vert, size_t sz_idx)
{
    bool error = false;
    if (strcmp(version, IMGUI_VERSION) != 0) { error = true; IM_ASSERT(strcmp(version, IMGUI_VERSION) == 0 && "Mismatched version string!"); }
    if (sz_io != sizeof(ImGuiIO)) { error = true; IM_ASSERT(sz_io == sizeof(ImGuiIO) && "Mismatched struct layout!"); }
    if (sz_style != sizeof(ImGuiStyle)) { error = true; IM_ASSERT(sz_style == sizeof(ImGuiStyle) && "Mismatched struct layout!"); }
    if (sz_vec2 != sizeof(ImVec2)) { error = true; IM_ASSERT(sz_vec2 == sizeof(ImVec2) && "Mismatched struct layout!"); }
    if (sz_vec4 != sizeof(ImVec4)) { error = true; IM_ASSERT(sz_vec4 == sizeof(ImVec4) && "Mismatched struct layout!"); }
    if (sz_vert != sizeof(ImDrawVert)) { error = true; IM_ASSERT(sz_vert == sizeof(ImDrawVert) && "Mismatched struct layout!"); }
    if (sz_idx != sizeof(ImDrawIdx)) { error = true; IM_ASSERT(sz_idx == sizeof(ImDrawIdx) && "Mismatched struct layout!"); }
    return !error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movb $0x0, -0x31(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x96864(%rip), %rsi     # 0x1720c7
callq 0xd7e0
cmpl $0x0, %eax
je 0xdb8c0
movb $0x1, -0x31(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x9684b(%rip), %rsi     # 0x1720c7
callq 0xd7e0
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x32(%rbp)
jne 0xdb894
movb $0x1, %al
movb %al, -0x32(%rbp)
jmp 0xdb894
movb -0x32(%rbp), %al
testb $0x1, %al
jne 0xdb89d
jmp 0xdb89f
jmp 0xdb8be
leaq 0x98e09(%rip), %rdi     # 0x1746af
leaq 0x9765c(%rip), %rsi     # 0x172f09
movl $0x1b19, %edx           # imm = 0x1B19
leaq 0x98e37(%rip), %rcx     # 0x1746f0
callq 0xd180
jmp 0xdb8c0
cmpq $0x1558, -0x10(%rbp)    # imm = 0x1558
je 0xdb910
movb $0x1, -0x31(%rbp)
xorl %eax, %eax
cmpq $0x1558, -0x10(%rbp)    # imm = 0x1558
movb %al, -0x33(%rbp)
jne 0xdb8e4
movb $0x1, %al
movb %al, -0x33(%rbp)
jmp 0xdb8e4
movb -0x33(%rbp), %al
testb $0x1, %al
jne 0xdb8ed
jmp 0xdb8ef
jmp 0xdb90e
leaq 0x98e7d(%rip), %rdi     # 0x174773
leaq 0x9760c(%rip), %rsi     # 0x172f09
movl $0x1b1a, %edx           # imm = 0x1B1A
leaq 0x98de7(%rip), %rcx     # 0x1746f0
callq 0xd180
jmp 0xdb910
cmpq $0x414, -0x18(%rbp)     # imm = 0x414
je 0xdb960
movb $0x1, -0x31(%rbp)
xorl %eax, %eax
cmpq $0x414, -0x18(%rbp)     # imm = 0x414
movb %al, -0x34(%rbp)
jne 0xdb934
movb $0x1, %al
movb %al, -0x34(%rbp)
jmp 0xdb934
movb -0x34(%rbp), %al
testb $0x1, %al
jne 0xdb93d
jmp 0xdb93f
jmp 0xdb95e
leaq 0x98e65(%rip), %rdi     # 0x1747ab
leaq 0x975bc(%rip), %rsi     # 0x172f09
movl $0x1b1b, %edx           # imm = 0x1B1B
leaq 0x98d97(%rip), %rcx     # 0x1746f0
callq 0xd180
jmp 0xdb960
cmpq $0x8, -0x20(%rbp)
je 0xdb9aa
movb $0x1, -0x31(%rbp)
xorl %eax, %eax
cmpq $0x8, -0x20(%rbp)
movb %al, -0x35(%rbp)
jne 0xdb97e
movb $0x1, %al
movb %al, -0x35(%rbp)
jmp 0xdb97e
movb -0x35(%rbp), %al
testb $0x1, %al
jne 0xdb987
jmp 0xdb989
jmp 0xdb9a8
leaq 0x98e59(%rip), %rdi     # 0x1747e9
leaq 0x97572(%rip), %rsi     # 0x172f09
movl $0x1b1c, %edx           # imm = 0x1B1C
leaq 0x98d4d(%rip), %rcx     # 0x1746f0
callq 0xd180
jmp 0xdb9aa
cmpq $0x10, -0x28(%rbp)
je 0xdb9f4
movb $0x1, -0x31(%rbp)
xorl %eax, %eax
cmpq $0x10, -0x28(%rbp)
movb %al, -0x36(%rbp)
jne 0xdb9c8
movb $0x1, %al
movb %al, -0x36(%rbp)
jmp 0xdb9c8
movb -0x36(%rbp), %al
testb $0x1, %al
jne 0xdb9d1
jmp 0xdb9d3
jmp 0xdb9f2
leaq 0x98e48(%rip), %rdi     # 0x174822
leaq 0x97528(%rip), %rsi     # 0x172f09
movl $0x1b1d, %edx           # imm = 0x1B1D
leaq 0x98d03(%rip), %rcx     # 0x1746f0
callq 0xd180
jmp 0xdb9f4
cmpq $0x14, -0x30(%rbp)
je 0xdba3e
movb $0x1, -0x31(%rbp)
xorl %eax, %eax
cmpq $0x14, -0x30(%rbp)
movb %al, -0x37(%rbp)
jne 0xdba12
movb $0x1, %al
movb %al, -0x37(%rbp)
jmp 0xdba12
movb -0x37(%rbp), %al
testb $0x1, %al
jne 0xdba1b
jmp 0xdba1d
jmp 0xdba3c
leaq 0x98e37(%rip), %rdi     # 0x17485b
leaq 0x974de(%rip), %rsi     # 0x172f09
movl $0x1b1e, %edx           # imm = 0x1B1E
leaq 0x98cb9(%rip), %rcx     # 0x1746f0
callq 0xd180
jmp 0xdba3e
cmpq $0x2, 0x10(%rbp)
je 0xdba88
movb $0x1, -0x31(%rbp)
xorl %eax, %eax
cmpq $0x2, 0x10(%rbp)
movb %al, -0x38(%rbp)
jne 0xdba5c
movb $0x1, %al
movb %al, -0x38(%rbp)
jmp 0xdba5c
movb -0x38(%rbp), %al
testb $0x1, %al
jne 0xdba65
jmp 0xdba67
jmp 0xdba86
leaq 0x98e2a(%rip), %rdi     # 0x174898
leaq 0x97494(%rip), %rsi     # 0x172f09
movl $0x1b1f, %edx           # imm = 0x1B1F
leaq 0x98c6f(%rip), %rcx     # 0x1746f0
callq 0xd180
jmp 0xdba88
movb -0x31(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)