// File: /workspace/github_c_makefile_star2_O1/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_FIRMWARE_INFO_V1_3_dumper
int ATOM_FIRMWARE_INFO_V1_3_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_FIRMWARE_INFO_V1_3 *d = (ATOM_FIRMWARE_INFO_V1_3 *) 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);
    printf ("%s%04x:  UCHAR ucMinAllowedBL_Level%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucMinAllowedBL_Level)-start), FILL(25), d->ucMinAllowedBL_Level, d->ucMinAllowedBL_Level);
    for (i = 0; i < 2; 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]); }
    printf ("%s%04x:  ULONG aulReservedForBIOS%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->aulReservedForBIOS)-start), FILL(23), d->aulReservedForBIOS, d->aulReservedForBIOS);
    printf ("%s%04x:  ULONG ul3DAccelerationEngineClock%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ul3DAccelerationEngineClock)-start), FILL(32), d->ul3DAccelerationEngineClock, d->ul3DAccelerationEngineClock);
    printf ("%s%04x:  ULONG ulMinPixelClockPLL_Output%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulMinPixelClockPLL_Output)-start), FILL(30), d->ulMinPixelClockPLL_Output, d->ulMinPixelClockPLL_Output);
    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_V1_3);
}

// Assembly:
testq %rsi, %rsi
je 0xd67e
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 0x2f21c(%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 0x15b17(%rip), %rdi     # 0x22bd1
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 0x5f74
movq 0x2f1cc(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x4(%rbx), %rdx
subl %r14d, %edx
addq $0x17, %rcx
movl 0x4(%rbx), %r8d
leaq 0x19c3f(%rip), %rdi     # 0x26d3d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f1a1(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x8(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movl 0x8(%rbx), %r8d
leaq 0x175b7(%rip), %rdi     # 0x246e0
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f176(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0xc(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movl 0xc(%rbx), %r8d
leaq 0x175c1(%rip), %rdi     # 0x24715
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f14b(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x10(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movl 0x10(%rbx), %r8d
leaq 0x19bf1(%rip), %rdi     # 0x26d70
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f120(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x14(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movl 0x14(%rbx), %r8d
leaq 0x19c00(%rip), %rdi     # 0x26daa
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f0f5(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x18(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movl 0x18(%rbx), %r8d
leaq 0x19c0f(%rip), %rdi     # 0x26de4
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f0ca(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x1c(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movl 0x1c(%rbx), %r8d
leaq 0x19c1f(%rip), %rdi     # 0x26e1f
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f09f(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x20(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movl 0x20(%rbx), %r8d
leaq 0x19c2f(%rip), %rdi     # 0x26e5a
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f074(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x24(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movl 0x24(%rbx), %r8d
leaq 0x19c3e(%rip), %rdi     # 0x26e94
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f049(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x28(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movl 0x28(%rbx), %r8d
leaq 0x19c48(%rip), %rdi     # 0x26ec9
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f01e(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x2c(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movzbl 0x2c(%rbx), %r8d
leaq 0x19c51(%rip), %rdi     # 0x26efe
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2eff2(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x2d(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movzbl 0x2d(%rbx), %r8d
leaq 0x1a058(%rip), %rdi     # 0x27331
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addl $0x2e, %r12d
leaq 0x174f5(%rip), %r13     # 0x247e3
xorl %ebp, %ebp
movq 0x2efb9(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leal (%r12,%rbp), %edx
addq $0x12, %rcx
movzbl 0x2e(%rbx,%rbp), %r9d
movl %r9d, (%rsp)
movq %r13, %rdi
movl %ebp, %r8d
xorl %eax, %eax
callq 0x40b0
incq %rbp
cmpq $0x1, %rbp
je 0xd2f0
movq 0x2ef86(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x30(%rbx), %rdx
subl %r14d, %edx
addq $0x17, %rcx
movl 0x30(%rbx), %r8d
leaq 0x1a062(%rip), %rdi     # 0x273a6
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ef5b(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x34(%rbx), %rdx
subl %r14d, %edx
addq $0x20, %rcx
movl 0x34(%rbx), %r8d
leaq 0x1a06a(%rip), %rdi     # 0x273d9
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ef30(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x38(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movl 0x38(%rbx), %r8d
leaq 0x19fd2(%rip), %rdi     # 0x2736c
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ef05(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x3c(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movzwl 0x3c(%rbx), %r8d
leaq 0x19bab(%rip), %rdi     # 0x26f71
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2eed9(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x3e(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movzwl 0x3e(%rbx), %r8d
leaq 0x19bbe(%rip), %rdi     # 0x26fb0
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2eead(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x40(%rbx), %rdx
subl %r14d, %edx
addq $0x20, %rcx
movzwl 0x40(%rbx), %r8d
leaq 0x19bd1(%rip), %rdi     # 0x26fef
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ee81(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x42(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movzwl 0x42(%rbx), %r8d
leaq 0x19be5(%rip), %rdi     # 0x2702f
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ee55(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x44(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movzwl 0x44(%rbx), %r8d
leaq 0x19bf8(%rip), %rdi     # 0x2706e
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ee29(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x46(%rbx), %rdx
subl %r14d, %edx
addq $0x20, %rcx
movzwl 0x46(%rbx), %r8d
leaq 0x19c0b(%rip), %rdi     # 0x270ad
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2edfd(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x48(%rbx), %rdx
subl %r14d, %edx
addq $0x15, %rcx
movzwl 0x48(%rbx), %r8d
leaq 0x19c1f(%rip), %rdi     # 0x270ed
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2edd1(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x4a(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movzwl 0x4a(%rbx), %r8d
leaq 0x19c28(%rip), %rdi     # 0x27122
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2eda5(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x4c(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movzwl 0x4c(%rbx), %r8d
leaq 0x19c3a(%rip), %rdi     # 0x27160
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ed79(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x4e(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movzwl 0x4e(%rbx), %r8d
leaq 0x19c4c(%rip), %rdi     # 0x2719e
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ed4d(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x50(%rbx), %r12
movl %r12d, %edx
subl %r14d, %edx
addq $0x32, %rcx
leaq 0x19c61(%rip), %rdi     # 0x271dd
xorl %eax, %eax
callq 0x40b0
movq %r14, %rdi
movq %r12, %rsi
movl 0x14(%rsp), %edx
callq 0xc41e
movq 0x2ed17(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x52(%rbx), %rdx
subl %r14d, %edx
addq $0x16, %rcx
movzwl 0x52(%rbx), %r8d
leaq 0x19c6c(%rip), %rdi     # 0x27220
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2eceb(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x54(%rbx), %rdx
subl %r14d, %edx
addq $0x17, %rcx
movzwl 0x54(%rbx), %r8d
leaq 0x19c76(%rip), %rdi     # 0x27256
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ecbf(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x56(%rbx), %rdx
subl %r14d, %edx
addq $0x18, %rcx
movzbl 0x56(%rbx), %r8d
leaq 0x19c81(%rip), %rdi     # 0x2728d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ec93(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r15), %rsi
leaq 0x57(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movzbl 0x57(%rbx), %r8d
leaq 0x19c8f(%rip), %rdi     # 0x272c7
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ec67(%rip), %rcx     # 0x3c2b0
addq %rcx, %r15
leaq 0x58(%rbx), %rdx
subl %r14d, %edx
addq $0x16, %rcx
movzbl 0x58(%rbx), %r8d
leaq 0x19c96(%rip), %rdi     # 0x272f9
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