// File: /workspace/github_c_makefile_star2_O0/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_VRAM_MODULE_V4_dumper
int ATOM_VRAM_MODULE_V4_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_VRAM_MODULE_V4 *d = (ATOM_VRAM_MODULE_V4 *) data;
  int i;
  if (d) {
    printf ("%s%04x:  ULONG ulChannelMapCfg%s = 0x%08x (%d)\n", IND(indent), (int)(((uint8_t*)&d->ulChannelMapCfg)-start), FILL(20), d->ulChannelMapCfg, d->ulChannelMapCfg);
    printf ("%s%04x:  USHORT usModuleSize%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usModuleSize)-start), FILL(18), d->usModuleSize, d->usModuleSize);
    printf ("%s%04x:  USHORT usPrivateReserved%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usPrivateReserved)-start), FILL(23), d->usPrivateReserved, d->usPrivateReserved);
    printf ("%s%04x:  USHORT usReserved%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usReserved)-start), FILL(16), d->usReserved, d->usReserved);
    printf ("%s%04x:  UCHAR ucExtMemoryID%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucExtMemoryID)-start), FILL(18), d->ucExtMemoryID, d->ucExtMemoryID);
    printf ("%s%04x:  UCHAR ucMemoryType%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucMemoryType)-start), FILL(17), d->ucMemoryType, d->ucMemoryType);
    printf ("%s%04x:  UCHAR ucChannelNum%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucChannelNum)-start), FILL(17), d->ucChannelNum, d->ucChannelNum);
    printf ("%s%04x:  UCHAR ucChannelWidth%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucChannelWidth)-start), FILL(19), d->ucChannelWidth, d->ucChannelWidth);
    printf ("%s%04x:  UCHAR ucDensity%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucDensity)-start), FILL(14), d->ucDensity, d->ucDensity);
    printf ("%s%04x:  UCHAR ucFlag%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucFlag)-start), FILL(11), d->ucFlag, d->ucFlag);
    printf ("%s%04x:  UCHAR ucMisc%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucMisc)-start), FILL(11), d->ucMisc, d->ucMisc);
    printf ("%s%04x:  UCHAR ucVREFI%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucVREFI)-start), FILL(12), d->ucVREFI, d->ucVREFI);
    printf ("%s%04x:  UCHAR ucNPL_RT%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucNPL_RT)-start), FILL(13), d->ucNPL_RT, d->ucNPL_RT);
    printf ("%s%04x:  UCHAR ucPreamble%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucPreamble)-start), FILL(15), d->ucPreamble, d->ucPreamble);
    printf ("%s%04x:  UCHAR ucMemorySize%s = 0x%02x       (%d)\n", IND(indent), (int)(((uint8_t*)&d->ucMemorySize)-start), FILL(17), d->ucMemorySize, d->ucMemorySize);
    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]); }
    printf ("%s  <unparsable> line 3435:   union{\n%sskipping...\n", IND(indent), IND(indent));
  }
  return sizeof (ATOM_VRAM_MODULE_V4);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x180, %rsp            # imm = 0x180
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x3a921
movq 0x2a270(%rip), %rax     # 0x642a0
movq %rax, -0x30(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a044
movl $0x19, %eax
movl %eax, -0x34(%rbp)
jmp 0x3a04a
movl -0x14(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x30(%rbp), %rsi
movl -0x34(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x2a22d(%rip), %rcx     # 0x642a0
addq $0x14, %rcx
movq -0x20(%rbp), %rax
movl (%rax), %r8d
movq -0x20(%rbp), %rax
movl (%rax), %r9d
leaq 0x1e662(%rip), %rdi     # 0x586ee
movb $0x0, %al
callq 0x4090
movq 0x2a206(%rip), %rax     # 0x642a0
movq %rax, -0x40(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a0ae
movl $0x19, %eax
movl %eax, -0x44(%rbp)
jmp 0x3a0b4
movl -0x14(%rbp), %eax
movl %eax, -0x44(%rbp)
movq -0x40(%rbp), %rsi
movl -0x44(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x4, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x2a1bf(%rip), %rcx     # 0x642a0
addq $0x12, %rcx
movq -0x20(%rbp), %rax
movzwl 0x4(%rax), %r8d
movq -0x20(%rbp), %rax
movzwl 0x4(%rax), %r9d
leaq 0x1e743(%rip), %rdi     # 0x58841
movb $0x0, %al
callq 0x4090
movq 0x2a194(%rip), %rax     # 0x642a0
movq %rax, -0x50(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a120
movl $0x19, %eax
movl %eax, -0x54(%rbp)
jmp 0x3a126
movl -0x14(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x50(%rbp), %rsi
movl -0x54(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x6, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x2a14d(%rip), %rcx     # 0x642a0
addq $0x17, %rcx
movq -0x20(%rbp), %rax
movzwl 0x6(%rax), %r8d
movq -0x20(%rbp), %rax
movzwl 0x6(%rax), %r9d
leaq 0x1e703(%rip), %rdi     # 0x58873
movb $0x0, %al
callq 0x4090
movq 0x2a122(%rip), %rax     # 0x642a0
movq %rax, -0x60(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a192
movl $0x19, %eax
movl %eax, -0x64(%rbp)
jmp 0x3a198
movl -0x14(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x60(%rbp), %rsi
movl -0x64(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x8, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x2a0db(%rip), %rcx     # 0x642a0
addq $0x10, %rcx
movq -0x20(%rbp), %rax
movzwl 0x8(%rax), %r8d
movq -0x20(%rbp), %rax
movzwl 0x8(%rax), %r9d
leaq 0x18523(%rip), %rdi     # 0x52705
movb $0x0, %al
callq 0x4090
movq 0x2a0b0(%rip), %rax     # 0x642a0
movq %rax, -0x70(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a204
movl $0x19, %eax
movl %eax, -0x74(%rbp)
jmp 0x3a20a
movl -0x14(%rbp), %eax
movl %eax, -0x74(%rbp)
movq -0x70(%rbp), %rsi
movl -0x74(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0xa, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x2a069(%rip), %rcx     # 0x642a0
addq $0x12, %rcx
movq -0x20(%rbp), %rax
movzbl 0xa(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0xa(%rax), %r9d
leaq 0x1db8c(%rip), %rdi     # 0x57de0
movb $0x0, %al
callq 0x4090
movq 0x2a03e(%rip), %rax     # 0x642a0
movq %rax, -0x80(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a279
movl $0x19, %eax
movl %eax, -0x84(%rbp)
jmp 0x3a282
movl -0x14(%rbp), %eax
movl %eax, -0x84(%rbp)
movq -0x80(%rbp), %rsi
movl -0x84(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0xb, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x29fee(%rip), %rcx     # 0x642a0
addq $0x11, %rcx
movq -0x20(%rbp), %rax
movzbl 0xb(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0xb(%rax), %r9d
leaq 0x17a32(%rip), %rdi     # 0x51d01
movb $0x0, %al
callq 0x4090
movq 0x29fc3(%rip), %rax     # 0x642a0
movq %rax, -0x90(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a2f7
movl $0x19, %eax
movl %eax, -0x94(%rbp)
jmp 0x3a300
movl -0x14(%rbp), %eax
movl %eax, -0x94(%rbp)
movq -0x90(%rbp), %rsi
movl -0x94(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0xc, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x29f6d(%rip), %rcx     # 0x642a0
addq $0x11, %rcx
movq -0x20(%rbp), %rax
movzbl 0xc(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0xc(%rax), %r9d
leaq 0x1dbe8(%rip), %rdi     # 0x57f38
movb $0x0, %al
callq 0x4090
movq 0x29f42(%rip), %rax     # 0x642a0
movq %rax, -0xa0(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a378
movl $0x19, %eax
movl %eax, -0xa4(%rbp)
jmp 0x3a381
movl -0x14(%rbp), %eax
movl %eax, -0xa4(%rbp)
movq -0xa0(%rbp), %rsi
movl -0xa4(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0xd, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x29eec(%rip), %rcx     # 0x642a0
addq $0x13, %rcx
movq -0x20(%rbp), %rax
movzbl 0xd(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0xd(%rax), %r9d
leaq 0x1e4d9(%rip), %rdi     # 0x588aa
movb $0x0, %al
callq 0x4090
movq 0x29ec1(%rip), %rax     # 0x642a0
movq %rax, -0xb0(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a3f9
movl $0x19, %eax
movl %eax, -0xb4(%rbp)
jmp 0x3a402
movl -0x14(%rbp), %eax
movl %eax, -0xb4(%rbp)
movq -0xb0(%rbp), %rsi
movl -0xb4(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0xe, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x29e6b(%rip), %rcx     # 0x642a0
addq $0xe, %rcx
movq -0x20(%rbp), %rax
movzbl 0xe(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0xe(%rax), %r9d
leaq 0x1e48d(%rip), %rdi     # 0x588df
movb $0x0, %al
callq 0x4090
movq 0x29e40(%rip), %rax     # 0x642a0
movq %rax, -0xc0(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a47a
movl $0x19, %eax
movl %eax, -0xc4(%rbp)
jmp 0x3a483
movl -0x14(%rbp), %eax
movl %eax, -0xc4(%rbp)
movq -0xc0(%rbp), %rsi
movl -0xc4(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0xf, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x29dea(%rip), %rcx     # 0x642a0
addq $0xb, %rcx
movq -0x20(%rbp), %rax
movzbl 0xf(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0xf(%rax), %r9d
leaq 0x1bafe(%rip), %rdi     # 0x55fd1
movb $0x0, %al
callq 0x4090
movq 0x29dbf(%rip), %rax     # 0x642a0
movq %rax, -0xd0(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a4fb
movl $0x19, %eax
movl %eax, -0xd4(%rbp)
jmp 0x3a504
movl -0x14(%rbp), %eax
movl %eax, -0xd4(%rbp)
movq -0xd0(%rbp), %rsi
movl -0xd4(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x10, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x29d69(%rip), %rcx     # 0x642a0
addq $0xb, %rcx
movq -0x20(%rbp), %rax
movzbl 0x10(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0x10(%rax), %r9d
leaq 0x143b2(%rip), %rdi     # 0x4e906
movb $0x0, %al
callq 0x4090
movq 0x29d3e(%rip), %rax     # 0x642a0
movq %rax, -0xe0(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a57c
movl $0x19, %eax
movl %eax, -0xe4(%rbp)
jmp 0x3a585
movl -0x14(%rbp), %eax
movl %eax, -0xe4(%rbp)
movq -0xe0(%rbp), %rsi
movl -0xe4(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x11, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x29ce8(%rip), %rcx     # 0x642a0
addq $0xc, %rcx
movq -0x20(%rbp), %rax
movzbl 0x11(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0x11(%rax), %r9d
leaq 0x1e1e5(%rip), %rdi     # 0x587ba
movb $0x0, %al
callq 0x4090
movq 0x29cbd(%rip), %rax     # 0x642a0
movq %rax, -0xf0(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a5fd
movl $0x19, %eax
movl %eax, -0xf4(%rbp)
jmp 0x3a606
movl -0x14(%rbp), %eax
movl %eax, -0xf4(%rbp)
movq -0xf0(%rbp), %rsi
movl -0xf4(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x12, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x29c67(%rip), %rcx     # 0x642a0
addq $0xd, %rcx
movq -0x20(%rbp), %rax
movzbl 0x12(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0x12(%rax), %r9d
leaq 0x1e192(%rip), %rdi     # 0x587e8
movb $0x0, %al
callq 0x4090
movq 0x29c3c(%rip), %rax     # 0x642a0
movq %rax, -0x100(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a67e
movl $0x19, %eax
movl %eax, -0x104(%rbp)
jmp 0x3a687
movl -0x14(%rbp), %eax
movl %eax, -0x104(%rbp)
movq -0x100(%rbp), %rsi
movl -0x104(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x13, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x29be6(%rip), %rcx     # 0x642a0
addq $0xf, %rcx
movq -0x20(%rbp), %rax
movzbl 0x13(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0x13(%rax), %r9d
leaq 0x1e238(%rip), %rdi     # 0x5890f
movb $0x0, %al
callq 0x4090
movq 0x29bbb(%rip), %rax     # 0x642a0
movq %rax, -0x110(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a6ff
movl $0x19, %eax
movl %eax, -0x114(%rbp)
jmp 0x3a708
movl -0x14(%rbp), %eax
movl %eax, -0x114(%rbp)
movq -0x110(%rbp), %rsi
movl -0x114(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x14, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x29b65(%rip), %rcx     # 0x642a0
addq $0x11, %rcx
movq -0x20(%rbp), %rax
movzbl 0x14(%rax), %r8d
movq -0x20(%rbp), %rax
movzbl 0x14(%rax), %r9d
leaq 0x1e1e8(%rip), %rdi     # 0x58940
movb $0x0, %al
callq 0x4090
movl $0x0, -0x24(%rbp)
cmpl $0x3, -0x24(%rbp)
jge 0x3a87a
movq 0x29b29(%rip), %rax     # 0x642a0
movq %rax, -0x120(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a791
movl $0x19, %eax
movl %eax, -0x124(%rbp)
jmp 0x3a79a
movl -0x14(%rbp), %eax
movl %eax, -0x124(%rbp)
movq -0x120(%rbp), %rax
movl -0x124(%rbp), %edx
shll %edx
movl $0x32, %ecx
subl %edx, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x140(%rbp)
movq -0x20(%rbp), %rax
addq $0x15, %rax
movslq -0x24(%rbp), %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x134(%rbp)
movq 0x29ac0(%rip), %rax     # 0x642a0
movq %rax, -0x130(%rbp)
cmpl $0x9, -0x24(%rbp)
setg %al
andb $0x1, %al
movzbl %al, %eax
addl $0x13, %eax
cmpl $0x32, %eax
jle 0x3a808
movl $0x32, %eax
movl %eax, -0x144(%rbp)
jmp 0x3a81d
cmpl $0x9, -0x24(%rbp)
setg %al
andb $0x1, %al
movzbl %al, %eax
addl $0x13, %eax
movl %eax, -0x144(%rbp)
movl -0x134(%rbp), %edx
movq -0x140(%rbp), %rsi
movq -0x130(%rbp), %rcx
movl -0x144(%rbp), %eax
cltq
addq %rax, %rcx
movl -0x24(%rbp), %r8d
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rdi
movzbl 0x15(%rax,%rdi), %r9d
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rdi
movzbl 0x15(%rax,%rdi), %eax
leaq 0x1422d(%rip), %rdi     # 0x4ea8f
movl %eax, (%rsp)
movb $0x0, %al
callq 0x4090
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x3a766
movq 0x29a1f(%rip), %rax     # 0x642a0
movq %rax, -0x150(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a89b
movl $0x19, %eax
movl %eax, -0x154(%rbp)
jmp 0x3a8a4
movl -0x14(%rbp), %eax
movl %eax, -0x154(%rbp)
movq -0x150(%rbp), %rax
movl -0x154(%rbp), %edx
shll %edx
movl $0x32, %ecx
subl %edx, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x168(%rbp)
movq 0x299d2(%rip), %rax     # 0x642a0
movq %rax, -0x160(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x3a8e8
movl $0x19, %eax
movl %eax, -0x16c(%rbp)
jmp 0x3a8f1
movl -0x14(%rbp), %eax
movl %eax, -0x16c(%rbp)
movq -0x168(%rbp), %rsi
movq -0x160(%rbp), %rdx
movl -0x16c(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rdx
leaq 0x1e059(%rip), %rdi     # 0x58973
movb $0x0, %al
callq 0x4090
movl $0x98, %eax
addq $0x180, %rsp            # imm = 0x180
popq %rbp
retq
nop