// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_FIRMWARE_CAPABILITY_dumper
int ATOM_FIRMWARE_CAPABILITY_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_FIRMWARE_CAPABILITY *d = (ATOM_FIRMWARE_CAPABILITY *) data;
  int i;
  if (d) {
    printf ("%s       USHORT FirmwarePosted:1%s = 0x%04x     (%d)\n", IND(indent), FILL(22), d->FirmwarePosted, d->FirmwarePosted);
    printf ("%s       USHORT DualCRTC_Support:1%s = 0x%04x     (%d)\n", IND(indent), FILL(24), d->DualCRTC_Support, d->DualCRTC_Support);
    printf ("%s       USHORT ExtendedDesktopSupport:1%s = 0x%04x     (%d)\n", IND(indent), FILL(30), d->ExtendedDesktopSupport, d->ExtendedDesktopSupport);
    printf ("%s       USHORT MemoryClockSS_Support:1%s = 0x%04x     (%d)\n", IND(indent), FILL(29), d->MemoryClockSS_Support, d->MemoryClockSS_Support);
    printf ("%s       USHORT EngineClockSS_Support:1%s = 0x%04x     (%d)\n", IND(indent), FILL(29), d->EngineClockSS_Support, d->EngineClockSS_Support);
    printf ("%s       USHORT GPUControlsBL:1%s = 0x%04x     (%d)\n", IND(indent), FILL(21), d->GPUControlsBL, d->GPUControlsBL);
    printf ("%s       USHORT WMI_SUPPORT:1%s = 0x%04x     (%d)\n", IND(indent), FILL(19), d->WMI_SUPPORT, d->WMI_SUPPORT);
    printf ("%s       USHORT PPMode_Assigned:1%s = 0x%04x     (%d)\n", IND(indent), FILL(23), d->PPMode_Assigned, d->PPMode_Assigned);
    printf ("%s       USHORT HyperMemory_Support:1%s = 0x%04x     (%d)\n", IND(indent), FILL(27), d->HyperMemory_Support, d->HyperMemory_Support);
    printf ("%s       USHORT HyperMemory_Size:4%s = 0x%04x     (%d)\n", IND(indent), FILL(24), d->HyperMemory_Size, d->HyperMemory_Size);
    printf ("%s       USHORT Reserved:3%s = 0x%04x     (%d)\n", IND(indent), FILL(16), d->Reserved, d->Reserved);
  }
  return sizeof (ATOM_FIRMWARE_CAPABILITY);
}

// Assembly:
testq %rsi, %rsi
je 0xbf96
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq 0x314ee(%rip), %rax     # 0x3d2b0
cmpl $0x19, %edx
pushq $0x19
popq %rcx
cmovll %edx, %ecx
addl %ecx, %ecx
pushq $0x32
popq %rdx
subl %ecx, %edx
movslq %edx, %r14
leaq (%rax,%r14), %rsi
addq $0x16, %rax
movzwl (%rbx), %ecx
andl $0x1, %ecx
leaq 0x19c8f(%rip), %rdi     # 0x25a79
movq %rax, %rdx
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x314b2(%rip), %rdx     # 0x3d2b0
leaq (%rdx,%r14), %rsi
addq $0x18, %rdx
movzwl (%rbx), %ecx
shrl %ecx
andl $0x1, %ecx
leaq 0x19c9a(%rip), %rdi     # 0x25aaf
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x3148a(%rip), %rdx     # 0x3d2b0
leaq (%rdx,%r14), %rsi
addq $0x1e, %rdx
movzwl (%rbx), %ecx
shrl $0x2, %ecx
andl $0x1, %ecx
leaq 0x19ca9(%rip), %rdi     # 0x25ae7
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x31461(%rip), %rdx     # 0x3d2b0
leaq (%rdx,%r14), %rsi
addq $0x1d, %rdx
movzwl (%rbx), %ecx
shrl $0x3, %ecx
andl $0x1, %ecx
leaq 0x19cbe(%rip), %rdi     # 0x25b25
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x31438(%rip), %rdx     # 0x3d2b0
leaq (%rdx,%r14), %rsi
addq $0x1d, %rdx
movzwl (%rbx), %ecx
shrl $0x4, %ecx
andl $0x1, %ecx
leaq 0x19cd2(%rip), %rdi     # 0x25b62
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x3140f(%rip), %rdx     # 0x3d2b0
leaq (%rdx,%r14), %rsi
addq $0x15, %rdx
movzwl (%rbx), %ecx
shrl $0x5, %ecx
andl $0x1, %ecx
leaq 0x19ce6(%rip), %rdi     # 0x25b9f
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x313e6(%rip), %rdx     # 0x3d2b0
leaq (%rdx,%r14), %rsi
addq $0x13, %rdx
movzwl (%rbx), %ecx
shrl $0x6, %ecx
andl $0x1, %ecx
leaq 0x19cf2(%rip), %rdi     # 0x25bd4
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x313bd(%rip), %rdx     # 0x3d2b0
leaq (%rdx,%r14), %rsi
addq $0x17, %rdx
movzwl (%rbx), %ecx
shrl $0x7, %ecx
andl $0x1, %ecx
leaq 0x19cfc(%rip), %rdi     # 0x25c07
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x31394(%rip), %rdx     # 0x3d2b0
leaq (%rdx,%r14), %rsi
addq $0x1b, %rdx
movzwl (%rbx), %ecx
shrl $0x8, %ecx
andl $0x1, %ecx
leaq 0x19d0a(%rip), %rdi     # 0x25c3e
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x3136b(%rip), %rdx     # 0x3d2b0
leaq (%rdx,%r14), %rsi
addq $0x18, %rdx
movzwl (%rbx), %ecx
shrl $0x9, %ecx
andl $0xf, %ecx
leaq 0x19d1c(%rip), %rdi     # 0x25c79
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x31342(%rip), %rdx     # 0x3d2b0
addq %rdx, %r14
addq $0x10, %rdx
movzwl (%rbx), %ecx
shrl $0xd, %ecx
leaq 0x19d2f(%rip), %rdi     # 0x25cb1
movq %r14, %rsi
movl %ecx, %r8d
xorl %eax, %eax
callq 0x40b0
addq $0x8, %rsp
popq %rbx
popq %r14
pushq $0x2
popq %rax
retq