// File: /workspace/github_cpp_makefile_star2_O3/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 0xb856
movq %rax, %r12
leaq -0x210(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5989(%rip), %rsi      # 0x1167d
leaq 0x5992(%rip), %rdx      # 0x1168d
leaq -0x220(%rbp), %rbx
movq %rbx, %rdi
callq 0x8eb8
leaq -0x200(%rbp), %r15
leaq -0x1f0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x596b(%rip), %rsi      # 0x1168e
leaq 0x5967(%rip), %rdx      # 0x11691
movq %r15, %rdi
callq 0x8eb8
leaq -0x1e0(%rbp), %r15
leaq -0x1d0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5947(%rip), %rsi      # 0x11692
leaq 0x594e(%rip), %rdx      # 0x116a0
movq %r15, %rdi
callq 0x8eb8
leaq -0x1c0(%rbp), %r15
leaq -0x1b0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x592e(%rip), %rsi      # 0x116a1
leaq 0x592f(%rip), %rdx      # 0x116a9
movq %r15, %rdi
callq 0x8eb8
leaq -0x1a0(%rbp), %r15
leaq -0x190(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x590f(%rip), %rsi      # 0x116aa
leaq 0x5910(%rip), %rdx      # 0x116b2
movq %r15, %rdi
callq 0x8eb8
leaq -0x180(%rbp), %r15
leaq -0x170(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x58f0(%rip), %rsi      # 0x116b3
leaq 0x58f0(%rip), %rdx      # 0x116ba
movq %r15, %rdi
callq 0x8eb8
leaq -0x160(%rbp), %r15
leaq -0x150(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x58d0(%rip), %rsi      # 0x116bb
leaq 0x58da(%rip), %rdx      # 0x116cc
movq %r15, %rdi
callq 0x8eb8
leaq -0x140(%rbp), %r15
leaq -0x130(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x58ba(%rip), %rsi      # 0x116cd
leaq 0x58c2(%rip), %rdx      # 0x116dc
movq %r15, %rdi
callq 0x8eb8
leaq -0x120(%rbp), %r15
leaq -0x110(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x58a2(%rip), %rsi      # 0x116dd
leaq 0x58aa(%rip), %rdx      # 0x116ec
movq %r15, %rdi
callq 0x8eb8
leaq -0x100(%rbp), %r15
leaq -0xf0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x588a(%rip), %rsi      # 0x116ed
leaq 0x5887(%rip), %rdx      # 0x116f1
movq %r15, %rdi
callq 0x8eb8
leaq -0xe0(%rbp), %r15
leaq -0xd0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5867(%rip), %rsi      # 0x116f2
leaq 0x5865(%rip), %rdx      # 0x116f7
movq %r15, %rdi
callq 0x8eb8
leaq -0xc0(%rbp), %r15
leaq -0xb0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5845(%rip), %rsi      # 0x116f8
leaq 0x584a(%rip), %rdx      # 0x11704
movq %r15, %rdi
callq 0x8eb8
leaq -0xa0(%rbp), %r15
leaq -0x90(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x582a(%rip), %rsi      # 0x11705
leaq 0x5831(%rip), %rdx      # 0x11713
movq %r15, %rdi
callq 0x8eb8
leaq -0x80(%rbp), %r15
leaq -0x70(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x5817(%rip), %rsi      # 0x11714
leaq 0x5813(%rip), %rdx      # 0x11717
movq %r15, %rdi
callq 0x8eb8
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 %ebx, %ebx
movzbl (%rax), %edx
shll %cl, %edx
movslq %edx, %rdx
orq %rdx, %rbx
addq $0x8, %rcx
incq %rax
cmpq $0x40, %rcx
jne 0xbf26
movq %r13, %rax
shlq $0x5, %rax
movq -0x220(%rbp,%rax), %rsi
movq %r15, %rdi
leaq -0x29(%rbp), %rdx
callq 0x8770
movq -0x40(%rbp), %rdi
movq %r15, %rsi
callq 0xd514
movq %rbx, (%rax)
movq -0x60(%rbp), %rdi
leaq -0x50(%rbp), %rax
cmpq %rax, %rdi
je 0xbf81
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x7340
incq %r13
addq $0x8, %r12
cmpq $0xe, %r13
jne 0xbf1f
movq -0x38(%rbp), %rdi
callq 0xb856
movq $-0x1c0, %rbx           # imm = 0xFE40
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0xbfb2
movq (%r14), %rsi
incq %rsi
callq 0x7340
addq $-0x20, %r14
addq $0x20, %rbx
jne 0xbf9e
movb $0x1, %al
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xc017
jmp 0xbfea
jmp 0xbfea
jmp 0xbfea
jmp 0xbfea
jmp 0xbfea
jmp 0xbfea
jmp 0xbfea
jmp 0xbfea
jmp 0xbfea
jmp 0xbfea
jmp 0xbfea
jmp 0xbfea
movq %rax, %r12
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0xc005
movq (%r15), %rsi
incq %rsi
callq 0x7340
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0xbff1
jmp 0xc060
movq %rax, %r12
jmp 0xc038
movq %rax, %r12
movq -0x60(%rbp), %rdi
leaq -0x50(%rbp), %rax
cmpq %rax, %rdi
je 0xc038
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x7340
xorl %ebx, %ebx
movq -0x80(%rbp,%rbx), %rdi
leaq (%r14,%rbx), %rax
cmpq %rdi, %rax
je 0xc053
movq (%rax), %rsi
incq %rsi
callq 0x7340
addq $-0x20, %rbx
cmpq $-0x1c0, %rbx           # imm = 0xFE40
jne 0xc03a
movq %r12, %rdi
callq 0x75b0