// File: /workspace/github_c_makefile_star2_O3/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 0xea72
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %rbx
movq %rdi, %rbp
movq 0x2de6f(%rip), %rcx     # 0x3c2b0
cmpl $0x19, %edx
movl $0x19, %eax
cmovll %edx, %eax
addl %eax, %eax
movl %edx, %r14d
movl $0x32, %edx
subl %eax, %edx
movslq %edx, %r13
leaq (%rcx,%r13), %rsi
addq $0x1f, %rcx
leaq 0x14744(%rip), %rdi     # 0x22bae
movl %ebx, %r15d
subl %ebp, %r15d
movl %r15d, %edx
xorl %eax, %eax
callq 0x40b0
movl %r14d, %edx
incl %edx
movl %edx, 0x10(%rsp)
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x5fe4
movq 0x2de1b(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x4(%rbx), %rdx
subl %ebp, %edx
addq $0x17, %rcx
movl 0x4(%rbx), %r8d
leaq 0x1886c(%rip), %rdi     # 0x26d1a
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ddf1(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x8(%rbx), %rdx
subl %ebp, %edx
addq $0x19, %rcx
movl 0x8(%rbx), %r8d
leaq 0x161e5(%rip), %rdi     # 0x246bd
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2ddc7(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0xc(%rbx), %rdx
subl %ebp, %edx
addq $0x19, %rcx
movl 0xc(%rbx), %r8d
leaq 0x161f0(%rip), %rdi     # 0x246f2
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
leaq 0x10(%rbx), %rdx
movq 0x2dd99(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
subl %ebp, %edx
addq $0x13, %rcx
movl 0x10(%rbx), %r9d
movl %r9d, (%rsp)
movq %rbx, %r14
leaq 0x1605c(%rip), %r12     # 0x2458f
movq %r12, %rdi
xorl %r8d, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x2dd69(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x14(%rbx), %rdx
subl %ebp, %edx
addq $0x13, %rcx
movl 0x14(%rbx), %r9d
movl %r9d, (%rsp)
movq %r12, %rdi
movl $0x1, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x2dd3c(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x18(%rbx), %rdx
subl %ebp, %edx
addq $0x10, %rcx
movl 0x18(%rbx), %r8d
leaq 0x18f22(%rip), %rdi     # 0x274af
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2dd12(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x1c(%rbx), %rdx
subl %ebp, %edx
addq $0x10, %rcx
movl 0x1c(%rbx), %r8d
leaq 0x18f24(%rip), %rdi     # 0x274db
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2dce8(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x20(%rbx), %rdx
subl %ebp, %edx
addq $0x1e, %rcx
movl 0x20(%rbx), %r8d
leaq 0x18856(%rip), %rdi     # 0x26e37
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2dcbe(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x24(%rbx), %rdx
subl %ebp, %edx
addq $0x18, %rcx
movl 0x24(%rbx), %r8d
leaq 0x18efc(%rip), %rdi     # 0x27507
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2dc94(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x28(%rbx), %rdx
subl %ebp, %edx
addq $0x1f, %rcx
movl 0x28(%rbx), %r8d
leaq 0x18f06(%rip), %rdi     # 0x2753b
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2dc6a(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x2c(%rbx), %rdx
subl %ebp, %edx
addq $0x10, %rcx
movzbl 0x2c(%rbx), %r8d
leaq 0x1905f(%rip), %rdi     # 0x276bf
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2dc3f(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x2d(%rbx), %rdx
subl %ebp, %edx
addq $0x19, %rcx
movzbl 0x2d(%rbx), %r8d
leaq 0x18c83(%rip), %rdi     # 0x2730e
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2dc14(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x2e(%rbx), %rdx
subl %ebp, %edx
addq $0x19, %rcx
movzwl 0x2e(%rbx), %r8d
leaq 0x18d3c(%rip), %rdi     # 0x273f2
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2dbe9(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x30(%rbx), %rdx
subl %ebp, %edx
addq $0x22, %rcx
movzwl 0x30(%rbx), %r8d
leaq 0x18d4a(%rip), %rdi     # 0x2742b
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2dbbe(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x32(%rbx), %rdx
subl %ebp, %edx
addq $0x22, %rcx
movzwl 0x32(%rbx), %r8d
leaq 0x18d61(%rip), %rdi     # 0x2746d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2db93(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x34(%rbx), %rdx
subl %ebp, %edx
addq $0x10, %rcx
movl 0x34(%rbx), %r8d
leaq 0x18e72(%rip), %rdi     # 0x275a8
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2db69(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x38(%rbx), %rdx
subl %ebp, %edx
addq $0x1e, %rcx
movl 0x38(%rbx), %r8d
leaq 0x18be9(%rip), %rdi     # 0x27349
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2db3f(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x3c(%rbx), %rdx
subl %ebp, %edx
addq $0x10, %rcx
movl 0x3c(%rbx), %r8d
leaq 0x18f67(%rip), %rdi     # 0x276f1
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2db15(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x40(%rbx), %rdx
subl %ebp, %edx
addq $0x10, %rcx
movl 0x40(%rbx), %r8d
leaq 0x18f69(%rip), %rdi     # 0x2771d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2daeb(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x44(%rbx), %rdx
subl %ebp, %edx
addq $0x10, %rcx
movl 0x44(%rbx), %r8d
leaq 0x18f6b(%rip), %rdi     # 0x27749
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2dac1(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x48(%rbx), %rdx
subl %ebp, %edx
addq $0x12, %rcx
movzwl 0x48(%rbx), %r8d
leaq 0x18f6c(%rip), %rdi     # 0x27775
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2da96(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x4a(%rbx), %rdx
subl %ebp, %edx
addq $0x1e, %rcx
movzwl 0x4a(%rbx), %r8d
leaq 0x188cb(%rip), %rdi     # 0x270ff
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2da6b(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x4c(%rbx), %rdx
subl %ebp, %edx
addq $0x1e, %rcx
movzwl 0x4c(%rbx), %r8d
leaq 0x188de(%rip), %rdi     # 0x2713d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2da40(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x4e(%rbx), %rdx
subl %ebp, %edx
addq $0x1a, %rcx
movzwl 0x4e(%rbx), %r8d
leaq 0x18f1d(%rip), %rdi     # 0x277a7
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2da15(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x50(%rbx), %r12
movl %r12d, %edx
subl %ebp, %edx
addq $0x32, %rcx
leaq 0x18907(%rip), %rdi     # 0x271ba
xorl %eax, %eax
callq 0x40b0
movq %rbp, %rdi
movq %r12, %rsi
movl 0x10(%rsp), %edx
callq 0xc527
movq 0x2d9e0(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x52(%rbx), %rdx
subl %ebp, %edx
addq $0x1a, %rcx
movzwl 0x52(%rbx), %r8d
leaq 0x18cea(%rip), %rdi     # 0x275d4
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2d9b5(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x54(%rbx), %rdx
subl %ebp, %edx
addq $0x1c, %rcx
movzwl 0x54(%rbx), %r8d
leaq 0x18cf9(%rip), %rdi     # 0x2760e
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2d98a(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%r13), %rsi
leaq 0x56(%rbx), %rdx
subl %ebp, %edx
addq $0x1e, %rcx
movzwl 0x56(%rbx), %r8d
leaq 0x18d0a(%rip), %rdi     # 0x2764a
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2d95f(%rip), %rcx     # 0x3c2b0
movq %r13, %rbx
leaq (%rcx,%r13), %rsi
leaq 0x58(%r14), %rdx
movq %rbp, 0x10(%rsp)
subl %ebp, %edx
addq $0x16, %rcx
movq %r14, %rbp
movzbl 0x58(%r14), %r8d
leaq 0x18960(%rip), %rdi     # 0x272d6
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addl $0x59, %r15d
leaq 0x18e56(%rip), %r12     # 0x277e1
xorl %r13d, %r13d
movq 0x2d91b(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%rbx), %rsi
leal (%r15,%r13), %edx
addq $0x14, %rcx
movzbl 0x59(%rbp,%r13), %r9d
movl %r9d, (%rsp)
movq %r12, %rdi
movl %r13d, %r8d
xorl %eax, %eax
callq 0x40b0
incq %r13
cmpq $0x3, %r13
jne 0xe98e
movq 0x2d8e8(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%rbx), %rsi
movq %rbp, %r12
leaq 0x5c(%rbp), %rdx
movq 0x10(%rsp), %r14
subl %r14d, %edx
addq $0x1a, %rcx
movzwl 0x5c(%rbp), %r8d
leaq 0x18e2d(%rip), %rdi     # 0x27818
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2d8b4(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%rbx), %rsi
leaq 0x5e(%rbp), %rdx
subl %r14d, %edx
addq $0x12, %rcx
movzwl 0x5e(%rbp), %r8d
leaq 0x18e3b(%rip), %rdi     # 0x27852
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
subl %r14d, %ebp
addl $0x60, %ebp
leaq 0x18e56(%rip), %r14     # 0x27884
xorl %r15d, %r15d
movq 0x2d878(%rip), %rcx     # 0x3c2b0
leaq (%rcx,%rbx), %rsi
addq $0x15, %rcx
movl 0x60(%r12,%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
cmpq $0x3, %r15
jne 0xea31
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
movl $0x6c, %eax
retq