// File: /workspace/github_cpp_makefile_star2_O1/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 $0x1f8, %rsp            # imm = 0x1F8
movq %rsi, %r13
movq %rsi, %rdi
callq 0xb87a
movq %rax, %r12
leaq -0x210(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5927(%rip), %rsi      # 0x1167d
leaq 0x5930(%rip), %rdx      # 0x1168d
leaq -0x220(%rbp), %r15
movq %r15, %rdi
callq 0x8ede
leaq -0x200(%rbp), %r14
leaq -0x1f0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5909(%rip), %rsi      # 0x1168e
leaq 0x5905(%rip), %rdx      # 0x11691
movq %r14, %rdi
callq 0x8ede
leaq -0x1e0(%rbp), %r14
leaq -0x1d0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x58e5(%rip), %rsi      # 0x11692
leaq 0x58ec(%rip), %rdx      # 0x116a0
movq %r14, %rdi
callq 0x8ede
leaq -0x1c0(%rbp), %r14
leaq -0x1b0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x58cc(%rip), %rsi      # 0x116a1
leaq 0x58cd(%rip), %rdx      # 0x116a9
movq %r14, %rdi
callq 0x8ede
leaq -0x1a0(%rbp), %r14
leaq -0x190(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x58ad(%rip), %rsi      # 0x116aa
leaq 0x58ae(%rip), %rdx      # 0x116b2
movq %r14, %rdi
callq 0x8ede
leaq -0x180(%rbp), %r14
leaq -0x170(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x588e(%rip), %rsi      # 0x116b3
leaq 0x588e(%rip), %rdx      # 0x116ba
movq %r14, %rdi
callq 0x8ede
leaq -0x160(%rbp), %r14
leaq -0x150(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x586e(%rip), %rsi      # 0x116bb
leaq 0x5878(%rip), %rdx      # 0x116cc
movq %r14, %rdi
callq 0x8ede
leaq -0x140(%rbp), %r14
leaq -0x130(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5858(%rip), %rsi      # 0x116cd
leaq 0x5860(%rip), %rdx      # 0x116dc
movq %r14, %rdi
callq 0x8ede
leaq -0x120(%rbp), %r14
leaq -0x110(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5840(%rip), %rsi      # 0x116dd
leaq 0x5848(%rip), %rdx      # 0x116ec
movq %r14, %rdi
callq 0x8ede
leaq -0x100(%rbp), %r14
leaq -0xf0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5828(%rip), %rsi      # 0x116ed
leaq 0x5825(%rip), %rdx      # 0x116f1
movq %r14, %rdi
callq 0x8ede
leaq -0xe0(%rbp), %r14
leaq -0xd0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5805(%rip), %rsi      # 0x116f2
leaq 0x5803(%rip), %rdx      # 0x116f7
movq %r14, %rdi
callq 0x8ede
leaq -0xc0(%rbp), %r14
leaq -0xb0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x57e3(%rip), %rsi      # 0x116f8
leaq 0x57e8(%rip), %rdx      # 0x11704
movq %r14, %rdi
callq 0x8ede
leaq -0xa0(%rbp), %r14
leaq -0x90(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x57c8(%rip), %rsi      # 0x11705
leaq 0x57cf(%rip), %rdx      # 0x11713
movq %r14, %rdi
callq 0x8ede
leaq -0x80(%rbp), %r14
leaq -0x70(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x57b5(%rip), %rsi      # 0x11714
leaq 0x57b1(%rip), %rdx      # 0x11717
movq %r14, %rdi
callq 0x8ede
movq %r13, -0x38(%rbp)
leaq 0x70(%r13), %rax
movq %rax, -0x40(%rbp)
xorl %r13d, %r13d
leaq -0x60(%rbp), %r15
movq %r12, %rax
xorl %ecx, %ecx
xorl %r14d, %r14d
movzbl (%rax), %edx
shll %cl, %edx
movslq %edx, %rdx
orq %rdx, %r14
addq $0x8, %rcx
incq %rax
cmpq $0x40, %rcx
jne 0xbf89
movq %r13, %rax
shlq $0x5, %rax
movq -0x220(%rbp,%rax), %rsi
movq %r15, %rdi
leaq -0x29(%rbp), %rdx
callq 0x8794
movq -0x40(%rbp), %rdi
movq %r15, %rsi
callq 0xd57a
movq %r14, (%rax)
movq -0x60(%rbp), %rdi
leaq -0x50(%rbp), %rax
cmpq %rax, %rdi
je 0xbfe4
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x7340
incq %r13
addq $0x8, %r12
cmpq $0xe, %r13
jne 0xbf81
movq -0x38(%rbp), %rdi
callq 0xb87a
movq $-0x1c0, %r14           # imm = 0xFE40
movq -0x10(%rbx), %rdi
cmpq %rdi, %rbx
je 0xc015
movq (%rbx), %rsi
incq %rsi
callq 0x7340
addq $-0x20, %rbx
addq $0x20, %r14
jne 0xc001
movb $0x1, %al
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xc092
jmp 0xc04d
jmp 0xc04d
jmp 0xc04d
jmp 0xc04d
jmp 0xc04d
jmp 0xc04d
jmp 0xc04d
jmp 0xc04d
jmp 0xc04d
jmp 0xc04d
jmp 0xc04d
jmp 0xc04d
movq %rax, %r12
cmpq %r14, %r15
je 0xc0dc
addq $-0x10, %r14
leaq -0x220(%rbp), %rbx
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0xc078
movq (%r14), %rsi
incq %rsi
callq 0x7340
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %rbx, %r14
movq %rax, %r14
jne 0xc064
jmp 0xc0dc
movq %rax, %r12
movq %r15, %r14
jmp 0xc050
movq %rax, %r12
jmp 0xc0b3
movq %rax, %r12
movq -0x60(%rbp), %rdi
leaq -0x50(%rbp), %rax
cmpq %rax, %rdi
je 0xc0b3
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x7340
xorl %r14d, %r14d
movq -0x80(%rbp,%r14), %rdi
leaq (%rbx,%r14), %rax
cmpq %rdi, %rax
je 0xc0cf
movq (%rax), %rsi
incq %rsi
callq 0x7340
addq $-0x20, %r14
cmpq $-0x1c0, %r14           # imm = 0xFE40
jne 0xc0b6
movq %r12, %rdi
callq 0x75b0