LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_CONNECTOR_CVTV_SHARE_DIN_RECORD_dumper
int ATOM_CONNECTOR_CVTV_SHARE_DIN_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_CONNECTOR_CVTV_SHARE_DIN_RECORD *d = (ATOM_CONNECTOR_CVTV_SHARE_DIN_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    printf ("%s%04x:  UCHAR ucGPIOID%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucGPIOID)-start), FILL(13), d->ucGPIOID, d->ucGPIOID);
    printf ("%s%04x:  UCHAR ucTVActiveState%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucTVActiveState)-start), FILL(20), d->ucTVActiveState, d->ucTVActiveState);
  }
  return sizeof (ATOM_CONNECTOR_CVTV_SHARE_DIN_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x13f26
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x2942b(%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, %r15
leaq (%rcx,%r15), %rsi
movl %ebx, %edx
subl %r14d, %edx
addq $0x20, %rcx
leaq 0x16404(%rip), %rdi     # 0x2a2b0
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x136da
movq 0x293e7(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
leaq 0x2(%rbx), %rdx
subl %r14d, %edx
addq $0xd, %rcx
movzbl 0x2(%rbx), %r8d
leaq 0x16815(%rip), %rdi     # 0x2a6f9
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x293bb(%rip), %rcx     # 0x3d2b0
addq %rcx, %r15
leaq 0x3(%rbx), %rdx
subl %r14d, %edx
addq $0x14, %rcx
movzbl 0x3(%rbx), %r8d
leaq 0x16819(%rip), %rdi     # 0x2a728
movq %r15, %rsi
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
pushq $0x4
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_GPIO_PIN_CONTROL_PAIR_dumper
int ATOM_GPIO_PIN_CONTROL_PAIR_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_GPIO_PIN_CONTROL_PAIR *d = (ATOM_GPIO_PIN_CONTROL_PAIR *) data;
  int i;
  if (d) {
    printf ("%s%04x:  UCHAR ucGPIOID%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucGPIOID)-start), FILL(13), d->ucGPIOID, d->ucGPIOID);
    printf ("%s%04x:  UCHAR ucGPIO_PinState%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucGPIO_PinState)-start), FILL(20), d->ucGPIO_PinState, d->ucGPIO_PinState);
  }
  return sizeof (ATOM_GPIO_PIN_CONTROL_PAIR);
}

// Assembly:
testq %rsi, %rsi
je 0x141c2
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq 0x29156(%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, %r15
leaq (%rcx,%r15), %rsi
movl %ebx, %edx
subl %r14d, %edx
addq $0xd, %rcx
movzbl (%rbx), %r8d
leaq 0x16574(%rip), %rdi     # 0x2a6f9
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2911a(%rip), %rcx     # 0x3d2b0
addq %rcx, %r15
leaq 0x1(%rbx), %rdx
subl %r14d, %edx
addq $0x14, %rcx
movzbl 0x1(%rbx), %r8d
leaq 0x1674e(%rip), %rdi     # 0x2a8fe
movq %r15, %rsi
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
popq %rbx
popq %r14
popq %r15
pushq $0x2
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_OBJECT_GPIO_CNTL_RECORD_dumper
int ATOM_OBJECT_GPIO_CNTL_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_OBJECT_GPIO_CNTL_RECORD *d = (ATOM_OBJECT_GPIO_CNTL_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    printf ("%s%04x:  UCHAR ucFlags%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucFlags)-start), FILL(12), d->ucFlags, d->ucFlags);
    printf ("%s%04x:  UCHAR ucNumberOfPins%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucNumberOfPins)-start), FILL(19), d->ucNumberOfPins, d->ucNumberOfPins);
    for (i = 0; i < 1; i++) {
      printf ("%s%04x:  ATOM_GPIO_PIN_CONTROL_PAIR asGpio%s [%d] :\n", IND(indent), (int)(((uint8_t*)&d->asGpio[i])-start), FILL(36+(i>9)), i); ATOM_GPIO_PIN_CONTROL_PAIR_dumper (start, (uint8_t*) &d->asGpio[i], indent+1); }
  }
  return sizeof (ATOM_OBJECT_GPIO_CNTL_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x142c0
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq 0x290ca(%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
movl %r14d, %edx
subl %r15d, %edx
addq $0x20, %rcx
leaq 0x160a2(%rip), %rdi     # 0x2a2b0
xorl %eax, %eax
callq 0x40b0
incl %ebx
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x136da
movq 0x29085(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x2(%r14), %rdx
subl %r15d, %edx
addq $0xc, %rcx
movzbl 0x2(%r14), %r8d
leaq 0x166ee(%rip), %rdi     # 0x2a934
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x29059(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x3(%r14), %rdx
subl %r15d, %edx
addq $0x13, %rcx
movzbl 0x3(%r14), %r8d
leaq 0x166f0(%rip), %rdi     # 0x2a962
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x2902d(%rip), %rcx     # 0x3d2b0
addq %rcx, %r12
addq $0x4, %r14
movl %r14d, %edx
subl %r15d, %edx
addq $0x24, %rcx
leaq 0x166fc(%rip), %rdi     # 0x2a997
movq %r12, %rsi
xorl %r8d, %r8d
xorl %eax, %eax
callq 0x40b0
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x14143
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
pushq $0x6
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_ENCODER_DVO_CF_RECORD_dumper
int ATOM_ENCODER_DVO_CF_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_ENCODER_DVO_CF_RECORD *d = (ATOM_ENCODER_DVO_CF_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    printf ("%s%04x:  ULONG ulStrengthControl%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulStrengthControl)-start), FILL(22), d->ulStrengthControl, d->ulStrengthControl);
    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]); }
  }
  return sizeof (ATOM_ENCODER_DVO_CF_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x143a4
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r15
movq 0x28fc9(%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, %r13
leaq (%rcx,%r13), %rsi
addq $0x20, %rcx
leaq 0x15fa7(%rip), %rdi     # 0x2a2b0
movl %ebx, %r14d
subl %r15d, %r14d
movl %r14d, %edx
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r15, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x136da
movq 0x28f81(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r13), %rsi
leaq 0x2(%rbx), %rdx
subl %r15d, %edx
addq $0x16, %rcx
movl 0x2(%rbx), %r8d
leaq 0x16683(%rip), %rdi     # 0x2a9cc
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addl $0x6, %r14d
leaq 0xf462(%rip), %r15      # 0x237c0
xorl %r12d, %r12d
cmpq $0x2, %r12
je 0x14396
movq 0x28f42(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r13), %rsi
leal (%r14,%r12), %edx
addq $0x12, %rcx
movzbl 0x6(%rbx,%r12), %r9d
movl %r9d, (%rsp)
movq %r15, %rdi
movl %r12d, %r8d
xorl %eax, %eax
callq 0x40b0
incq %r12
jmp 0x14361
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
pushq $0x8
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_ENCODER_CAP_RECORD_dumper
int ATOM_ENCODER_CAP_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_ENCODER_CAP_RECORD *d = (ATOM_ENCODER_CAP_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    printf ("%s  <unparsable> line 2623:   union {\n%sskipping...\n", IND(indent), IND(indent));
  }
  return sizeof (ATOM_ENCODER_CAP_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x14428
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq 0x28eec(%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
movl %r14d, %edx
subl %r15d, %edx
addq $0x20, %rcx
leaq 0x15ec4(%rip), %rdi     # 0x2a2b0
xorl %eax, %eax
callq 0x40b0
incl %ebx
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x136da
addq 0x28ea7(%rip), %r12     # 0x3d2b0
leaq 0x165ee(%rip), %rdi     # 0x2a9fe
movq %r12, %rsi
movq %r12, %rdx
xorl %eax, %eax
callq 0x40b0
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
pushq $0x4
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_CONNECTOR_CF_RECORD_dumper
int ATOM_CONNECTOR_CF_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_CONNECTOR_CF_RECORD *d = (ATOM_CONNECTOR_CF_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    printf ("%s%04x:  USHORT usMaxPixClk%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usMaxPixClk)-start), FILL(17), d->usMaxPixClk, d->usMaxPixClk);
    printf ("%s%04x:  UCHAR ucFlowCntlGpioId%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucFlowCntlGpioId)-start), FILL(21), d->ucFlowCntlGpioId, d->ucFlowCntlGpioId);
    printf ("%s%04x:  UCHAR ucSwapCntlGpioId%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucSwapCntlGpioId)-start), FILL(21), d->ucSwapCntlGpioId, d->ucSwapCntlGpioId);
    printf ("%s%04x:  UCHAR ucConnectedDvoBundle%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucConnectedDvoBundle)-start), FILL(25), d->ucConnectedDvoBundle, d->ucConnectedDvoBundle);
    printf ("%s%04x:  UCHAR ucPadding%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucPadding)-start), FILL(14), d->ucPadding, d->ucPadding);
  }
  return sizeof (ATOM_CONNECTOR_CF_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x14570
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x28e65(%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, %r15
leaq (%rcx,%r15), %rsi
movl %ebx, %edx
subl %r14d, %edx
addq $0x20, %rcx
leaq 0x15e3e(%rip), %rdi     # 0x2a2b0
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x136da
movq 0x28e21(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
leaq 0x2(%rbx), %rdx
subl %r14d, %edx
addq $0x11, %rcx
movzwl 0x2(%rbx), %r8d
leaq 0x16589(%rip), %rdi     # 0x2aa33
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x28df5(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
leaq 0x4(%rbx), %rdx
subl %r14d, %edx
addq $0x15, %rcx
movzbl 0x4(%rbx), %r8d
leaq 0x1658e(%rip), %rdi     # 0x2aa64
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x28dc9(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
leaq 0x5(%rbx), %rdx
subl %r14d, %edx
addq $0x15, %rcx
movzbl 0x5(%rbx), %r8d
leaq 0x16599(%rip), %rdi     # 0x2aa9b
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x28d9d(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
leaq 0x6(%rbx), %rdx
subl %r14d, %edx
addq $0x19, %rcx
movzbl 0x6(%rbx), %r8d
leaq 0x165a4(%rip), %rdi     # 0x2aad2
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x28d71(%rip), %rcx     # 0x3d2b0
addq %rcx, %r15
leaq 0x7(%rbx), %rdx
subl %r14d, %edx
addq $0xe, %rcx
movzbl 0x7(%rbx), %r8d
leaq 0xfd36(%rip), %rdi      # 0x2428f
movq %r15, %rsi
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
pushq $0x8
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_CONNECTOR_HARDCODE_DTD_RECORD_dumper
int ATOM_CONNECTOR_HARDCODE_DTD_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_CONNECTOR_HARDCODE_DTD_RECORD *d = (ATOM_CONNECTOR_HARDCODE_DTD_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    printf ("%s%04x:  ATOM_DTD_FORMAT asTiming%s :\n", IND(indent), (int)(((uint8_t*)&d->asTiming)-start), FILL(23)); ATOM_DTD_FORMAT_dumper (start, (uint8_t*) &d->asTiming, indent+1);
  }
  return sizeof (ATOM_CONNECTOR_HARDCODE_DTD_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x14613
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq 0x28d1c(%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
movl %r14d, %edx
subl %r15d, %edx
addq $0x20, %rcx
leaq 0x15cf4(%rip), %rdi     # 0x2a2b0
xorl %eax, %eax
callq 0x40b0
incl %ebx
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x136da
movq 0x28cd7(%rip), %rcx     # 0x3d2b0
addq %rcx, %r12
addq $0x2, %r14
movl %r14d, %edx
subl %r15d, %edx
addq $0x17, %rcx
leaq 0x1651c(%rip), %rdi     # 0x2ab0d
movq %r12, %rsi
xorl %eax, %eax
callq 0x40b0
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x1073d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
pushq $0x1e
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_CONNECTOR_PCIE_SUBCONNECTOR_RECORD_dumper
int ATOM_CONNECTOR_PCIE_SUBCONNECTOR_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_CONNECTOR_PCIE_SUBCONNECTOR_RECORD *d = (ATOM_CONNECTOR_PCIE_SUBCONNECTOR_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    printf ("%s%04x:  UCHAR ucSubConnectorType%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucSubConnectorType)-start), FILL(23), d->ucSubConnectorType, d->ucSubConnectorType);
    printf ("%s%04x:  UCHAR ucReserved%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucReserved)-start), FILL(15), d->ucReserved, d->ucReserved);
  }
  return sizeof (ATOM_CONNECTOR_PCIE_SUBCONNECTOR_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x146d7
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x28c7a(%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, %r15
leaq (%rcx,%r15), %rsi
movl %ebx, %edx
subl %r14d, %edx
addq $0x20, %rcx
leaq 0x15c53(%rip), %rdi     # 0x2a2b0
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x136da
movq 0x28c36(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
leaq 0x2(%rbx), %rdx
subl %r14d, %edx
addq $0x17, %rcx
movzbl 0x2(%rbx), %r8d
leaq 0x1649f(%rip), %rdi     # 0x2ab34
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x28c0a(%rip), %rcx     # 0x3d2b0
addq %rcx, %r15
leaq 0x3(%rbx), %rdx
subl %r14d, %edx
addq $0xf, %rcx
movzbl 0x3(%rbx), %r8d
leaq 0xd88c(%rip), %rdi      # 0x21f4c
movq %r15, %rsi
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
pushq $0x4
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_ROUTER_DDC_PATH_SELECT_RECORD_dumper
int ATOM_ROUTER_DDC_PATH_SELECT_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_ROUTER_DDC_PATH_SELECT_RECORD *d = (ATOM_ROUTER_DDC_PATH_SELECT_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    printf ("%s%04x:  UCHAR ucMuxType%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucMuxType)-start), FILL(14), d->ucMuxType, d->ucMuxType);
    printf ("%s%04x:  UCHAR ucMuxControlPin%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucMuxControlPin)-start), FILL(20), d->ucMuxControlPin, d->ucMuxControlPin);
    for (i = 0; i < 2; i++) {
      printf ("%s%04x:  UCHAR ucMuxState%s [%d] = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucMuxState[i])-start), FILL(19+(i>9)), i, d->ucMuxState[i], d->ucMuxState[i]); }
  }
  return sizeof (ATOM_ROUTER_DDC_PATH_SELECT_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x147e8
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r15
movq 0x28bb2(%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, %r13
leaq (%rcx,%r13), %rsi
addq $0x20, %rcx
leaq 0x15b90(%rip), %rdi     # 0x2a2b0
movl %ebx, %r14d
subl %r15d, %r14d
movl %r14d, %edx
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r15, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x136da
movq 0x28b6a(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r13), %rsi
leaq 0x2(%rbx), %rdx
subl %r15d, %edx
addq $0xe, %rcx
movzbl 0x2(%rbx), %r8d
leaq 0x1640c(%rip), %rdi     # 0x2ab6d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x28b3e(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r13), %rsi
leaq 0x3(%rbx), %rdx
subl %r15d, %edx
addq $0x14, %rcx
movzbl 0x3(%rbx), %r8d
leaq 0x16410(%rip), %rdi     # 0x2ab9d
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addl $0x4, %r14d
leaq 0x16431(%rip), %r15     # 0x2abd3
xorl %r12d, %r12d
cmpq $0x2, %r12
je 0x147da
movq 0x28afe(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r13), %rsi
leal (%r14,%r12), %edx
addq $0x13, %rcx
movzbl 0x4(%rbx,%r12), %r9d
movl %r9d, (%rsp)
movq %r15, %rdi
movl %r12d, %r8d
xorl %eax, %eax
callq 0x40b0
incq %r12
jmp 0x147a5
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
pushq $0x6
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_CONNECTOR_HPDPIN_LUT_RECORD_dumper
int ATOM_CONNECTOR_HPDPIN_LUT_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_CONNECTOR_HPDPIN_LUT_RECORD *d = (ATOM_CONNECTOR_HPDPIN_LUT_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    for (i = 0; i < 8; i++) {
      printf ("%s%04x:  UCHAR ucHPDPINMap%s [%d] = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucHPDPINMap[i])-start), FILL(20+(i>9)), i, d->ucHPDPINMap[i], d->ucHPDPINMap[i]); }
  }
  return sizeof (ATOM_CONNECTOR_HPDPIN_LUT_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x149b2
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r15
movq 0x28990(%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, %r13
leaq (%rcx,%r13), %rsi
addq $0x20, %rcx
leaq 0x1596e(%rip), %rdi     # 0x2a2b0
movl %ebx, %r14d
subl %r15d, %r14d
movl %r14d, %edx
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r15, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x136da
addl $0x2, %r14d
leaq 0x1629d(%rip), %r15     # 0x2ac09
xorl %r12d, %r12d
cmpq $0x8, %r12
je 0x149a4
movq 0x28934(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r13), %rsi
leal (%r14,%r12), %edx
addq $0x14, %rcx
movzbl 0x2(%rbx,%r12), %r9d
movl %r9d, (%rsp)
movq %r15, %rdi
movl %r12d, %r8d
xorl %eax, %eax
callq 0x40b0
incq %r12
jmp 0x1496f
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
pushq $0xa
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_CONNECTOR_AUXDDC_LUT_RECORD_dumper
int ATOM_CONNECTOR_AUXDDC_LUT_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_CONNECTOR_AUXDDC_LUT_RECORD *d = (ATOM_CONNECTOR_AUXDDC_LUT_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    for (i = 0; i < 8; i++) {
      printf ("%s%04x:  ATOM_I2C_ID_CONFIG ucAUXDDCMap%s [%d] :\n", IND(indent), (int)(((uint8_t*)&d->ucAUXDDCMap[i])-start), FILL(33+(i>9)), i); ATOM_I2C_ID_CONFIG_dumper (start, (uint8_t*) &d->ucAUXDDCMap[i], indent+1); }
  }
  return sizeof (ATOM_CONNECTOR_AUXDDC_LUT_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x14a70
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r13
movq 0x288d7(%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 $0x20, %rcx
leaq 0x158b5(%rip), %rdi     # 0x2a2b0
movl %r14d, %r15d
subl %r13d, %r15d
movl %r15d, %edx
xorl %eax, %eax
callq 0x40b0
incl %ebx
movq %r13, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x136da
addq $0x2, %r14
addl $0x2, %r15d
xorl %r13d, %r13d
cmpq $0x8, %r13
je 0x14a62
movq 0x2887e(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq (%r14,%r13), %rbp
leal (%r15,%r13), %edx
addq $0x21, %rcx
leaq 0x161f7(%rip), %rdi     # 0x2ac40
movl %r13d, %r8d
xorl %eax, %eax
callq 0x40b0
movq %rbp, %rsi
movl %ebx, %edx
callq 0xf671
incq %r13
jmp 0x14a25
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
pushq $0xa
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_OBJECT_LINK_RECORD_dumper
int ATOM_OBJECT_LINK_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_OBJECT_LINK_RECORD *d = (ATOM_OBJECT_LINK_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    printf ("%s%04x:  USHORT usObjectID%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usObjectID)-start), FILL(16), d->usObjectID, d->usObjectID);
  }
  return sizeof (ATOM_OBJECT_LINK_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x14b08
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x2881d(%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, %r15
leaq (%rcx,%r15), %rsi
movl %ebx, %edx
subl %r14d, %edx
addq $0x20, %rcx
leaq 0x157f6(%rip), %rdi     # 0x2a2b0
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x136da
movq 0x287d9(%rip), %rcx     # 0x3d2b0
addq %rcx, %r15
leaq 0x2(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movzwl 0x2(%rbx), %r8d
leaq 0x151a1(%rip), %rdi     # 0x29c92
movq %r15, %rsi
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
pushq $0x4
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_CONNECTOR_REMOTE_CAP_RECORD_dumper
int ATOM_CONNECTOR_REMOTE_CAP_RECORD_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_CONNECTOR_REMOTE_CAP_RECORD *d = (ATOM_CONNECTOR_REMOTE_CAP_RECORD *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_RECORD_HEADER sheader%s :\n", IND(indent), (int)(((uint8_t*)&d->sheader)-start), FILL(32)); ATOM_COMMON_RECORD_HEADER_dumper (start, (uint8_t*) &d->sheader, indent+1);
    printf ("%s%04x:  USHORT usReserved%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usReserved)-start), FILL(16), d->usReserved, d->usReserved);
  }
  return sizeof (ATOM_CONNECTOR_REMOTE_CAP_RECORD);
}

// Assembly:
testq %rsi, %rsi
je 0x14ba0
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x28785(%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, %r15
leaq (%rcx,%r15), %rsi
movl %ebx, %edx
subl %r14d, %edx
addq $0x20, %rcx
leaq 0x1575e(%rip), %rdi     # 0x2a2b0
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x136da
movq 0x28741(%rip), %rcx     # 0x3d2b0
addq %rcx, %r15
leaq 0x2(%rbx), %rdx
subl %r14d, %edx
addq $0x10, %rcx
movzwl 0x2(%rbx), %r8d
leaq 0x12acb(%rip), %rdi     # 0x27654
movq %r15, %rsi
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
pushq $0x4
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_VOLTAGE_INFO_dumper
int ATOM_VOLTAGE_INFO_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_VOLTAGE_INFO *d = (ATOM_VOLTAGE_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:  ATOM_VOLTAGE_INFO_HEADER viHeader%s :\n", IND(indent), (int)(((uint8_t*)&d->viHeader)-start), FILL(32)); ATOM_VOLTAGE_INFO_HEADER_dumper (start, (uint8_t*) &d->viHeader, indent+1);
    for (i = 0; i < 64; i++) {
      printf ("%s%04x:  UCHAR ucVoltageEntries%s [%d] = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucVoltageEntries[i])-start), FILL(25+(i>9)), i, d->ucVoltageEntries[i], d->ucVoltageEntries[i]); }
  }
  return sizeof (ATOM_VOLTAGE_INFO);
}

// Assembly:
testq %rsi, %rsi
je 0x14e50
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r15
movq 0x2852e(%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, %r13
leaq (%rcx,%r13), %rsi
addq $0x1f, %rcx
leaq 0xce0a(%rip), %rdi      # 0x21bae
movl %ebx, %r14d
subl %r15d, %r14d
movl %r14d, %edx
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r15, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x5d40
movq 0x284e6(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r13), %rsi
leaq 0x4(%rbx), %r12
movl %r12d, %edx
subl %r15d, %edx
addq $0x20, %rcx
leaq 0x16066(%rip), %rdi     # 0x2ae49
xorl %eax, %eax
callq 0x40b0
movq %r15, %rdi
movq %r12, %rsi
movl %ebp, %edx
callq 0x14ba4
addl $0xf, %r14d
leaq 0x16077(%rip), %r15     # 0x2ae79
xorl %r12d, %r12d
cmpq $0x40, %r12
je 0x14e42
movq 0x2849e(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r13), %rsi
leal (%r14,%r12), %edx
cmpq $0xa, %r12
sbbq $-0x1, %rcx
addq $0x19, %rcx
movzbl 0xf(%rbx,%r12), %r9d
movl %r9d, (%rsp)
movq %r15, %rdi
movl %r12d, %r8d
xorl %eax, %eax
callq 0x40b0
incq %r12
jmp 0x14e05
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
pushq $0x4f
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: VOLTAGE_LUT_ENTRY_dumper
int VOLTAGE_LUT_ENTRY_dumper (uint8_t *start, uint8_t *data, int indent) {
  VOLTAGE_LUT_ENTRY *d = (VOLTAGE_LUT_ENTRY *) data;
  int i;
  if (d) {
    printf ("%s%04x:  USHORT usVoltageCode%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usVoltageCode)-start), FILL(19), d->usVoltageCode, d->usVoltageCode);
    printf ("%s%04x:  USHORT usVoltageValue%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usVoltageValue)-start), FILL(20), d->usVoltageValue, d->usVoltageValue);
  }
  return sizeof (VOLTAGE_LUT_ENTRY);
}

// Assembly:
testq %rsi, %rsi
je 0x1506b
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq 0x282ad(%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, %r15
leaq (%rcx,%r15), %rsi
movl %ebx, %edx
subl %r14d, %edx
addq $0x13, %rcx
movzwl (%rbx), %r8d
leaq 0x15f8d(%rip), %rdi     # 0x2afbb
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x28271(%rip), %rcx     # 0x3d2b0
addq %rcx, %r15
leaq 0x2(%rbx), %rdx
subl %r14d, %edx
addq $0x14, %rcx
movzwl 0x2(%rbx), %r8d
leaq 0x15f95(%rip), %rdi     # 0x2afee
movq %r15, %rsi
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
popq %rbx
popq %r14
popq %r15
pushq $0x4
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_VOLTAGE_FORMULA_V2_dumper
int ATOM_VOLTAGE_FORMULA_V2_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_VOLTAGE_FORMULA_V2 *d = (ATOM_VOLTAGE_FORMULA_V2 *) data;
  int i;
  if (d) {
    printf ("%s%04x:  UCHAR ucNumOfVoltageEntries%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucNumOfVoltageEntries)-start), FILL(26), d->ucNumOfVoltageEntries, d->ucNumOfVoltageEntries);
    for (i = 0; i < 3; i++) {
      printf ("%s%04x:  UCHAR ucReserved%s [%d] = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucReserved[i])-start), FILL(19+(i>9)), i, d->ucReserved[i], d->ucReserved[i]); }
    for (i = 0; i < 32; i++) {
      printf ("%s%04x:  VOLTAGE_LUT_ENTRY asVIDAdjustEntries%s [%d] :\n", IND(indent), (int)(((uint8_t*)&d->asVIDAdjustEntries[i])-start), FILL(39+(i>9)), i); VOLTAGE_LUT_ENTRY_dumper (start, (uint8_t*) &d->asVIDAdjustEntries[i], indent+1); }
  }
  return sizeof (ATOM_VOLTAGE_FORMULA_V2);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
testq %rsi, %rsi
je 0x15174
movl %edx, %ebx
movq %rsi, %r14
cmpl $0x19, %edx
pushq $0x19
popq %rax
cmovll %edx, %eax
movq 0x28210(%rip), %rcx     # 0x3d2b0
addl %eax, %eax
pushq $0x32
popq %rdx
subl %eax, %edx
movslq %edx, %r15
leaq (%rcx,%r15), %rsi
addq $0x1a, %rcx
movzbl (%r14), %r8d
leaq 0x15bea(%rip), %rdi     # 0x2aca7
movl %r14d, %r12d
subl 0x10(%rsp), %r12d
movl %r12d, %edx
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
incl %r12d
leaq 0xe902(%rip), %r13      # 0x239de
xorl %ebp, %ebp
cmpq $0x3, %rbp
je 0x15113
movq 0x281c5(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
leal (%r12,%rbp), %edx
addq $0x13, %rcx
movzbl 0x1(%r14,%rbp), %r9d
movl %r9d, (%rsp)
movq %r13, %rdi
movl %ebp, %r8d
xorl %eax, %eax
callq 0x40b0
incq %rbp
jmp 0x150de
leaq 0x4(%r14), %r12
incl %ebx
subl 0x10(%rsp), %r14d
addl $0x4, %r14d
leaq 0x15ef9(%rip), %r13     # 0x2b022
xorl %ebp, %ebp
cmpq $0x20, %rbp
je 0x15174
movq 0x28178(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
cmpq $0xa, %rbp
sbbq $-0x1, %rcx
addq $0x27, %rcx
movq %r13, %rdi
movl %r14d, %edx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x40b0
movq 0x10(%rsp), %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x14fec
incq %rbp
addq $0x4, %r12
addl $0x4, %r14d
jmp 0x1512b
movl $0x84, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_VOLTAGE_OBJECT_dumper
int ATOM_VOLTAGE_OBJECT_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_VOLTAGE_OBJECT *d = (ATOM_VOLTAGE_OBJECT *) data;
  int i;
  if (d) {
    printf ("%s%04x:  UCHAR ucVoltageType%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucVoltageType)-start), FILL(18), d->ucVoltageType, d->ucVoltageType);
    printf ("%s%04x:  UCHAR ucSize%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucSize)-start), FILL(11), d->ucSize, d->ucSize);
    printf ("%s%04x:  ATOM_VOLTAGE_CONTROL asControl%s :\n", IND(indent), (int)(((uint8_t*)&d->asControl)-start), FILL(29)); ATOM_VOLTAGE_CONTROL_dumper (start, (uint8_t*) &d->asControl, indent+1);
    printf ("%s%04x:  ATOM_VOLTAGE_FORMULA asFormula%s :\n", IND(indent), (int)(((uint8_t*)&d->asFormula)-start), FILL(29)); ATOM_VOLTAGE_FORMULA_dumper (start, (uint8_t*) &d->asFormula, indent+1);
  }
  return sizeof (ATOM_VOLTAGE_OBJECT);
}

// Assembly:
testq %rsi, %rsi
je 0x15400
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq 0x27f87(%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
movl %r14d, %edx
subl %r15d, %edx
addq $0x12, %rcx
movzbl (%r14), %r8d
leaq 0xfafa(%rip), %rdi      # 0x24e4f
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x27f4a(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x1(%r14), %rdx
subl %r15d, %edx
addq $0xb, %rcx
movzbl 0x1(%r14), %r8d
leaq 0x15d4f(%rip), %rdi     # 0x2b0d0
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x27f1e(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x2(%r14), %r13
movl %r13d, %edx
subl %r15d, %edx
addq $0x1d, %rcx
leaq 0x15d52(%rip), %rdi     # 0x2b0fd
xorl %eax, %eax
callq 0x40b0
incl %ebx
movq %r15, %rdi
movq %r13, %rsi
movl %ebx, %edx
callq 0x15188
movq 0x27ee8(%rip), %rcx     # 0x3d2b0
addq %rcx, %r12
addq $0x12, %r14
movl %r14d, %edx
subl %r15d, %edx
addq $0x1d, %rcx
leaq 0x15d4a(%rip), %rdi     # 0x2b12a
movq %r12, %rsi
xorl %eax, %eax
callq 0x40b0
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x14e54
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
pushq $0x3a
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_VOLTAGE_OBJECT_V2_dumper
int ATOM_VOLTAGE_OBJECT_V2_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_VOLTAGE_OBJECT_V2 *d = (ATOM_VOLTAGE_OBJECT_V2 *) data;
  int i;
  if (d) {
    printf ("%s%04x:  UCHAR ucVoltageType%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucVoltageType)-start), FILL(18), d->ucVoltageType, d->ucVoltageType);
    printf ("%s%04x:  UCHAR ucSize%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucSize)-start), FILL(11), d->ucSize, d->ucSize);
    printf ("%s%04x:  ATOM_VOLTAGE_CONTROL asControl%s :\n", IND(indent), (int)(((uint8_t*)&d->asControl)-start), FILL(29)); ATOM_VOLTAGE_CONTROL_dumper (start, (uint8_t*) &d->asControl, indent+1);
    printf ("%s%04x:  ATOM_VOLTAGE_FORMULA_V2 asFormula%s :\n", IND(indent), (int)(((uint8_t*)&d->asFormula)-start), FILL(32)); ATOM_VOLTAGE_FORMULA_V2_dumper (start, (uint8_t*) &d->asFormula, indent+1);
  }
  return sizeof (ATOM_VOLTAGE_OBJECT_V2);
}

// Assembly:
testq %rsi, %rsi
je 0x154fc
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq 0x27e8b(%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
movl %r14d, %edx
subl %r15d, %edx
addq $0x12, %rcx
movzbl (%r14), %r8d
leaq 0xf9fe(%rip), %rdi      # 0x24e4f
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x27e4e(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x1(%r14), %rdx
subl %r15d, %edx
addq $0xb, %rcx
movzbl 0x1(%r14), %r8d
leaq 0x15c53(%rip), %rdi     # 0x2b0d0
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x27e22(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
leaq 0x2(%r14), %r13
movl %r13d, %edx
subl %r15d, %edx
addq $0x1d, %rcx
leaq 0x15c56(%rip), %rdi     # 0x2b0fd
xorl %eax, %eax
callq 0x40b0
incl %ebx
movq %r15, %rdi
movq %r13, %rsi
movl %ebx, %edx
callq 0x15188
movq 0x27dec(%rip), %rcx     # 0x3d2b0
addq %rcx, %r12
addq $0x12, %r14
movl %r14d, %edx
subl %r15d, %edx
addq $0x20, %rcx
leaq 0x15c7b(%rip), %rdi     # 0x2b157
movq %r12, %rsi
xorl %eax, %eax
callq 0x40b0
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x1506f
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
movl $0x96, %eax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_VOLTAGE_OBJECT_INFO_dumper
int ATOM_VOLTAGE_OBJECT_INFO_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_VOLTAGE_OBJECT_INFO *d = (ATOM_VOLTAGE_OBJECT_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);
    for (i = 0; i < (count_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj(d)); i++) {
      printf ("%s%04x:  ATOM_VOLTAGE_OBJECT asVoltageObj%s [%d] :\n", IND(indent), (int)(((uint8_t*)&*(offset_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj(d,i)))-start), FILL(35+(i>9)), i); ATOM_VOLTAGE_OBJECT_dumper (start, (uint8_t*) &*(offset_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj(d,i)), indent+1); }
  }
  return 0;
}

// Assembly:
testq %rsi, %rsi
je 0x15606
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq 0x27d8b(%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, %rax
movq %rax, (%rsp)
leaq (%rcx,%rax), %rsi
movl %r14d, %edx
subl %r15d, %edx
addq $0x1f, %rcx
leaq 0xc65d(%rip), %rdi      # 0x21bae
xorl %eax, %eax
callq 0x40b0
incl %ebx
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x5d40
xorl %ebp, %ebp
pushq $-0x1
popq %r13
xorl %r12d, %r12d
incl %r13d
movq %r14, %rdi
movl %r13d, %esi
callq 0x15609
cmpq %r12, %rax
je 0x15595
movq %rax, %rcx
subq %r14, %rcx
movzwl (%r14), %edx
movq %rax, %r12
cmpq %rdx, %rcx
jl 0x15570
cmpl %r13d, %ebp
jae 0x155f8
movq 0x27d0f(%rip), %r13     # 0x3d2b0
movq (%rsp), %rax
leaq (%rax,%r13), %r12
movq %r14, %rdi
movl %ebp, %esi
callq 0x15609
subl %r15d, %eax
cmpl $0xa, %ebp
sbbq $-0x1, %r13
addq $0x23, %r13
leaq 0x15bbf(%rip), %rdi     # 0x2b187
movq %r12, %rsi
movl %eax, %edx
movq %r13, %rcx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x40b0
movq %r14, %rdi
movl %ebp, %esi
callq 0x15609
movq %r15, %rdi
movq %rax, %rsi
movl %ebx, %edx
callq 0x15308
incl %ebp
jmp 0x15569
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./atombios_rev.h
// Function: offset_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj
static inline char *offset_ATOM_VOLTAGE_OBJECT_INFO_asVoltageObj(ATOM_VOLTAGE_OBJECT_INFO *d, int i) {
    char *r = (char *)&d->asVoltageObj[0];
    while (i-- > 0)
	r += ((ATOM_VOLTAGE_OBJECT *)r)->ucSize;
    return r;
}

// Assembly:
movq %rdi, %rax
addq $0x4, %rax
testl %esi, %esi
jle 0x1561f
decl %esi
movzbl 0x1(%rax), %ecx
addq %rcx, %rax
jmp 0x15610
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_VOLTAGE_OBJECT_INFO_V2_dumper
int ATOM_VOLTAGE_OBJECT_INFO_V2_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_VOLTAGE_OBJECT_INFO_V2 *d = (ATOM_VOLTAGE_OBJECT_INFO_V2 *) 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);
    for (i = 0; i < 3; i++) {
      printf ("%s%04x:  ATOM_VOLTAGE_OBJECT_V2 asVoltageObj%s [%d] :\n", IND(indent), (int)(((uint8_t*)&d->asVoltageObj[i])-start), FILL(38+(i>9)), i); ATOM_VOLTAGE_OBJECT_V2_dumper (start, (uint8_t*) &d->asVoltageObj[i], indent+1); }
  }
  return sizeof (ATOM_VOLTAGE_OBJECT_INFO_V2);
}

// Assembly:
testq %rsi, %rsi
je 0x156e2
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq 0x27c6d(%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 0xc549(%rip), %rdi      # 0x21bae
movl %r14d, %ebp
subl %r15d, %ebp
movl %ebp, %edx
xorl %eax, %eax
callq 0x40b0
incl %ebx
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x5d40
addq $0x4, %r14
addl $0x4, %ebp
xorl %r13d, %r13d
cmpq $0x3, %r13
je 0x156d4
movq 0x27c16(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r12), %rsi
addq $0x26, %rcx
leaq 0x15b12(%rip), %rdi     # 0x2b1bb
movl %ebp, %edx
movl %r13d, %r8d
xorl %eax, %eax
callq 0x40b0
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x15404
incq %r13
addq $0x96, %r14
addl $0x96, %ebp
jmp 0x1568d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
movl $0x1c6, %eax            # imm = 0x1C6
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_LEAKID_VOLTAGE_dumper
int ATOM_LEAKID_VOLTAGE_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_LEAKID_VOLTAGE *d = (ATOM_LEAKID_VOLTAGE *) data;
  int i;
  if (d) {
    printf ("%s%04x:  UCHAR ucLeakageId%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucLeakageId)-start), FILL(16), d->ucLeakageId, d->ucLeakageId);
    printf ("%s%04x:  UCHAR ucReserved%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucReserved)-start), FILL(15), d->ucReserved, d->ucReserved);
    printf ("%s%04x:  USHORT usVoltage%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usVoltage)-start), FILL(15), d->usVoltage, d->usVoltage);
  }
  return sizeof (ATOM_LEAKID_VOLTAGE);
}

// Assembly:
testq %rsi, %rsi
je 0x15797
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq 0x27bad(%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, %r15
leaq (%rcx,%r15), %rsi
movl %ebx, %edx
subl %r14d, %edx
addq $0x10, %rcx
movzbl (%rbx), %r8d
leaq 0x15ac4(%rip), %rdi     # 0x2b1f2
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x27b71(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
leaq 0x1(%rbx), %rdx
subl %r14d, %edx
addq $0xf, %rcx
movzbl 0x1(%rbx), %r8d
leaq 0xc7f2(%rip), %rdi      # 0x21f4c
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
movq 0x27b45(%rip), %rcx     # 0x3d2b0
addq %rcx, %r15
leaq 0x2(%rbx), %rdx
subl %r14d, %edx
addq $0xf, %rcx
movzwl 0x2(%rbx), %r8d
leaq 0x15a9f(%rip), %rdi     # 0x2b224
movq %r15, %rsi
movl %r8d, %r9d
xorl %eax, %eax
callq 0x40b0
popq %rbx
popq %r14
popq %r15
pushq $0x4
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_ASIC_PROFILING_INFO_dumper
int ATOM_ASIC_PROFILING_INFO_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_ASIC_PROFILING_INFO *d = (ATOM_ASIC_PROFILING_INFO *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_TABLE_HEADER asHeader%s :\n", IND(indent), (int)(((uint8_t*)&d->asHeader)-start), FILL(32)); ATOM_COMMON_TABLE_HEADER_dumper (start, (uint8_t*) &d->asHeader, indent+1);
    printf ("%s%04x:  ATOM_ASIC_PROFILE_VOLTAGE asVoltage%s :\n", IND(indent), (int)(((uint8_t*)&d->asVoltage)-start), FILL(34)); ATOM_ASIC_PROFILE_VOLTAGE_dumper (start, (uint8_t*) &d->asVoltage, indent+1);
  }
  return sizeof (ATOM_ASIC_PROFILING_INFO);
}

// Assembly:
testq %rsi, %rsi
je 0x159f1
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq 0x2793e(%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
movl %r14d, %edx
subl %r15d, %edx
addq $0x20, %rcx
leaq 0x1598d(%rip), %rdi     # 0x2b327
xorl %eax, %eax
callq 0x40b0
incl %ebx
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x5d40
movq 0x278f9(%rip), %rcx     # 0x3d2b0
addq %rcx, %r12
addq $0x4, %r14
movl %r14d, %edx
subl %r15d, %edx
addq $0x22, %rcx
leaq 0x15988(%rip), %rdi     # 0x2b357
movq %r12, %rsi
xorl %eax, %eax
callq 0x40b0
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x1579b
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
pushq $0x22
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_POWER_SOURCE_INFO_dumper
int ATOM_POWER_SOURCE_INFO_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_POWER_SOURCE_INFO *d = (ATOM_POWER_SOURCE_INFO *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ATOM_COMMON_TABLE_HEADER asHeader%s :\n", IND(indent), (int)(((uint8_t*)&d->asHeader)-start), FILL(32)); ATOM_COMMON_TABLE_HEADER_dumper (start, (uint8_t*) &d->asHeader, indent+1);
    for (i = 0; i < 16; i++) {
      printf ("%s%04x:  UCHAR asPwrbehave%s [%d] = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->asPwrbehave[i])-start), FILL(20+(i>9)), i, d->asPwrbehave[i], d->asPwrbehave[i]); }
    for (i = 0; i < COUNT_REMAINDER (ATOM_POWER_SOURCE_INFO, asPwrObj[0], ATOM_POWER_SOURCE_OBJECT); i++) {
      printf ("%s%04x:  ATOM_POWER_SOURCE_OBJECT asPwrObj%s [%d] :\n", IND(indent), (int)(((uint8_t*)&d->asPwrObj[i])-start), FILL(36+(i>9)), i); ATOM_POWER_SOURCE_OBJECT_dumper (start, (uint8_t*) &d->asPwrObj[i], indent+1); }
  }
  return RETURN_REMAINDER (ATOM_POWER_SOURCE_INFO, asPwrObj[0], ATOM_POWER_SOURCE_OBJECT);
}

// Assembly:
testq %rsi, %rsi
je 0x15d06
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %edx, %ebp
movq %rsi, %r14
movq %rdi, %r13
movq 0x276bd(%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, %r15
leaq (%rcx,%r15), %rsi
addq $0x20, %rcx
leaq 0x15712(%rip), %rdi     # 0x2b327
movl %r14d, %r12d
subl %r13d, %r12d
movl %r12d, %edx
xorl %eax, %eax
callq 0x40b0
incl %ebp
movq %r13, %rbx
movq %r13, %rdi
movq %r14, %rsi
movl %ebp, 0x14(%rsp)
movl %ebp, %edx
callq 0x5d40
addl $0x4, %r12d
leaq 0x15926(%rip), %r13     # 0x2b56c
xorl %ebp, %ebp
cmpq $0x10, %rbp
je 0x15c85
movq 0x2765b(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
leal (%r12,%rbp), %edx
cmpq $0xa, %rbp
sbbq $-0x1, %rcx
addq $0x14, %rcx
movzbl 0x4(%r14,%rbp), %r9d
movl %r9d, (%rsp)
movq %r13, %rdi
movl %ebp, %r8d
xorl %eax, %eax
callq 0x40b0
incq %rbp
jmp 0x15c48
leaq 0x14(%r14), %r12
movl %r14d, %ebp
subl %ebx, %ebp
addl $0x14, %ebp
xorl %r13d, %r13d
movzwl (%r14), %ecx
addq $-0x14, %rcx
movq %rcx, %rax
xorl %edx, %edx
pushq $0xc
popq %rsi
divq %rsi
cmpq %r13, %rax
jbe 0x15cf1
movq 0x275fd(%rip), %rcx     # 0x3d2b0
leaq (%rcx,%r15), %rsi
cmpq $0xa, %r13
sbbq $-0x1, %rcx
addq $0x24, %rcx
leaq 0x158d9(%rip), %rdi     # 0x2b5a3
movl %ebp, %edx
movl %r13d, %r8d
xorl %eax, %eax
callq 0x40b0
movq %rbx, %rdi
movq %r12, %rsi
movl 0x14(%rsp), %edx
callq 0x159f5
incq %r13
addq $0xc, %r12
addl $0xc, %ebp
jmp 0x15c94
subl %edx, %ecx
addl $0x14, %ecx
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x15d08
xorl %ecx, %ecx
movl %ecx, %eax
retq