// File: /workspace/github_c_makefile_star2_O0/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: VBE_1_2_INFO_BLOCK_UPDATABLE_dumper
int VBE_1_2_INFO_BLOCK_UPDATABLE_dumper (uint8_t *start, uint8_t *data, int indent) {
  VBE_1_2_INFO_BLOCK_UPDATABLE *d = (VBE_1_2_INFO_BLOCK_UPDATABLE *) data;
  int i;
  if (d) {
    for (i = 0; i < 4; i++) {
      printf ("%s%04x:  UCHAR VbeSignature%s [%d] = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->VbeSignature[i])-start), FILL(21+(i>9)), i, d->VbeSignature[i], d->VbeSignature[i]); }
    printf ("%s%04x:  USHORT VbeVersion%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->VbeVersion)-start), FILL(16), d->VbeVersion, d->VbeVersion);
    printf ("%s%04x:  PTR_32_BIT_UNION OemStringPtr%s :\n", IND(indent), (int)(((uint8_t*)&d->OemStringPtr)-start), FILL(28)); PTR_32_BIT_UNION_dumper (start, (uint8_t*) &d->OemStringPtr, indent+1);
    for (i = 0; i < 4; i++) {
      printf ("%s%04x:  UCHAR Capabilities%s [%d] = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->Capabilities[i])-start), FILL(21+(i>9)), i, d->Capabilities[i], d->Capabilities[i]); }
    printf ("%s%04x:  PTR_32_BIT_UNION VideoModePtr%s :\n", IND(indent), (int)(((uint8_t*)&d->VideoModePtr)-start), FILL(28)); PTR_32_BIT_UNION_dumper (start, (uint8_t*) &d->VideoModePtr, indent+1);
    printf ("%s%04x:  USHORT TotalMemory%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->TotalMemory)-start), FILL(17), d->TotalMemory, d->TotalMemory);
  }
  return sizeof (VBE_1_2_INFO_BLOCK_UPDATABLE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x3efa9
movl $0x0, -0x24(%rbp)
cmpl $0x4, -0x24(%rbp)
jge 0x3eca4
movq 0x256cf(%rip), %rax     # 0x642a0
movq %rax, -0x30(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3ebe5
movl $0x19, %eax
movl %eax, -0x34(%rbp)
jmp 0x3ebeb
movl -0x14(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x30(%rbp), %rax
movl -0x34(%rbp), %edx
shll %edx
movl $0x32, %ecx
subl %edx, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x50(%rbp)
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x44(%rbp)
movq 0x2567f(%rip), %rax     # 0x642a0
movq %rax, -0x40(%rbp)
cmpl $0x9, -0x24(%rbp)
setg %al
andb $0x1, %al
movzbl %al, %eax
addl $0x15, %eax
cmpl $0x32, %eax
jle 0x3ec43
movl $0x32, %eax
movl %eax, -0x54(%rbp)
jmp 0x3ec55
cmpl $0x9, -0x24(%rbp)
setg %al
andb $0x1, %al
movzbl %al, %eax
addl $0x15, %eax
movl %eax, -0x54(%rbp)
movl -0x44(%rbp), %edx
movq -0x50(%rbp), %rsi
movq -0x40(%rbp), %rcx
movl -0x54(%rbp), %eax
cltq
addq %rax, %rcx
movl -0x24(%rbp), %r8d
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rdi
movzbl (%rax,%rdi), %r9d
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rdi
movzbl (%rax,%rdi), %eax
leaq 0x1a317(%rip), %rdi     # 0x58fa3
movl %eax, (%rsp)
movb $0x0, %al
callq 0x4090
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x3ebc0
movq 0x255f5(%rip), %rax     # 0x642a0
movq %rax, -0x60(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3ecbf
movl $0x19, %eax
movl %eax, -0x64(%rbp)
jmp 0x3ecc5
movl -0x14(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x60(%rbp), %rsi
movl -0x64(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x4, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x255ae(%rip), %rcx     # 0x642a0
addq $0x10, %rcx
movq -0x20(%rbp), %rax
movzwl 0x4(%rax), %r8d
movq -0x20(%rbp), %rax
movzwl 0x4(%rax), %r9d
leaq 0x1a2cc(%rip), %rdi     # 0x58fdb
movb $0x0, %al
callq 0x4090
movq 0x25583(%rip), %rax     # 0x642a0
movq %rax, -0x70(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3ed31
movl $0x19, %eax
movl %eax, -0x74(%rbp)
jmp 0x3ed37
movl -0x14(%rbp), %eax
movl %eax, -0x74(%rbp)
movq -0x70(%rbp), %rsi
movl -0x74(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x6, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x2553c(%rip), %rcx     # 0x642a0
addq $0x1c, %rcx
leaq 0x1a29c(%rip), %rdi     # 0x5900b
movb $0x0, %al
callq 0x4090
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
addq $0x6, %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x3ea80
movl $0x0, -0x24(%rbp)
cmpl $0x4, -0x24(%rbp)
jge 0x3eea2
movq 0x254fb(%rip), %rax     # 0x642a0
movq %rax, -0x80(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3edbc
movl $0x19, %eax
movl %eax, -0x84(%rbp)
jmp 0x3edc5
movl -0x14(%rbp), %eax
movl %eax, -0x84(%rbp)
movq -0x80(%rbp), %rax
movl -0x84(%rbp), %edx
shll %edx
movl $0x32, %ecx
subl %edx, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
movq -0x20(%rbp), %rax
addq $0xa, %rax
movslq -0x24(%rbp), %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x94(%rbp)
movq 0x25498(%rip), %rax     # 0x642a0
movq %rax, -0x90(%rbp)
cmpl $0x9, -0x24(%rbp)
setg %al
andb $0x1, %al
movzbl %al, %eax
addl $0x15, %eax
cmpl $0x32, %eax
jle 0x3ee30
movl $0x32, %eax
movl %eax, -0xa4(%rbp)
jmp 0x3ee45
cmpl $0x9, -0x24(%rbp)
setg %al
andb $0x1, %al
movzbl %al, %eax
addl $0x15, %eax
movl %eax, -0xa4(%rbp)
movl -0x94(%rbp), %edx
movq -0xa0(%rbp), %rsi
movq -0x90(%rbp), %rcx
movl -0xa4(%rbp), %eax
cltq
addq %rax, %rcx
movl -0x24(%rbp), %r8d
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rdi
movzbl 0xa(%rax,%rdi), %r9d
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rdi
movzbl 0xa(%rax,%rdi), %eax
leaq 0x1a1ad(%rip), %rdi     # 0x59037
movl %eax, (%rsp)
movb $0x0, %al
callq 0x4090
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x3ed94
movq 0x253f7(%rip), %rax     # 0x642a0
movq %rax, -0xb0(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3eec3
movl $0x19, %eax
movl %eax, -0xb4(%rbp)
jmp 0x3eecc
movl -0x14(%rbp), %eax
movl %eax, -0xb4(%rbp)
movq -0xb0(%rbp), %rsi
movl -0xb4(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0xe, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x253a1(%rip), %rcx     # 0x642a0
addq $0x1c, %rcx
leaq 0x1a165(%rip), %rdi     # 0x5906f
movb $0x0, %al
callq 0x4090
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
addq $0xe, %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x3ea80
movq 0x25371(%rip), %rax     # 0x642a0
movq %rax, -0xc0(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3ef49
movl $0x19, %eax
movl %eax, -0xc4(%rbp)
jmp 0x3ef52
movl -0x14(%rbp), %eax
movl %eax, -0xc4(%rbp)
movq -0xc0(%rbp), %rsi
movl -0xc4(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x12, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x2531b(%rip), %rcx     # 0x642a0
addq $0x11, %rcx
movq -0x20(%rbp), %rax
movzwl 0x12(%rax), %r8d
movq -0x20(%rbp), %rax
movzwl 0x12(%rax), %r9d
leaq 0x1a0f9(%rip), %rdi     # 0x5909b
movb $0x0, %al
callq 0x4090
movl $0x14, %eax
addq $0xd0, %rsp
popq %rbp
retq
nopw (%rax,%rax)