// File: /workspace/github_c_makefile_star2_O3/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_FIRMWARE_INFO_dumper
int ATOM_FIRMWARE_INFO_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_FIRMWARE_INFO *d = (ATOM_FIRMWARE_INFO *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_TABLE_HEADER sHeader%s :\n", IND(indent), (int)(((uint8_t*)&d->sHeader)-start), FILL(31)); ATOM_COMMON_TABLE_HEADER_dumper (start, (uint8_t*) &d->sHeader, indent+1);
    printf ("%s%04x:  ULONG ulFirmwareRevision%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulFirmwareRevision)-start), FILL(23), d->ulFirmwareRevision, d->ulFirmwareRevision);
    printf ("%s%04x:  ULONG ulDefaultEngineClock%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulDefaultEngineClock)-start), FILL(25), d->ulDefaultEngineClock, d->ulDefaultEngineClock);
    printf ("%s%04x:  ULONG ulDefaultMemoryClock%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulDefaultMemoryClock)-start), FILL(25), d->ulDefaultMemoryClock, d->ulDefaultMemoryClock);
    printf ("%s%04x:  ULONG ulDriverTargetEngineClock%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulDriverTargetEngineClock)-start), FILL(30), d->ulDriverTargetEngineClock, d->ulDriverTargetEngineClock);
    printf ("%s%04x:  ULONG ulDriverTargetMemoryClock%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulDriverTargetMemoryClock)-start), FILL(30), d->ulDriverTargetMemoryClock, d->ulDriverTargetMemoryClock);
    printf ("%s%04x:  ULONG ulMaxEngineClockPLL_Output%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulMaxEngineClockPLL_Output)-start), FILL(31), d->ulMaxEngineClockPLL_Output, d->ulMaxEngineClockPLL_Output);
    printf ("%s%04x:  ULONG ulMaxMemoryClockPLL_Output%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulMaxMemoryClockPLL_Output)-start), FILL(31), d->ulMaxMemoryClockPLL_Output, d->ulMaxMemoryClockPLL_Output);
    printf ("%s%04x:  ULONG ulMaxPixelClockPLL_Output%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulMaxPixelClockPLL_Output)-start), FILL(30), d->ulMaxPixelClockPLL_Output, d->ulMaxPixelClockPLL_Output);
    printf ("%s%04x:  ULONG ulASICMaxEngineClock%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulASICMaxEngineClock)-start), FILL(25), d->ulASICMaxEngineClock, d->ulASICMaxEngineClock);
    printf ("%s%04x:  ULONG ulASICMaxMemoryClock%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulASICMaxMemoryClock)-start), FILL(25), d->ulASICMaxMemoryClock, d->ulASICMaxMemoryClock);
    printf ("%s%04x:  UCHAR ucASICMaxTemperature%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucASICMaxTemperature)-start), FILL(25), d->ucASICMaxTemperature, d->ucASICMaxTemperature);
    for (i = 0; i < 3; i++) {
      printf ("%s%04x:  UCHAR ucPadding%s [%d] = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucPadding[i])-start), FILL(18+(i>9)), i, d->ucPadding[i], d->ucPadding[i]); }
    for (i = 0; i < 3; i++) {
      printf ("%s%04x:  ULONG aulReservedForBIOS%s [%d] = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->aulReservedForBIOS[i])-start), FILL(27+(i>9)), i, d->aulReservedForBIOS[i], d->aulReservedForBIOS[i]); }
    printf ("%s%04x:  USHORT usMinEngineClockPLL_Input%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMinEngineClockPLL_Input)-start), FILL(31), d->usMinEngineClockPLL_Input, d->usMinEngineClockPLL_Input);
    printf ("%s%04x:  USHORT usMaxEngineClockPLL_Input%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMaxEngineClockPLL_Input)-start), FILL(31), d->usMaxEngineClockPLL_Input, d->usMaxEngineClockPLL_Input);
    printf ("%s%04x:  USHORT usMinEngineClockPLL_Output%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMinEngineClockPLL_Output)-start), FILL(32), d->usMinEngineClockPLL_Output, d->usMinEngineClockPLL_Output);
    printf ("%s%04x:  USHORT usMinMemoryClockPLL_Input%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMinMemoryClockPLL_Input)-start), FILL(31), d->usMinMemoryClockPLL_Input, d->usMinMemoryClockPLL_Input);
    printf ("%s%04x:  USHORT usMaxMemoryClockPLL_Input%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMaxMemoryClockPLL_Input)-start), FILL(31), d->usMaxMemoryClockPLL_Input, d->usMaxMemoryClockPLL_Input);
    printf ("%s%04x:  USHORT usMinMemoryClockPLL_Output%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMinMemoryClockPLL_Output)-start), FILL(32), d->usMinMemoryClockPLL_Output, d->usMinMemoryClockPLL_Output);
    printf ("%s%04x:  USHORT usMaxPixelClock%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMaxPixelClock)-start), FILL(21), d->usMaxPixelClock, d->usMaxPixelClock);
    printf ("%s%04x:  USHORT usMinPixelClockPLL_Input%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMinPixelClockPLL_Input)-start), FILL(30), d->usMinPixelClockPLL_Input, d->usMinPixelClockPLL_Input);
    printf ("%s%04x:  USHORT usMaxPixelClockPLL_Input%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMaxPixelClockPLL_Input)-start), FILL(30), d->usMaxPixelClockPLL_Input, d->usMaxPixelClockPLL_Input);
    printf ("%s%04x:  USHORT usMinPixelClockPLL_Output%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMinPixelClockPLL_Output)-start), FILL(31), d->usMinPixelClockPLL_Output, d->usMinPixelClockPLL_Output);
    printf ("%s%04x:  ATOM_FIRMWARE_CAPABILITY_ACCESS usFirmwareCapability%s :\n", IND(indent), (int)(((uint8_t*)&d->usFirmwareCapability)-start), FILL(51)); ATOM_FIRMWARE_CAPABILITY_ACCESS_dumper (start, (uint8_t*) &d->usFirmwareCapability, indent+1);
    printf ("%s%04x:  USHORT usReferenceClock%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usReferenceClock)-start), FILL(22), d->usReferenceClock, d->usReferenceClock);
    printf ("%s%04x:  USHORT usPM_RTS_Location%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usPM_RTS_Location)-start), FILL(23), d->usPM_RTS_Location, d->usPM_RTS_Location);
    printf ("%s%04x:  UCHAR ucPM_RTS_StreamSize%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucPM_RTS_StreamSize)-start), FILL(24), d->ucPM_RTS_StreamSize, d->ucPM_RTS_StreamSize);
    printf ("%s%04x:  UCHAR ucDesign_ID%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucDesign_ID)-start), FILL(16), d->ucDesign_ID, d->ucDesign_ID);
    printf ("%s%04x:  UCHAR ucMemoryModule_ID%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucMemoryModule_ID)-start), FILL(22), d->ucMemoryModule_ID, d->ucMemoryModule_ID);
  }
  return sizeof (ATOM_FIRMWARE_INFO);
}

// Assembly:
testq %rsi, %rsi
je 0xcb69
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x2fccc(%rip), %rcx     # 0x3c2b0
cmpl $0x19, %edx
movl $0x19, %eax
cmovll %edx, %eax
addl %eax, %eax
movl $0x32, %edx
subl %eax, %edx
movslq %edx, %r15
leaq (%rcx,%r15), %rsi
addq $0x1f, %rcx
leaq 0x165a4(%rip), %rdi     # 0x22bae
movl %ebx, %r12d
subl %r14d, %r12d
movl %r12d, %edx
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, 0x14(%rsp)
movl %ebp, %edx
callq 0x5fe4
movq 0x2fc7c(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x4(%rbx), %rdx
subl %r14d, %edx
addq $0x17, %rcx
movl 0x4(%rbx), %r8d
leaq 0x1a6cc(%rip), %rdi     # 0x26d1a
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2fc51(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x8(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movl 0x8(%rbx), %r8d
leaq 0x18044(%rip), %rdi     # 0x246bd
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2fc26(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0xc(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movl 0xc(%rbx), %r8d
leaq 0x1804e(%rip), %rdi     # 0x246f2
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2fbfb(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x10(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movl 0x10(%rbx), %r8d
leaq 0x1a67e(%rip), %rdi     # 0x26d4d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2fbd0(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x14(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movl 0x14(%rbx), %r8d
leaq 0x1a68d(%rip), %rdi     # 0x26d87
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2fba5(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x18(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movl 0x18(%rbx), %r8d
leaq 0x1a69c(%rip), %rdi     # 0x26dc1
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2fb7a(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x1c(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movl 0x1c(%rbx), %r8d
leaq 0x1a6ac(%rip), %rdi     # 0x26dfc
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2fb4f(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x20(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movl 0x20(%rbx), %r8d
leaq 0x1a6bc(%rip), %rdi     # 0x26e37
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2fb24(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x24(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movl 0x24(%rbx), %r8d
leaq 0x1a6cb(%rip), %rdi     # 0x26e71
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2faf9(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x28(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movl 0x28(%rbx), %r8d
leaq 0x1a6d5(%rip), %rdi     # 0x26ea6
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2face(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x2c(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movzbl 0x2c(%rbx), %r8d
leaq 0x1a6de(%rip), %rdi     # 0x26edb
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addl $0x2d, %r12d
leaq 0x17fae(%rip), %r13     # 0x247c0
xorl %ebp, %ebp
movq 0x2fa95(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leal (%r12,%rbp), %edx
addq $0x12, %rcx
movzbl 0x2d(%rbx,%rbp), %r9d
movl %r9d, (%rsp)
movq %r13, %rdi
movl %ebp, %r8d
xorl %eax, %eax
callq 0x40b0
incq %rbp
cmpq $0x3, %rbp
jne 0xc814
movl %ebx, %r12d
subl %r14d, %r12d
addl $0x30, %r12d
leaq 0x1a6be(%rip), %r13     # 0x26f16
xorl %ebp, %ebp
movq 0x2fa4f(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
addq $0x1b, %rcx
movl 0x30(%rbx,%rbp,4), %r9d
movl %r9d, (%rsp)
movq %r13, %rdi
movl %r12d, %edx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x40b0
incq %rbp
addl $0x4, %r12d
cmpq $0x3, %rbp
jne 0xc85a
movq 0x2fa1a(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x3c(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movzwl 0x3c(%rbx), %r8d
leaq 0x1a69d(%rip), %rdi     # 0x26f4e
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f9ee(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x3e(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movzwl 0x3e(%rbx), %r8d
leaq 0x1a6b0(%rip), %rdi     # 0x26f8d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f9c2(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x40(%rbx), %rdx
subl %r14d, %edx
addq $0x20, %rcx
movzwl 0x40(%rbx), %r8d
leaq 0x1a6c3(%rip), %rdi     # 0x26fcc
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f996(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x42(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movzwl 0x42(%rbx), %r8d
leaq 0x1a6d7(%rip), %rdi     # 0x2700c
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f96a(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x44(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movzwl 0x44(%rbx), %r8d
leaq 0x1a6ea(%rip), %rdi     # 0x2704b
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f93e(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x46(%rbx), %rdx
subl %r14d, %edx
addq $0x20, %rcx
movzwl 0x46(%rbx), %r8d
leaq 0x1a6fd(%rip), %rdi     # 0x2708a
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f912(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x48(%rbx), %rdx
subl %r14d, %edx
addq $0x15, %rcx
movzwl 0x48(%rbx), %r8d
leaq 0x1a711(%rip), %rdi     # 0x270ca
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f8e6(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x4a(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movzwl 0x4a(%rbx), %r8d
leaq 0x1a71a(%rip), %rdi     # 0x270ff
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f8ba(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x4c(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movzwl 0x4c(%rbx), %r8d
leaq 0x1a72c(%rip), %rdi     # 0x2713d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f88e(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x4e(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movzwl 0x4e(%rbx), %r8d
leaq 0x1a73e(%rip), %rdi     # 0x2717b
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f862(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x50(%rbx), %r12
movl %r12d, %edx
subl %r14d, %edx
addq $0x32, %rcx
leaq 0x1a753(%rip), %rdi     # 0x271ba
xorl %eax, %eax
callq 0x40b0
movq %r14, %rdi
movq %r12, %rsi
movl 0x14(%rsp), %edx
callq 0xc527
movq 0x2f82c(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x52(%rbx), %rdx
subl %r14d, %edx
addq $0x16, %rcx
movzwl 0x52(%rbx), %r8d
leaq 0x1a75e(%rip), %rdi     # 0x271fd
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f800(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x54(%rbx), %rdx
subl %r14d, %edx
addq $0x17, %rcx
movzwl 0x54(%rbx), %r8d
leaq 0x1a768(%rip), %rdi     # 0x27233
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f7d4(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x56(%rbx), %rdx
subl %r14d, %edx
addq $0x18, %rcx
movzbl 0x56(%rbx), %r8d
leaq 0x1a773(%rip), %rdi     # 0x2726a
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f7a8(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x57(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movzbl 0x57(%rbx), %r8d
leaq 0x1a781(%rip), %rdi     # 0x272a4
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f77c(%rip), %rcx     # 0x3c2b0
addq %rcx, %r15
leaq 0x58(%rbx), %rdx
subl %r14d, %edx
addq $0x16, %rcx
movzbl 0x58(%rbx), %r8d
leaq 0x1a788(%rip), %rdi     # 0x272d6
movq %r15, %rsi
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
movl $0x59, %eax
retq