// File: /workspace/github_cpp_makefile_star2_O3/Kei18[P]pibt/./src/solver/iecbs.cpp
// Function: iECBS::init()
void iECBS::init() {
  w2 = 2;
  wdists = Eigen::MatrixXf::Zero(G->getNodesNum(), G->getNodesNum());
  highwayFile = G->getMapName() + ".highway";
  std::ifstream file(highwayFile);
  if (!file) {
    std::cout << "error@iECBS::init, file "
              << highwayFile
              << " does not exist" << "\n";
    std::exit(1);
  }

  int w = G->getW();
  int x, y;
  std::string key, line;
  Node *v, *u;

  y = 0;
  while (getline(file, line)) {
    if (line.size() != w) {
      std::cout << "error@iECBS::init, width is different, "
                << "not " << line.size() << ", should be " << w << "\n";
      std::exit(1);
    }

    x = 0;
    for (auto s : line) {
      v = G->getNode(x, y);
      if (v == nullptr) {
        ++x;
        continue;
      }

      // right
      u = G->getNode(x + 1, y);
      if (u != nullptr) {
        key = std::to_string(v->getId()) + "-" + std::to_string(u->getId());
        if (s == 'r' || s == 'x' || s == 'z') {
          highway.emplace(key, 1);
        } else {
          highway.emplace(key, w2);
        }
      }

      // left
      u = G->getNode(x - 1, y);
      if (u != nullptr) {
        key = std::to_string(v->getId()) + "-" + std::to_string(u->getId());
        if (s == 'l' || s == 'y' || s == 'w') {
          highway.emplace(key, 1);
        } else {
          highway.emplace(key, w2);
        }
      }

      // up
      u = G->getNode(x, y - 1);
      if (u != nullptr) {
        key = std::to_string(v->getId()) + "-" + std::to_string(u->getId());
        if (s == 'u' || s == 'z' || s == 'w') {
          highway.emplace(key, 1);
        } else {
          highway.emplace(key, w2);
        }
      }

      // down
      u = G->getNode(x, y + 1);
      if (u != nullptr) {
        key = std::to_string(v->getId()) + "-" + std::to_string(u->getId());
        if (s == 'd' || s == 'x' || s == 'y') {
          highway.emplace(key, 1);
        } else {
          highway.emplace(key, w2);
        }
      }

      ++x;
    }
    ++y;
  }
  if (y != G->getH()) {
    std::cout << "error@iECBS::init, height is different, "
              << "not " << y + 1 << ", should be " << G->getH() << "\n";
    std::exit(1);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x328, %rsp            # imm = 0x328
movl $0x40000000, 0xe8(%rdi) # imm = 0x40000000
movq 0x38(%rdi), %rax
movq 0x18(%rax), %rcx
subq 0x10(%rax), %rcx
shrq $0x3, %rcx
movslq %ecx, %rax
movq %rax, 0x120(%rsp)
movq %rax, 0x128(%rsp)
movl $0x0, 0x130(%rsp)
testq %rax, %rax
js 0x328f8
movq %rdi, %r12
addq $0x148, %rdi            # imm = 0x148
leaq 0x120(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x357bf
movq 0x38(%r12), %rsi
movq (%rsi), %rax
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
callq *0x58(%rax)
leaq 0x18ecc(%rip), %rsi     # 0x4a7c0
movq %rbx, %rdi
callq 0x6690
leaq 0x130(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3192c
movq %rdx, 0x120(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x130(%rsp)
jmp 0x31933
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x120(%rsp), %r14
movq %rdx, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xf0(%r12), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6460
movq (%r14), %rdi
cmpq %r15, %rdi
je 0x3197d
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x6380
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3199e
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x6380
leaq 0x120(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movl $0x8, %edx
callq 0x6590
movq (%r15), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x140(%rsp,%rax)
movq %r12, 0x60(%rsp)
jne 0x32917
movq 0x38(%r12), %rdi
movq (%rdi), %rax
callq *(%rax)
movl %eax, %ebx
leaq 0xe8(%r12), %rax
movq %rax, 0xc8(%rsp)
leaq 0x90(%rsp), %rcx
leaq 0xa0(%rsp), %rax
movq %rax, (%rcx)
xorl %r14d, %r14d
movq %r14, 0x8(%rcx)
movb %r14b, 0x10(%rcx)
leaq 0xf8(%rsp), %rax
movq %rax, -0x10(%rax)
movq %r14, -0x8(%rax)
movb %r14b, (%rax)
movslq %ebx, %r13
leaq 0x110(%r12), %rax
movq %rax, 0x88(%rsp)
leaq 0x40(%rsp), %rbp
movl %ebx, 0xbc(%rsp)
movq %r13, 0x108(%rsp)
movq 0x120(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6350
movsbl %al, %edx
movq %r15, %rdi
leaq 0xe8(%rsp), %rsi
callq 0x6650
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x327f8
cmpq %r13, 0xf0(%rsp)
jne 0x32875
testl %ebx, %ebx
je 0x327f0
movq 0xe8(%rsp), %rax
leaq (%rax,%r13), %rcx
movq %rcx, 0x110(%rsp)
leal -0x1(%r14), %ecx
movl %ecx, 0xe4(%rsp)
leal 0x1(%r14), %ecx
movl %ecx, 0xc0(%rsp)
xorl %r13d, %r13d
movq %r14, 0xd0(%rsp)
movq %rax, 0x118(%rsp)
movzbl (%rax), %ebx
movq 0x38(%r12), %rdi
movl %r13d, %esi
movl %r14d, %edx
callq 0x1a12c
movq %rax, 0xb0(%rsp)
cmpq $0x0, 0xb0(%rsp)
je 0x31b87
movq 0x38(%r12), %rdi
leal 0x1(%r13), %esi
movl %esi, 0xc4(%rsp)
movl %r14d, %edx
callq 0x1a12c
movq %rax, %r15
testq %rax, %rax
movq %rbx, 0xd8(%rsp)
je 0x31e40
movq 0xb0(%rsp), %rax
movl (%rax), %r14d
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
jb 0x31ba0
movl $0x4, %r12d
movl %ebx, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x31b97
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x31b9d
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x31ba0
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x31b57
addl $-0x3, %r12d
jmp 0x31ba0
incl %r13d
movl %r13d, 0xc4(%rsp)
jmp 0x327a7
addl $-0x2, %r12d
jmp 0x31ba0
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %rbp
movq %rbp, %rdi
movl $0x2d, %edx
callq 0x6410
addq 0x68(%rsp), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0xb7a2
movq %rbp, %rdi
leaq 0x1a277(%rip), %rsi     # 0x4be57
callq 0x6690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31c0d
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x31c13
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x60(%rsp), %r12
leaq 0x40(%rsp), %rbp
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl (%r15), %r14d
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x31c92
movl $0x4, %r15d
movl %ebx, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x31c89
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x31c8f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x31c92
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x31c59
addl $-0x3, %r15d
jmp 0x31c92
addl $-0x2, %r15d
jmp 0x31c92
decl %r15d
shrl $0x1f, %r14d
leal (%r15,%r14), %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
movl $0x2d, %edx
callq 0x6410
addq (%rsp), %r14
movq %r14, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0xb7a2
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %r14
cmpq %r14, %rcx
je 0x31cda
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq 0x50(%rsp), %rbx
jbe 0x31d0f
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x31d0a
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x31d1b
leaq 0x20(%rsp), %rdi
callq 0x6120
jmp 0x31d27
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x63d0
movq %rbx, 0x40(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x31d47
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x31d4d
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x90(%rsp), %rdi
movq %rbp, %rsi
callq 0x6460
movq 0x40(%rsp), %rdi
cmpq %rbx, %rdi
je 0x31d91
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6380
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
movq 0xd8(%rsp), %rbx
je 0x31db4
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x31dcb
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
movq 0xd0(%rsp), %r14
je 0x31def
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x6380
leal -0x72(%rbx), %eax
cmpl $0x8, %eax
ja 0x31e23
movl $0x141, %ecx            # imm = 0x141
btl %eax, %ecx
jae 0x31e23
movl $0x1, 0x40(%rsp)
movq 0x88(%rsp), %rdi
leaq 0x90(%rsp), %rsi
movq %rbp, %rdx
callq 0x35a9e
jmp 0x31e40
movq 0x88(%rsp), %rdi
leaq 0x90(%rsp), %rsi
movq 0xc8(%rsp), %rdx
callq 0x35e8e
movq 0x38(%r12), %rdi
leal -0x1(%r13), %esi
movl %r14d, %edx
callq 0x1a12c
movq %rax, %r15
testq %rax, %rax
je 0x32162
movq 0xb0(%rsp), %rax
movl (%rax), %r14d
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
jb 0x31ec2
movl $0x4, %r12d
movl %ebx, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x31eb9
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x31ebf
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x31ec2
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x31e89
addl $-0x3, %r12d
jmp 0x31ec2
addl $-0x2, %r12d
jmp 0x31ec2
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %rbp
movq %rbp, %rdi
movl $0x2d, %edx
callq 0x6410
addq 0x68(%rsp), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0xb7a2
movq %rbp, %rdi
leaq 0x19f55(%rip), %rsi     # 0x4be57
callq 0x6690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31f2f
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x31f35
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x60(%rsp), %r12
leaq 0x40(%rsp), %rbp
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl (%r15), %r14d
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x31fb4
movl $0x4, %r15d
movl %ebx, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x31fab
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x31fb1
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x31fb4
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x31f7b
addl $-0x3, %r15d
jmp 0x31fb4
addl $-0x2, %r15d
jmp 0x31fb4
decl %r15d
shrl $0x1f, %r14d
leal (%r15,%r14), %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
movl $0x2d, %edx
callq 0x6410
addq (%rsp), %r14
movq %r14, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0xb7a2
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %r14
cmpq %r14, %rcx
je 0x31ffc
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq 0x50(%rsp), %rbx
jbe 0x32031
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x3202c
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x3203d
leaq 0x20(%rsp), %rdi
callq 0x6120
jmp 0x32049
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x63d0
movq %rbx, 0x40(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x32069
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x3206f
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x90(%rsp), %rdi
movq %rbp, %rsi
callq 0x6460
movq 0x40(%rsp), %rdi
cmpq %rbx, %rdi
je 0x320b3
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6380
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
movq 0xd8(%rsp), %rbx
je 0x320d6
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x320ed
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
movq 0xd0(%rsp), %r14
je 0x32111
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x6380
leal -0x6c(%rbx), %eax
cmpl $0xd, %eax
ja 0x32145
movl $0x2801, %ecx           # imm = 0x2801
btl %eax, %ecx
jae 0x32145
movl $0x1, 0x40(%rsp)
movq 0x88(%rsp), %rdi
leaq 0x90(%rsp), %rsi
movq %rbp, %rdx
callq 0x35a9e
jmp 0x32162
movq 0x88(%rsp), %rdi
leaq 0x90(%rsp), %rsi
movq 0xc8(%rsp), %rdx
callq 0x35e8e
movq 0x38(%r12), %rdi
movl %r13d, %esi
movl 0xe4(%rsp), %edx
callq 0x1a12c
movq %rax, %r15
testq %rax, %rax
je 0x32487
movq 0xb0(%rsp), %rax
movl (%rax), %r14d
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
jb 0x321e7
movl $0x4, %r12d
movl %ebx, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x321de
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x321e4
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x321e7
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x321ae
addl $-0x3, %r12d
jmp 0x321e7
addl $-0x2, %r12d
jmp 0x321e7
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %rbp
movq %rbp, %rdi
movl $0x2d, %edx
callq 0x6410
addq 0x68(%rsp), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0xb7a2
movq %rbp, %rdi
leaq 0x19c30(%rip), %rsi     # 0x4be57
callq 0x6690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x32254
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x3225a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x60(%rsp), %r12
leaq 0x40(%rsp), %rbp
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl (%r15), %r14d
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x322d9
movl $0x4, %r15d
movl %ebx, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x322d0
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x322d6
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x322d9
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x322a0
addl $-0x3, %r15d
jmp 0x322d9
addl $-0x2, %r15d
jmp 0x322d9
decl %r15d
shrl $0x1f, %r14d
leal (%r15,%r14), %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
movl $0x2d, %edx
callq 0x6410
addq (%rsp), %r14
movq %r14, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0xb7a2
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %r14
cmpq %r14, %rcx
je 0x32321
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq 0x50(%rsp), %rbx
jbe 0x32356
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x32351
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x32362
leaq 0x20(%rsp), %rdi
callq 0x6120
jmp 0x3236e
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x63d0
movq %rbx, 0x40(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x3238e
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x32394
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x90(%rsp), %rdi
movq %rbp, %rsi
callq 0x6460
movq 0x40(%rsp), %rdi
cmpq %rbx, %rdi
je 0x323d8
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6380
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
movq 0xd8(%rsp), %rbx
je 0x323fb
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x32412
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
movq 0xd0(%rsp), %r14
je 0x32436
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x6380
leal -0x75(%rbx), %eax
cmpl $0x5, %eax
ja 0x3246a
movl $0x25, %ecx
btl %eax, %ecx
jae 0x3246a
movl $0x1, 0x40(%rsp)
movq 0x88(%rsp), %rdi
leaq 0x90(%rsp), %rsi
movq %rbp, %rdx
callq 0x35a9e
jmp 0x32487
movq 0x88(%rsp), %rdi
leaq 0x90(%rsp), %rsi
movq 0xc8(%rsp), %rdx
callq 0x35e8e
movq 0x38(%r12), %rdi
movl %r13d, %esi
movl 0xc0(%rsp), %edx
callq 0x1a12c
movq %rax, %r15
testq %rax, %rax
je 0x327a7
movq 0xb0(%rsp), %rax
movl (%rax), %r14d
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
jb 0x3250c
movl $0x4, %r12d
movl %ebx, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x32503
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x32509
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3250c
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x324d3
addl $-0x3, %r12d
jmp 0x3250c
addl $-0x2, %r12d
jmp 0x3250c
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x6410
addq 0x68(%rsp), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0xb7a2
movq %r13, %rdi
leaq 0x1990b(%rip), %rsi     # 0x4be57
callq 0x6690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x32579
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x3257f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x60(%rsp), %r12
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl (%r15), %r14d
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x325f9
movl $0x4, %r15d
movl %ebx, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x325f0
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x325f6
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x325f9
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x325c0
addl $-0x3, %r15d
jmp 0x325f9
addl $-0x2, %r15d
jmp 0x325f9
decl %r15d
shrl $0x1f, %r14d
leal (%r15,%r14), %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
movl $0x2d, %edx
callq 0x6410
addq (%rsp), %r14
movq %r14, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0xb7a2
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %r14
cmpq %r14, %rcx
je 0x32641
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq 0x50(%rsp), %rbx
jbe 0x32676
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x32671
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x32682
leaq 0x20(%rsp), %rdi
callq 0x6120
jmp 0x3268e
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x63d0
movq %rbx, 0x40(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x326ae
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x326b4
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x90(%rsp), %rdi
movq %rbp, %rsi
callq 0x6460
movq 0x40(%rsp), %rdi
cmpq %rbx, %rdi
je 0x326f8
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6380
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
movq 0xd8(%rsp), %rbx
je 0x3271b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x32732
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
movq 0xd0(%rsp), %r14
je 0x32756
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x6380
addl $-0x64, %ebx
cmpl $0x15, %ebx
ja 0x3278a
movl $0x300001, %eax         # imm = 0x300001
btl %ebx, %eax
jae 0x3278a
movl $0x1, 0x40(%rsp)
movq 0x88(%rsp), %rdi
leaq 0x90(%rsp), %rsi
movq %rbp, %rdx
callq 0x35a9e
jmp 0x327a7
movq 0x88(%rsp), %rdi
leaq 0x90(%rsp), %rsi
movq 0xc8(%rsp), %rdx
callq 0x35e8e
movq 0x118(%rsp), %rax
incq %rax
movl 0xc4(%rsp), %ecx
movl %ecx, %r13d
cmpq 0x110(%rsp), %rax
jne 0x31acd
movl 0xc0(%rsp), %eax
movl %eax, %r14d
movl 0xbc(%rsp), %ebx
leaq 0x120(%rsp), %r15
movq 0x108(%rsp), %r13
jmp 0x31a44
incl %r14d
jmp 0x31a44
movq 0x38(%r12), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
cmpl %eax, %r14d
jne 0x32979
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x32831
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x32856
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x6380
leaq 0x120(%rsp), %rdi
callq 0x60f0
addq $0x328, %rsp            # imm = 0x328
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x2f72c(%rip), %rdi     # 0x61fa8
leaq 0x17f5f(%rip), %rsi     # 0x4a7e2
movl $0x27, %edx
callq 0x63f0
movq 0x2f714(%rip), %rdi     # 0x61fa8
leaq 0x18dad(%rip), %rsi     # 0x4b648
movl $0x4, %edx
callq 0x63f0
movq 0xf0(%rsp), %rsi
movq 0x2f6f4(%rip), %rdi     # 0x61fa8
callq 0x6270
movq %rax, %rbx
leaq 0x176a3(%rip), %rsi     # 0x49f66
movl $0xc, %edx
movq %rax, %rdi
callq 0x63f0
movq %rbx, %rdi
movl 0xbc(%rsp), %esi
callq 0x6610
leaq 0x15c7d(%rip), %rsi     # 0x48563
movq %rax, %rdi
callq 0x6360
movl $0x1, %edi
callq 0x6440
leaq 0x17f92(%rip), %rdi     # 0x4a891
leaq 0x18020(%rip), %rsi     # 0x4a926
leaq 0x1804d(%rip), %rcx     # 0x4a95a
movl $0x4a, %edx
callq 0x6260
movq 0x2f68a(%rip), %rdi     # 0x61fa8
leaq 0x17ea4(%rip), %rsi     # 0x4a7c9
movl $0x18, %edx
callq 0x63f0
movq 0x60(%rsp), %rax
movq 0xf0(%rax), %rsi
movq 0xf8(%rax), %rdx
movq 0x2f65f(%rip), %rdi     # 0x61fa8
callq 0x63f0
movq %rax, %rbx
leaq 0x15980(%rip), %rsi     # 0x482d8
movl $0xf, %edx
movq %rax, %rdi
callq 0x63f0
leaq 0x15bf7(%rip), %rsi     # 0x48563
movq %rbx, %rdi
callq 0x6360
jmp 0x328ee
movq 0x2f628(%rip), %rdi     # 0x61fa8
leaq 0x17e83(%rip), %rsi     # 0x4a80a
movl $0x28, %edx
callq 0x63f0
movq 0x2f610(%rip), %rdi     # 0x61fa8
leaq 0x18ca9(%rip), %rsi     # 0x4b648
movl $0x4, %edx
callq 0x63f0
incl %r14d
movq 0x2f5f5(%rip), %rdi     # 0x61fa8
movl %r14d, %esi
callq 0x6610
movq %rax, %rbx
leaq 0x175a1(%rip), %rsi     # 0x49f66
movl $0xc, %edx
movq %rax, %rdi
callq 0x63f0
movq 0x38(%r12), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq %rbx, %rdi
movl %eax, %esi
callq 0x6610
leaq 0x15b75(%rip), %rsi     # 0x48563
movq %rax, %rdi
callq 0x6360
jmp 0x328ee
jmp 0x329fd
movq %rax, %rbx
jmp 0x32b13
movq %rax, %rbx
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32b20
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x6380
jmp 0x32b20
jmp 0x32ac6
jmp 0x32ac6
jmp 0x32ac6
jmp 0x32ac6
jmp 0x32ac6
jmp 0x32ac6
jmp 0x32a5e
jmp 0x32ac6
jmp 0x32a6c
jmp 0x32ac6
jmp 0x32a5e
jmp 0x32a6c
jmp 0x32aa5
jmp 0x32aa5
jmp 0x32a5e
jmp 0x32ac6
movq %rax, %rbx
leaq 0x30(%rsp), %r14
jmp 0x32a8a
jmp 0x32a6c
jmp 0x32ac6
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x32a8a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x32aa8
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x6380
jmp 0x32aa8
jmp 0x32aa5
movq %rax, %rbx
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x32ac9
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x6380
jmp 0x32ac9
movq %rax, %rbx
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x32aee
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x6380
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x32b13
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x6380
leaq 0x120(%rsp), %rdi
callq 0x60f0
movq %rbx, %rdi
callq 0x6620