// File: kobanium[P]Ray/src/feature/Nakade.cpp
// Function: InitializeNakadeHash()
void
InitializeNakadeHash( void )
{
  int nakade3[6][3], nakade4[5][4], nakade5[9][5], nakade6[4][6];

  start = board_max / 2;

  // 3目のナカデ
  nakade3[0][0] = 0; nakade3[0][1] = 1;              nakade3[0][2] = 2;
  nakade3[1][0] = 0; nakade3[1][1] = board_size;     nakade3[1][2] = 2 * board_size;
  nakade3[2][0] = 0; nakade3[2][1] = 1;              nakade3[2][2] = board_size + 1;
  nakade3[3][0] = 0; nakade3[3][1] = board_size - 1; nakade3[3][2] = board_size;
  nakade3[4][0] = 0; nakade3[4][1] = board_size;     nakade3[4][2] = board_size + 1;
  nakade3[5][0] = 0; nakade3[5][1] = 1;              nakade3[5][2] = board_size;

  // 4目のナカデ
  nakade4[0][0] = 0;              nakade4[0][1] = board_size - 1; 
  nakade4[0][2] = board_size;     nakade4[0][3] = board_size + 1;
  nakade4[1][0] = 0;              nakade4[1][1] = board_size - 1; 
  nakade4[1][2] = board_size;     nakade4[1][3] = 2 * board_size; 
  nakade4[2][0] = 0;              nakade4[2][1] = board_size; 
  nakade4[2][2] = board_size + 1; nakade4[2][3] = 2 * board_size;
  nakade4[3][0] = 0;              nakade4[3][1] = 1; 
  nakade4[3][2] = 2;              nakade4[3][3] = board_size + 1;
  nakade4[4][0] = 0;              nakade4[4][1] = 1; 
  nakade4[4][2] = board_size;     nakade4[4][3] = board_size + 1;

  // 5目のナカデ
  nakade5[0][0] = 0;                  nakade5[0][1] = board_size - 1; nakade5[0][2] = board_size;
  nakade5[0][3] = board_size + 1;     nakade5[0][4] = 2 * board_size;
  nakade5[1][0] = 0;                  nakade5[1][1] = board_size - 1; nakade5[1][2] = board_size;
  nakade5[1][3] = 2 * board_size - 1; nakade5[1][4] = 2 * board_size;
  nakade5[2][0] = 0;                  nakade5[2][1] = 1;              nakade5[2][2] = board_size;
  nakade5[2][3] = board_size + 1;     nakade5[2][4] = board_size + 2;
  nakade5[3][0] = 0;                  nakade5[3][1] = 1;              nakade5[3][2] = board_size;
  nakade5[3][3] = board_size + 1;     nakade5[3][4] = 2 * board_size;
  nakade5[4][0] = 0;                  nakade5[4][1] = 1;              nakade5[4][2] = 2;
  nakade5[4][3] = board_size + 1;     nakade5[4][4] = board_size + 2;
  nakade5[5][0] = 0;                  nakade5[5][1] = board_size;     nakade5[5][2] = board_size + 1;
  nakade5[5][3] = 2 * board_size;     nakade5[5][4] = 2 * board_size + 1;
  nakade5[6][0] = 0;                  nakade5[6][1] = 1;              nakade5[6][2] = 2;
  nakade5[6][3] = board_size;         nakade5[6][4] = board_size + 1;
  nakade5[7][0] = 0;                  nakade5[7][1] = 1;              nakade5[7][2] = board_size;
  nakade5[7][3] = board_size + 1;     nakade5[7][4] = 2 * board_size + 1;
  nakade5[8][0] = 0;                  nakade5[8][1] = 1;              nakade5[8][2] = board_size - 1;
  nakade5[8][3] = board_size;         nakade5[8][4] = board_size + 1;

  nakade6[0][0] = 0;                  nakade6[0][1] = board_size - 1;     
  nakade6[0][2] = board_size;         nakade6[0][3] = board_size + 1; 
  nakade6[0][4] = 2 * board_size - 1; nakade6[0][5] = 2 * board_size;
  nakade6[1][0] = 0;                  nakade6[1][1] = 1; 
  nakade6[1][2] = board_size;         nakade6[1][3] = board_size + 1; 
  nakade6[1][4] = board_size + 2;     nakade6[1][5] = 2 * board_size;
  nakade6[2][0] = 0;                  nakade6[2][1] = 1;
  nakade6[2][2] = board_size - 1;     nakade6[2][3] = board_size; 
  nakade6[2][4] = board_size + 1;     nakade6[2][5] = 2 * board_size;
  nakade6[3][0] = 0;                  nakade6[3][1] = board_size - 1; 
  nakade6[3][2] = board_size;         nakade6[3][3] = board_size + 1; 
  nakade6[3][4] = 2 * board_size;     nakade6[3][5] = 2 * board_size + 1;

  nakade_pos[0][0] = 1;
  nakade_pos[0][1] = board_size;
  nakade_pos[0][2] = 1;
  nakade_pos[0][3] = board_size;
  nakade_pos[0][4] = board_size;
  nakade_pos[0][5] = 0;

  nakade_pos[1][0] = board_size;
  nakade_pos[1][1] = board_size;
  nakade_pos[1][2] = board_size;
  nakade_pos[1][3] = 1;
  nakade_pos[1][4] = 0;

  nakade_pos[2][0] = board_size;
  nakade_pos[2][1] = board_size;
  nakade_pos[2][2] = board_size + 1;
  nakade_pos[2][3] = board_size;
  nakade_pos[2][4] = 1;
  nakade_pos[2][5] = board_size;
  nakade_pos[2][6] = 1;
  nakade_pos[2][7] = board_size + 1;
  nakade_pos[2][8] = board_size;

  nakade_pos[3][0] = board_size;
  nakade_pos[3][1] = board_size + 1;
  nakade_pos[3][2] = board_size;
  nakade_pos[3][3] = board_size;

  for (int i = 0; i < NAKADE_3; i++) {
    nakade_hash[0][i] = 0;
    for (int j = 0; j < 3; j++) {
      nakade_hash[0][i] ^= shape_bit[start + nakade3[i][j]];
    }
  }

  for (int i = 0; i < NAKADE_4; i++) {
    nakade_hash[1][i] = 0;
    for (int j = 0; j < 4; j++) {
      nakade_hash[1][i] ^= shape_bit[start + nakade4[i][j]];
    }
  }

  for (int i = 0; i < NAKADE_5; i++) {
    nakade_hash[2][i] = 0;
    for (int j = 0; j < 5; j++) {
      nakade_hash[2][i] ^= shape_bit[start + nakade5[i][j]];
    }
  }

  for (int i = 0; i < NAKADE_6; i++) {
    nakade_hash[3][i] = 0;
    for (int j = 0; j < 6; j++) {
      nakade_hash[3][i] ^= shape_bit[start + nakade6[i][j]];
    }
  }

  // 初期化
  for (int i = 0; i < PAT3_MAX; i++) {
    nakade_pat3_mask[i] = 0xffff;
  }

  // ナカデが出現しないパターンの初期化
  for (int i = 0; i < 134; i++) {
    unsigned int tmp_pat3[16];
    Pat3Transpose16(nakade_none[i], tmp_pat3);
    for (int j = 0; j < 16; j++) {
      nakade_pat3_mask[tmp_pat3[j]] = 0;
    }
  }

  // ナカデが出現しうるパターンの初期化
  for (int i = 0; i < 446; i++) {
    unsigned int tmp_pat3[16], tmp_mask[16];
    Pat3Transpose16(nakade_mask[i][0], tmp_pat3);
    Pat3Transpose16(nakade_mask[i][1], tmp_mask);
    for (int j = 0; j < 16; j++) {
      nakade_pat3_mask[tmp_pat3[j]] = tmp_mask[j];
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2d0, %rsp            # imm = 0x2D0
leaq 0x44116(%rip), %rax     # 0xe7a48
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, 0x44126(%rip)     # 0xe7a68
movl $0x0, -0x50(%rbp)
movl $0x1, -0x4c(%rbp)
movl $0x2, -0x48(%rbp)
movl $0x0, -0x44(%rbp)
leaq 0x440e7(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x40(%rbp)
leaq 0x440db(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0x3c(%rbp)
movl $0x0, -0x38(%rbp)
movl $0x1, -0x34(%rbp)
leaq 0x440bf(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
leaq 0x440a9(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x28(%rbp)
leaq 0x4409a(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x24(%rbp)
movl $0x0, -0x20(%rbp)
leaq 0x44087(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x1c(%rbp)
leaq 0x4407b(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x1, -0x10(%rbp)
leaq 0x4405e(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0xc(%rbp)
movl $0x0, -0xa0(%rbp)
leaq 0x44048(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x9c(%rbp)
leaq 0x44036(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x98(%rbp)
leaq 0x44027(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x94(%rbp)
movl $0x0, -0x90(%rbp)
leaq 0x4400b(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x8c(%rbp)
leaq 0x43ff9(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x88(%rbp)
leaq 0x43fea(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0x84(%rbp)
movl $0x0, -0x80(%rbp)
leaq 0x43fd2(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x7c(%rbp)
leaq 0x43fc6(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x78(%rbp)
leaq 0x43fb7(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0x74(%rbp)
movl $0x0, -0x70(%rbp)
movl $0x1, -0x6c(%rbp)
movl $0x2, -0x68(%rbp)
leaq 0x43f94(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
movl $0x0, -0x60(%rbp)
movl $0x1, -0x5c(%rbp)
leaq 0x43f77(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x58(%rbp)
leaq 0x43f6b(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x54(%rbp)
movl $0x0, -0x160(%rbp)
leaq 0x43f52(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x15c(%rbp)
leaq 0x43f40(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x158(%rbp)
leaq 0x43f31(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x154(%rbp)
leaq 0x43f1f(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0x150(%rbp)
movl $0x0, -0x14c(%rbp)
leaq 0x43f04(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x148(%rbp)
leaq 0x43ef2(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x144(%rbp)
leaq 0x43ee3(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
subl $0x1, %eax
movl %eax, -0x140(%rbp)
leaq 0x43ecf(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0x13c(%rbp)
movl $0x0, -0x138(%rbp)
movl $0x1, -0x134(%rbp)
leaq 0x43eaa(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x130(%rbp)
leaq 0x43e9b(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x12c(%rbp)
leaq 0x43e89(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x2, %eax
movl %eax, -0x128(%rbp)
movl $0x0, -0x124(%rbp)
movl $0x1, -0x120(%rbp)
leaq 0x43e63(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x11c(%rbp)
leaq 0x43e54(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x118(%rbp)
leaq 0x43e42(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0x114(%rbp)
movl $0x0, -0x110(%rbp)
movl $0x1, -0x10c(%rbp)
movl $0x2, -0x108(%rbp)
leaq 0x43e13(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
leaq 0x43e01(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x2, %eax
movl %eax, -0x100(%rbp)
movl $0x0, -0xfc(%rbp)
leaq 0x43de5(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0xf8(%rbp)
leaq 0x43dd6(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0xf4(%rbp)
leaq 0x43dc4(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0xf0(%rbp)
leaq 0x43db3(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
addl $0x1, %eax
movl %eax, -0xec(%rbp)
movl $0x0, -0xe8(%rbp)
movl $0x1, -0xe4(%rbp)
movl $0x2, -0xe0(%rbp)
leaq 0x43d81(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0xdc(%rbp)
leaq 0x43d72(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0xd8(%rbp)
movl $0x0, -0xd4(%rbp)
movl $0x1, -0xd0(%rbp)
leaq 0x43d4c(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0xcc(%rbp)
leaq 0x43d3d(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0xc8(%rbp)
leaq 0x43d2b(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
movl $0x0, -0xc0(%rbp)
movl $0x1, -0xbc(%rbp)
leaq 0x43d03(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0xb8(%rbp)
leaq 0x43cf1(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0xb4(%rbp)
leaq 0x43ce2(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
movl $0x0, -0x1c0(%rbp)
leaq 0x43cc6(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x1bc(%rbp)
leaq 0x43cb4(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x1b8(%rbp)
leaq 0x43ca5(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x1b4(%rbp)
leaq 0x43c93(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
subl $0x1, %eax
movl %eax, -0x1b0(%rbp)
leaq 0x43c7f(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0x1ac(%rbp)
movl $0x0, -0x1a8(%rbp)
movl $0x1, -0x1a4(%rbp)
leaq 0x43c5a(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x1a0(%rbp)
leaq 0x43c4b(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x19c(%rbp)
leaq 0x43c39(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x2, %eax
movl %eax, -0x198(%rbp)
leaq 0x43c27(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0x194(%rbp)
movl $0x0, -0x190(%rbp)
movl $0x1, -0x18c(%rbp)
leaq 0x43c02(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x188(%rbp)
leaq 0x43bf0(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x184(%rbp)
leaq 0x43be1(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x180(%rbp)
leaq 0x43bcf(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0x17c(%rbp)
movl $0x0, -0x178(%rbp)
leaq 0x43bb4(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x174(%rbp)
leaq 0x43ba2(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, -0x170(%rbp)
leaq 0x43b93(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, -0x16c(%rbp)
leaq 0x43b81(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
movl %eax, -0x168(%rbp)
leaq 0x43b70(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
shll %eax
addl $0x1, %eax
movl %eax, -0x164(%rbp)
movl $0x1, 0x1c70398d(%rip)  # 0x1c7a7880
leaq 0x43b52(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c703982(%rip)  # 0x1c7a7884
movl $0x1, 0x1c70397c(%rip)  # 0x1c7a7888
leaq 0x43b39(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c703971(%rip)  # 0x1c7a788c
leaq 0x43b2a(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c703966(%rip)  # 0x1c7a7890
movl $0x0, 0x1c703960(%rip)  # 0x1c7a7894
leaq 0x43b11(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c703961(%rip)  # 0x1c7a78a4
leaq 0x43b02(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c703956(%rip)  # 0x1c7a78a8
leaq 0x43af3(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c70394b(%rip)  # 0x1c7a78ac
movl $0x1, 0x1c703945(%rip)  # 0x1c7a78b0
movl $0x0, 0x1c70393f(%rip)  # 0x1c7a78b4
leaq 0x43ad0(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c703944(%rip)  # 0x1c7a78c8
leaq 0x43ac1(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c703939(%rip)  # 0x1c7a78cc
leaq 0x43ab2(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, 0x1c70392b(%rip)  # 0x1c7a78d0
leaq 0x43aa0(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c703920(%rip)  # 0x1c7a78d4
movl $0x1, 0x1c70391a(%rip)  # 0x1c7a78d8
leaq 0x43a87(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c70390f(%rip)  # 0x1c7a78dc
movl $0x1, 0x1c703909(%rip)  # 0x1c7a78e0
leaq 0x43a6e(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, 0x1c7038fb(%rip)  # 0x1c7a78e4
leaq 0x43a5c(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c7038f0(%rip)  # 0x1c7a78e8
leaq 0x43a4d(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c7038e5(%rip)  # 0x1c7a78ec
leaq 0x43a3e(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
addl $0x1, %eax
movl %eax, 0x1c7038d7(%rip)  # 0x1c7a78f0
leaq 0x43a2c(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c7038cc(%rip)  # 0x1c7a78f4
leaq 0x43a1d(%rip), %rax     # 0xe7a4c
movl (%rax), %eax
movl %eax, 0x1c7038c1(%rip)  # 0x1c7a78f8
movl $0x0, -0x1c4(%rbp)
cmpl $0x6, -0x1c4(%rbp)
jge 0xa40eb
movslq -0x1c4(%rbp), %rcx
leaq 0x1c7038b4(%rip), %rax  # 0x1c7a7910
movq $0x0, (%rax,%rcx,8)
movl $0x0, -0x1c8(%rbp)
cmpl $0x3, -0x1c8(%rbp)
jge 0xa40d5
movl 0x439eb(%rip), %eax     # 0xe7a68
movslq -0x1c4(%rbp), %rdx
leaq -0x50(%rbp), %rcx
imulq $0xc, %rdx, %rdx
addq %rdx, %rcx
movslq -0x1c8(%rbp), %rdx
addl (%rcx,%rdx,4), %eax
movslq %eax, %rcx
leaq 0x1c70171d(%rip), %rax  # 0x1c7a57c0
movq (%rax,%rcx,8), %rdx
movslq -0x1c4(%rbp), %rcx
leaq 0x1c70385b(%rip), %rax  # 0x1c7a7910
xorq (%rax,%rcx,8), %rdx
leaq 0x1c703850(%rip), %rax  # 0x1c7a7910
movq %rdx, (%rax,%rcx,8)
movl -0x1c8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c8(%rbp)
jmp 0xa406e
jmp 0xa40d7
movl -0x1c4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c4(%rbp)
jmp 0xa4041
movl $0x0, -0x1cc(%rbp)
cmpl $0x5, -0x1cc(%rbp)
jge 0xa41a5
movslq -0x1cc(%rbp), %rcx
leaq 0x1c703800(%rip), %rax  # 0x1c7a7910
movq $0x0, 0x48(%rax,%rcx,8)
movl $0x0, -0x1d0(%rbp)
cmpl $0x4, -0x1d0(%rbp)
jge 0xa418f
movl 0x43936(%rip), %eax     # 0xe7a68
movslq -0x1cc(%rbp), %rdx
leaq -0xa0(%rbp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movslq -0x1d0(%rbp), %rdx
addl (%rcx,%rdx,4), %eax
movslq %eax, %rcx
leaq 0x1c701665(%rip), %rax  # 0x1c7a57c0
movq (%rax,%rcx,8), %rdx
movslq -0x1cc(%rbp), %rcx
leaq 0x1c7037a3(%rip), %rax  # 0x1c7a7910
xorq 0x48(%rax,%rcx,8), %rdx
leaq 0x1c703797(%rip), %rax  # 0x1c7a7910
movq %rdx, 0x48(%rax,%rcx,8)
movl -0x1d0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1d0(%rbp)
jmp 0xa4123
jmp 0xa4191
movl -0x1cc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1cc(%rbp)
jmp 0xa40f5
movl $0x0, -0x1d4(%rbp)
cmpl $0x9, -0x1d4(%rbp)
jge 0xa4268
movslq -0x1d4(%rbp), %rcx
leaq 0x1c703746(%rip), %rax  # 0x1c7a7910
movq $0x0, 0x90(%rax,%rcx,8)
movl $0x0, -0x1d8(%rbp)
cmpl $0x5, -0x1d8(%rbp)
jge 0xa4252
movl 0x43879(%rip), %eax     # 0xe7a68
movslq -0x1d4(%rbp), %rdx
leaq -0x160(%rbp), %rcx
imulq $0x14, %rdx, %rdx
addq %rdx, %rcx
movslq -0x1d8(%rbp), %rdx
addl (%rcx,%rdx,4), %eax
movslq %eax, %rcx
leaq 0x1c7015a8(%rip), %rax  # 0x1c7a57c0
movq (%rax,%rcx,8), %rdx
movslq -0x1d4(%rbp), %rcx
leaq 0x1c7036e6(%rip), %rax  # 0x1c7a7910
xorq 0x90(%rax,%rcx,8), %rdx
leaq 0x1c7036d7(%rip), %rax  # 0x1c7a7910
movq %rdx, 0x90(%rax,%rcx,8)
movl -0x1d8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1d8(%rbp)
jmp 0xa41e0
jmp 0xa4254
movl -0x1d4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1d4(%rbp)
jmp 0xa41af
movl $0x0, -0x1dc(%rbp)
cmpl $0x4, -0x1dc(%rbp)
jge 0xa432b
movslq -0x1dc(%rbp), %rcx
leaq 0x1c703683(%rip), %rax  # 0x1c7a7910
movq $0x0, 0xd8(%rax,%rcx,8)
movl $0x0, -0x1e0(%rbp)
cmpl $0x6, -0x1e0(%rbp)
jge 0xa4315
movl 0x437b6(%rip), %eax     # 0xe7a68
movslq -0x1dc(%rbp), %rdx
leaq -0x1c0(%rbp), %rcx
imulq $0x18, %rdx, %rdx
addq %rdx, %rcx
movslq -0x1e0(%rbp), %rdx
addl (%rcx,%rdx,4), %eax
movslq %eax, %rcx
leaq 0x1c7014e5(%rip), %rax  # 0x1c7a57c0
movq (%rax,%rcx,8), %rdx
movslq -0x1dc(%rbp), %rcx
leaq 0x1c703623(%rip), %rax  # 0x1c7a7910
xorq 0xd8(%rax,%rcx,8), %rdx
leaq 0x1c703614(%rip), %rax  # 0x1c7a7910
movq %rdx, 0xd8(%rax,%rcx,8)
movl -0x1e0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1e0(%rbp)
jmp 0xa42a3
jmp 0xa4317
movl -0x1dc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1dc(%rbp)
jmp 0xa4272
movl $0x0, -0x1e4(%rbp)
cmpl $0x10000, -0x1e4(%rbp)  # imm = 0x10000
jge 0xa4367
movslq -0x1e4(%rbp), %rcx
leaq 0x1c7036e1(%rip), %rax  # 0x1c7a7a30
movl $0xffff, (%rax,%rcx,4)  # imm = 0xFFFF
movl -0x1e4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1e4(%rbp)
jmp 0xa4335
movl $0x0, -0x1e8(%rbp)
cmpl $0x86, -0x1e8(%rbp)
jge 0xa43ef
movslq -0x1e8(%rbp), %rcx
leaq 0xca95(%rip), %rax      # 0xb0e20
movl (%rax,%rcx,4), %edi
leaq -0x230(%rbp), %rsi
callq 0x92da0
movl $0x0, -0x234(%rbp)
cmpl $0x10, -0x234(%rbp)
jge 0xa43dc
movslq -0x234(%rbp), %rax
movl -0x230(%rbp,%rax,4), %eax
movl %eax, %ecx
leaq 0x1c70366c(%rip), %rax  # 0x1c7a7a30
movl $0x0, (%rax,%rcx,4)
movl -0x234(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x234(%rbp)
jmp 0xa43a4
jmp 0xa43de
movl -0x1e8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1e8(%rbp)
jmp 0xa4371
movl $0x0, -0x238(%rbp)
cmpl $0x1be, -0x238(%rbp)    # imm = 0x1BE
jge 0xa44a6
movslq -0x238(%rbp), %rcx
leaq 0xbc09(%rip), %rax      # 0xb0020
movl (%rax,%rcx,8), %edi
leaq -0x280(%rbp), %rsi
callq 0x92da0
movslq -0x238(%rbp), %rcx
leaq 0xbbec(%rip), %rax      # 0xb0020
movl 0x4(%rax,%rcx,8), %edi
leaq -0x2c0(%rbp), %rsi
callq 0x92da0
movl $0x0, -0x2c4(%rbp)
cmpl $0x10, -0x2c4(%rbp)
jge 0xa4490
movslq -0x2c4(%rbp), %rax
movl -0x2c0(%rbp,%rax,4), %edx
movslq -0x2c4(%rbp), %rax
movl -0x280(%rbp,%rax,4), %eax
movl %eax, %ecx
leaq 0x1c7035b4(%rip), %rax  # 0x1c7a7a30
movl %edx, (%rax,%rcx,4)
movl -0x2c4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c4(%rbp)
jmp 0xa444e
jmp 0xa4492
movl -0x238(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x238(%rbp)
jmp 0xa43f9
addq $0x2d0, %rsp            # imm = 0x2D0
popq %rbp
retq
nop