// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_FIRMWARE_INFO_V2_2_dumper
int ATOM_FIRMWARE_INFO_V2_2_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_FIRMWARE_INFO_V2_2 *d = (ATOM_FIRMWARE_INFO_V2_2 *) 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);
    for (i = 0; i < 2; i++) {
      printf ("%s%04x:  ULONG ulReserved%s [%d] = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulReserved[i])-start), FILL(19+(i>9)), i, d->ulReserved[i], d->ulReserved[i]); }
    printf ("%s%04x:  ULONG ulReserved1%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulReserved1)-start), FILL(16), d->ulReserved1, d->ulReserved1);
    printf ("%s%04x:  ULONG ulReserved2%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulReserved2)-start), FILL(16), d->ulReserved2, d->ulReserved2);
    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 ulBinaryAlteredInfo%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulBinaryAlteredInfo)-start), FILL(24), d->ulBinaryAlteredInfo, d->ulBinaryAlteredInfo);
    printf ("%s%04x:  ULONG ulDefaultDispEngineClkFreq%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulDefaultDispEngineClkFreq)-start), FILL(31), d->ulDefaultDispEngineClkFreq, d->ulDefaultDispEngineClkFreq);
    printf ("%s%04x:  UCHAR ucReserved3%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucReserved3)-start), FILL(16), d->ucReserved3, d->ucReserved3);
    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);
    printf ("%s%04x:  USHORT usBootUpVDDCVoltage%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usBootUpVDDCVoltage)-start), FILL(25), d->usBootUpVDDCVoltage, d->usBootUpVDDCVoltage);
    printf ("%s%04x:  USHORT usLcdMinPixelClockPLL_Output%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usLcdMinPixelClockPLL_Output)-start), FILL(34), d->usLcdMinPixelClockPLL_Output, d->usLcdMinPixelClockPLL_Output);
    printf ("%s%04x:  USHORT usLcdMaxPixelClockPLL_Output%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usLcdMaxPixelClockPLL_Output)-start), FILL(34), d->usLcdMaxPixelClockPLL_Output, d->usLcdMaxPixelClockPLL_Output);
    printf ("%s%04x:  ULONG ulReserved4%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulReserved4)-start), FILL(16), d->ulReserved4, d->ulReserved4);
    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:  ULONG ulReserved5%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulReserved5)-start), FILL(16), d->ulReserved5, d->ulReserved5);
    printf ("%s%04x:  ULONG ulReserved6%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulReserved6)-start), FILL(16), d->ulReserved6, d->ulReserved6);
    printf ("%s%04x:  ULONG ulReserved7%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulReserved7)-start), FILL(16), d->ulReserved7, d->ulReserved7);
    printf ("%s%04x:  USHORT usReserved11%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usReserved11)-start), FILL(18), d->usReserved11, d->usReserved11);
    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 usBootUpVDDCIVoltage%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usBootUpVDDCIVoltage)-start), FILL(26), d->usBootUpVDDCIVoltage, d->usBootUpVDDCIVoltage);
    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 usCoreReferenceClock%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usCoreReferenceClock)-start), FILL(26), d->usCoreReferenceClock, d->usCoreReferenceClock);
    printf ("%s%04x:  USHORT usMemoryReferenceClock%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMemoryReferenceClock)-start), FILL(28), d->usMemoryReferenceClock, d->usMemoryReferenceClock);
    printf ("%s%04x:  USHORT usUniphyDPModeExtClkFreq%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usUniphyDPModeExtClkFreq)-start), FILL(30), d->usUniphyDPModeExtClkFreq, d->usUniphyDPModeExtClkFreq);
    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);
    for (i = 0; i < 3; i++) {
      printf ("%s%04x:  UCHAR ucReserved9%s [%d] = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucReserved9[i])-start), FILL(20+(i>9)), i, d->ucReserved9[i], d->ucReserved9[i]); }
    printf ("%s%04x:  USHORT usBootUpMVDDCVoltage%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usBootUpMVDDCVoltage)-start), FILL(26), d->usBootUpMVDDCVoltage, d->usBootUpMVDDCVoltage);
    printf ("%s%04x:  USHORT usReserved12%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usReserved12)-start), FILL(18), d->usReserved12, d->usReserved12);
    for (i = 0; i < 3; i++) {
      printf ("%s%04x:  ULONG ulReserved10%s [%d] = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulReserved10[i])-start), FILL(21+(i>9)), i, d->ulReserved10[i], d->ulReserved10[i]); }
  }
  return sizeof (ATOM_FIRMWARE_INFO_V2_2);
}

// Assembly:
testq %rsi, %rsi
je 0xe462
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 0x2f471(%rip), %rcx     # 0x3d2b0
cmpl $0x19, %edx
pushq $0x19
popq %rax
cmovll %edx, %eax
addl %eax, %eax
pushq $0x32
popq %rdx
subl %eax, %edx
movslq %edx, %r12
leaq (%rcx,%r12), %rsi
addq $0x1f, %rcx
leaq 0x13d4d(%rip), %rdi     # 0x21bae
movl %ebx, %r15d
subl %r14d, %r15d
movl %r15d, %edx
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x5d40
movq 0x2f429(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x4(%rbx), %rdx
subl %r14d, %edx
addq $0x17, %rcx
movl 0x4(%rbx), %r8d
leaq 0x17e79(%rip), %rdi     # 0x25d1a
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f3fe(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x8(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movl 0x8(%rbx), %r8d
leaq 0x157f1(%rip), %rdi     # 0x236bd
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f3d3(%rip), %rcx     # 0x3d2b0
movq %r12, 0x10(%rsp)
leaq (%rcx,%r12), %rsi
leaq 0xc(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movl 0xc(%rbx), %r8d
leaq 0x157f6(%rip), %rdi     # 0x236f2
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addl $0x10, %r15d
leaq 0x1567e(%rip), %r12     # 0x2358f
xorl %r13d, %r13d
movq 0x2f395(%rip), %rcx     # 0x3d2b0
movq 0x10(%rsp), %rax
leaq (%rcx,%rax), %rsi
cmpq $0x2, %r13
je 0xdf50
addq $0x13, %rcx
movl 0x10(%rbx,%r13,4), %r9d
movl %r9d, (%rsp)
movq %r12, %rdi
movl %r15d, %edx
movl %r13d, %r8d
xorl %eax, %eax
callq 0x40b0
incq %r13
addl $0x4, %r15d
jmp 0xdf14
leaq 0x18(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movl 0x18(%rbx), %r8d
leaq 0x18549(%rip), %rdi     # 0x264af
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f339(%rip), %rcx     # 0x3d2b0
movq 0x10(%rsp), %r12
leaq (%rcx,%r12), %rsi
leaq 0x1c(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movl 0x1c(%rbx), %r8d
leaq 0x18545(%rip), %rdi     # 0x264db
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f309(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x20(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movl 0x20(%rbx), %r8d
leaq 0x17e76(%rip), %rdi     # 0x25e37
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f2de(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x24(%rbx), %rdx
subl %r14d, %edx
addq $0x18, %rcx
movl 0x24(%rbx), %r8d
leaq 0x1851b(%rip), %rdi     # 0x26507
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f2b3(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x28(%rbx), %rdx
subl %r14d, %edx
addq $0x1f, %rcx
movl 0x28(%rbx), %r8d
leaq 0x18524(%rip), %rdi     # 0x2653b
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f288(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x2c(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movzbl 0x2c(%rbx), %r8d
leaq 0x1867c(%rip), %rdi     # 0x266bf
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f25c(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x2d(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movzbl 0x2d(%rbx), %r8d
leaq 0x1829f(%rip), %rdi     # 0x2630e
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f230(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x2e(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movzwl 0x2e(%rbx), %r8d
leaq 0x18357(%rip), %rdi     # 0x263f2
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f204(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x30(%rbx), %rdx
subl %r14d, %edx
addq $0x22, %rcx
movzwl 0x30(%rbx), %r8d
leaq 0x18364(%rip), %rdi     # 0x2642b
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f1d8(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x32(%rbx), %rdx
subl %r14d, %edx
addq $0x22, %rcx
movzwl 0x32(%rbx), %r8d
leaq 0x1837a(%rip), %rdi     # 0x2646d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f1ac(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x34(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movl 0x34(%rbx), %r8d
leaq 0x1848a(%rip), %rdi     # 0x265a8
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f181(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x38(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movl 0x38(%rbx), %r8d
leaq 0x18200(%rip), %rdi     # 0x26349
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f156(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x3c(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movl 0x3c(%rbx), %r8d
leaq 0x1857d(%rip), %rdi     # 0x266f1
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f12b(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x40(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movl 0x40(%rbx), %r8d
leaq 0x1857e(%rip), %rdi     # 0x2671d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f100(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x44(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movl 0x44(%rbx), %r8d
leaq 0x1857f(%rip), %rdi     # 0x26749
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f0d5(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x48(%rbx), %rdx
subl %r14d, %edx
addq $0x12, %rcx
movzwl 0x48(%rbx), %r8d
leaq 0x1857f(%rip), %rdi     # 0x26775
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f0a9(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x4a(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movzwl 0x4a(%rbx), %r8d
leaq 0x17edd(%rip), %rdi     # 0x260ff
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f07d(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x4c(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movzwl 0x4c(%rbx), %r8d
leaq 0x17eef(%rip), %rdi     # 0x2613d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f051(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x4e(%rbx), %rdx
subl %r14d, %edx
addq $0x1a, %rcx
movzwl 0x4e(%rbx), %r8d
leaq 0x1852d(%rip), %rdi     # 0x267a7
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2f025(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x50(%rbx), %r15
movl %r15d, %edx
subl %r14d, %edx
addq $0x32, %rcx
leaq 0x17f16(%rip), %rdi     # 0x261ba
xorl %eax, %eax
callq 0x40b0
movq %r14, %rdi
movq %r15, %rsi
movl %ebp, %edx
callq 0xbf9a
movq 0x2eff1(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x52(%rbx), %rdx
subl %r14d, %edx
addq $0x1a, %rcx
movzwl 0x52(%rbx), %r8d
leaq 0x182fa(%rip), %rdi     # 0x265d4
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2efc5(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x54(%rbx), %rdx
subl %r14d, %edx
addq $0x1c, %rcx
movzwl 0x54(%rbx), %r8d
leaq 0x18308(%rip), %rdi     # 0x2660e
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ef99(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x56(%rbx), %rdx
subl %r14d, %edx
addq $0x1e, %rcx
movzwl 0x56(%rbx), %r8d
leaq 0x18318(%rip), %rdi     # 0x2664a
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ef6d(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x58(%rbx), %rdx
subl %r14d, %edx
addq $0x16, %rcx
movzbl 0x58(%rbx), %r8d
leaq 0x17f78(%rip), %rdi     # 0x262d6
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movl %ebx, %r13d
subl %r14d, %r13d
addl $0x59, %r13d
leaq 0x18468(%rip), %r15     # 0x267e1
xorl %r12d, %r12d
movq 0x2ef2d(%rip), %rcx     # 0x3d2b0
movq 0x10(%rsp), %rax
leaq (%rcx,%rax), %rsi
cmpq $0x3, %r12
je 0xe3b6
leal (%r12,%r13), %edx
addq $0x14, %rcx
movzbl 0x59(%rbx,%r12), %r9d
movl %r9d, (%rsp)
movq %r15, %rdi
movl %r12d, %r8d
xorl %eax, %eax
callq 0x40b0
incq %r12
jmp 0xe37c
leaq 0x5c(%rbx), %rdx
subl %r14d, %edx
addq $0x1a, %rcx
movzwl 0x5c(%rbx), %r8d
leaq 0x1844b(%rip), %rdi     # 0x26818
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2eed2(%rip), %rcx     # 0x3d2b0
movq 0x10(%rsp), %rax
leaq (%rcx,%rax), %rsi
leaq 0x5e(%rbx), %rdx
subl %r14d, %edx
addq $0x12, %rcx
movzwl 0x5e(%rbx), %r8d
leaq 0x18454(%rip), %rdi     # 0x26852
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movl %ebx, %ebp
subl %r14d, %ebp
addl $0x60, %ebp
leaq 0x1846d(%rip), %r14     # 0x26884
xorl %r15d, %r15d
cmpq $0x3, %r15
je 0xe454
movq 0x2ee89(%rip), %rcx     # 0x3d2b0
movq 0x10(%rsp), %rax
leaq (%rcx,%rax), %rsi
addq $0x15, %rcx
movl 0x60(%rbx,%r15,4), %r9d
movl %r9d, (%rsp)
movq %r14, %rdi
movl %ebp, %edx
movl %r15d, %r8d
xorl %eax, %eax
callq 0x40b0
incq %r15
addl $0x4, %ebp
jmp 0xe41a
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
pushq $0x6c
popq %rax
retq