// File: /workspace/github_cpp_makefile_star2_O2/maplechori[P]stata-reader-writer/State.cpp
// Function: OpenMap::process(Context&)
bool OpenMap::process(Context &ctx)
{
#define MAP_COUNT 14
  char *ctxbuf = (char *)ctx.advance();
  int i, j;

  string map_names[] = {
      "stata_data_start",
      "map",
      "variable_types",
      "varnames",
      "sortlist",
      "formats",
      "value_label_names",
      "variable_labels",
      "characteristics",
      "data",
      "strls",
      "value_labels",
      "stata_data_end",
      "eof"};

  for (i = 0; i < MAP_COUNT; i++, ctxbuf += 8)
    ctx.map.stata_map[map_names[i].c_str()] = GetLSF<uint64_t>(ctxbuf, 8);

  ctx.advance();

  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rsi, %r15
movq %rsi, %rdi
callq 0xa876
movq %rax, -0x48(%rbp)
leaq 0x49f3(%rip), %rsi      # 0xf695
leaq -0x230(%rbp), %rbx
leaq -0x68(%rbp), %rdx
movq %rbx, %rdi
callq 0x8190
leaq -0x210(%rbp), %r14
leaq 0x49e3(%rip), %rsi      # 0xf6a6
leaq -0x29(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0x1f0(%rbp), %r14
leaq 0x49cd(%rip), %rsi      # 0xf6aa
leaq -0x35(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0x1d0(%rbp), %r14
leaq 0x49c2(%rip), %rsi      # 0xf6b9
leaq -0x34(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0x1b0(%rbp), %r14
leaq 0x49b1(%rip), %rsi      # 0xf6c2
leaq -0x33(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0x190(%rbp), %r14
leaq 0x49a0(%rip), %rsi      # 0xf6cb
leaq -0x32(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0x170(%rbp), %r14
leaq 0x498e(%rip), %rsi      # 0xf6d3
leaq -0x31(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0x150(%rbp), %r14
leaq 0x4986(%rip), %rsi      # 0xf6e5
leaq -0x30(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0x130(%rbp), %r14
leaq 0x497c(%rip), %rsi      # 0xf6f5
leaq -0x2f(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0x110(%rbp), %r14
leaq 0x4972(%rip), %rsi      # 0xf705
leaq -0x2e(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0xf0(%rbp), %r14
leaq 0x495d(%rip), %rsi      # 0xf70a
leaq -0x2d(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0xd0(%rbp), %r14
leaq 0x4949(%rip), %rsi      # 0xf710
leaq -0x2c(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0xb0(%rbp), %r14
leaq 0x493c(%rip), %rsi      # 0xf71d
leaq -0x2b(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
leaq -0x90(%rbp), %r14
leaq 0x4931(%rip), %rsi      # 0xf72c
leaq -0x2a(%rbp), %rdx
movq %r14, %rdi
callq 0x8190
movq %r15, -0x40(%rbp)
leaq 0x70(%r15), %rbx
xorl %r14d, %r14d
leaq -0x68(%rbp), %r13
leaq -0x29(%rbp), %r15
cmpq $0x70, %r14
je 0xae62
movq -0x48(%rbp), %rax
leaq (%rax,%r14), %rdi
pushq $0x8
popq %rsi
callq 0xbdc6
movq %rax, %r12
movq -0x230(%rbp,%r14,4), %rsi
movq %r13, %rdi
movq %r15, %rdx
callq 0x8190
movq %rbx, %rdi
movq %r13, %rsi
callq 0xbe42
movq %r12, (%rax)
movq %r13, %rdi
callq 0x7150
addq $0x8, %r14
jmp 0xae1a
movq -0x40(%rbp), %rdi
callq 0xa876
movl $0x1a0, %ebx            # imm = 0x1A0
leaq (%rbx,%rbp), %rdi
addq $-0x230, %rdi           # imm = 0xFDD0
callq 0x7150
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0xae70
movb $0x1, %al
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xaece
jmp 0xaeb8
jmp 0xaeb8
jmp 0xaeb8
jmp 0xaeb8
jmp 0xaeb8
jmp 0xaeb8
jmp 0xaeb8
jmp 0xaeb8
jmp 0xaeb8
jmp 0xaeb8
jmp 0xaeb8
jmp 0xaeb8
movq %rax, %r15
addq $-0x20, %r14
movq %r14, %rdi
callq 0x7150
cmpq %rbx, %r14
jne 0xaebb
jmp 0xaefe
movq %rax, %r15
jmp 0xaedf
movq %rax, %r15
leaq -0x68(%rbp), %rdi
callq 0x7150
movl $0x1a0, %ebx            # imm = 0x1A0
leaq (%rbx,%rbp), %rdi
addq $-0x230, %rdi           # imm = 0xFDD0
callq 0x7150
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0xaee4
movq %r15, %rdi
callq 0x75b0