// File: /workspace/github_cpp_makefile_star2_O1/CoinXu[P]reviser-compiler/src/compiler/typescript/typescript_generator.cpp
// Function: reviser::typescript::TypeScriptGenerator::Import[abi:cxx11]()
string TypeScriptGenerator::Import() {
    // decorators
    vector<string> deco(descriptor->Decorators());
    vector<string> decorators;

    for (vector<string>::iterator it = begin(deco); it != end(deco); it++ ) {
      if (ReviserSyntaxBuildIn.find(*it) == ReviserSyntaxBuildIn.end()) {
        message.Runtime("undefined error: " + *it + " not defined in decorators.");
      }
      decorators.push_back(TypeScriptCommon::ImportId(ReviserSyntaxBuildIn.at(*it)));
    }

    vector<string> revisers;
    vector<DataType> types = descriptor->DataTypes();
    map<string, int> unique;

    if (descriptor->include_type_array) {
      revisers.push_back(TypeScriptCommon::ImportId(ReviserMethodMap[REVISER_TYPE_ARRAY]));
    }

    if (descriptor->include_struct_array) {
      revisers.push_back(TypeScriptCommon::ImportId(ReviserMethodMap[REVISER_TYPE_ARRAY_STRUCT]));
    }

    for (vector<DataType>::iterator it = begin(types); it != end(types); it++) {
      vector<ReviserSyntaxDefinition> defs = TypeScriptCommon::FindReviserSyntaxDefinitionByDataType(*it);
      for (ReviserSyntaxDefinition d : defs) {
        string id = TypeScriptCommon::ImportId(d);
        if (unique.find(id) == unique.end()) {
          unique[id] = 0;
          revisers.push_back(id);
        }
      }
    }

    return "import { Reviser } from \"data-reviser\";\n"
      + (decorators.size() > 0 ? ("import { " + TypeScriptCommon::JoinVector(decorators, ", ") + " } from \"data-reviser\";\n") : "")
      + (revisers.size() > 0 ? ("import { " + TypeScriptCommon::JoinVector(revisers, ", ") + " } from \"data-reviser\";") : "");
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x348, %rsp            # imm = 0x348
movq %rdi, -0xa0(%rbp)
movq %rsi, -0xe8(%rbp)
movq 0x50(%rsi), %rsi
leaq -0x220(%rbp), %rbx
movq %rbx, %rdi
callq 0x340ba
xorps %xmm0, %xmm0
movaps %xmm0, -0x100(%rbp)
movq $0x0, -0xf0(%rbp)
movq (%rbx), %r15
cmpq 0x8(%rbx), %r15
je 0x4b9a7
movq -0xe8(%rbp), %rax
addq $0x58, %rax
movq %rax, -0x38(%rbp)
leaq -0x68(%rbp), %r13
leaq 0x162a7(%rip), %rbx     # 0x61ac0
leaq 0x8(%rbx), %rax
movq %rax, -0x30(%rbp)
leaq -0x78(%rbp), %r14
movq %rbx, %rdi
movq %r15, %rsi
callq 0x47114
cmpq -0x30(%rbp), %rax
jne 0x4b8e1
movq %r14, %rdi
leaq 0x6203(%rip), %rsi      # 0x51a47
movq %r15, %rdx
callq 0x2c6b4
movq %r14, %rdi
leaq 0x6203(%rip), %rsi      # 0x51a59
callq 0x25650
leaq -0x110(%rbp), %rsi
movq %rsi, -0x120(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4b88b
movq %rdx, -0x120(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x110(%rbp)
jmp 0x4b891
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x118(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x38(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x2c4f8
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x4b8d3
callq 0x25320
movq -0x78(%rbp), %rdi
cmpq %r13, %rdi
je 0x4b8e1
callq 0x25320
movq %rbx, %rdi
movq %r15, %rsi
callq 0x4664c
movq %rax, %r12
leaq -0x188(%rbp), %rax
movq %rax, -0x198(%rbp)
movq (%r12), %rsi
movq 0x8(%r12), %rdx
addq %rsi, %rdx
leaq -0x198(%rbp), %rdi
callq 0x2a264
movl 0x20(%r12), %eax
movl %eax, -0x178(%rbp)
addq $0x28, %r12
leaq -0x170(%rbp), %rdi
movq %r12, %rsi
callq 0x331f6
movq %r13, -0x78(%rbp)
movq -0x198(%rbp), %rsi
movq -0x190(%rbp), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x2a264
leaq -0x100(%rbp), %rdi
movq %r14, %rsi
callq 0x2a126
movq -0x78(%rbp), %rdi
cmpq %r13, %rdi
je 0x4b96d
callq 0x25320
movq -0x170(%rbp), %rdi
testq %rdi, %rdi
je 0x4b97e
callq 0x25320
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
cmpq %rax, %rdi
je 0x4b996
callq 0x25320
addq $0x20, %r15
cmpq -0x218(%rbp), %r15
jne 0x4b825
xorps %xmm0, %xmm0
movaps %xmm0, -0xc0(%rbp)
movq $0x0, -0xb0(%rbp)
movq -0xe8(%rbp), %r12
movq 0x50(%r12), %rsi
leaq -0x158(%rbp), %rdi
callq 0x340ee
leaq -0x368(%rbp), %rcx
movl $0x0, (%rcx)
xorl %eax, %eax
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
movq 0x50(%r12), %rax
cmpb $0x1, 0x60(%rax)
jne 0x4baba
leaq -0x98(%rbp), %rsi
movl $0x1, (%rsi)
leaq 0x160da(%rip), %rdi     # 0x61af0
callq 0x466aa
movq %rax, %rbx
leaq -0x2d0(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x2e0(%rbp), %rdi
callq 0x2a264
movl 0x20(%rbx), %eax
leaq -0x2b8(%rbp), %rdi
movl %eax, -0x8(%rdi)
addq $0x28, %rbx
movq %rbx, %rsi
callq 0x331f6
leaq -0x68(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0x2e0(%rbp), %rsi
movq -0x2d8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x78(%rbp), %rdi
callq 0x2a264
leaq -0xc0(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x2a126
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x4ba98
callq 0x25320
movq -0x2b8(%rbp), %rdi
testq %rdi, %rdi
je 0x4baa9
callq 0x25320
movq -0x2e0(%rbp), %rdi
cmpq %r14, %rdi
je 0x4baba
callq 0x25320
movq 0x50(%r12), %rax
cmpb $0x1, 0x61(%rax)
jne 0x4bb81
leaq -0x98(%rbp), %rsi
movl $0x0, (%rsi)
leaq 0x16013(%rip), %rdi     # 0x61af0
callq 0x466aa
movq %rax, %rbx
leaq -0x290(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x2a264
movl 0x20(%rbx), %eax
leaq -0x278(%rbp), %rdi
movl %eax, -0x8(%rdi)
addq $0x28, %rbx
movq %rbx, %rsi
callq 0x331f6
leaq -0x68(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0x2a0(%rbp), %rsi
movq -0x298(%rbp), %rdx
addq %rsi, %rdx
leaq -0x78(%rbp), %rdi
callq 0x2a264
leaq -0xc0(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x2a126
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x4bb5f
callq 0x25320
movq -0x278(%rbp), %rdi
testq %rdi, %rdi
je 0x4bb70
callq 0x25320
movq -0x2a0(%rbp), %rdi
cmpq %r14, %rdi
je 0x4bb81
callq 0x25320
movq -0x158(%rbp), %rax
cmpq -0x150(%rbp), %rax
je 0x4bd26
leaq -0x50(%rbp), %r14
leaq -0x1c8(%rbp), %r13
leaq -0x140(%rbp), %rbx
leaq -0x98(%rbp), %r12
movq %rax, -0x30(%rbp)
movl (%rax), %esi
movq %rbx, %rdi
callq 0x4d10a
movq -0x140(%rbp), %rbx
movq -0x138(%rbp), %r15
cmpq %r15, %rbx
je 0x4bd02
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
addq %rsi, %rdx
leaq -0x78(%rbp), %rdi
callq 0x2a264
movl 0x20(%rbx), %eax
movl %eax, -0x58(%rbp)
addq $0x28, %rbx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x331f6
movq %r13, -0x1d8(%rbp)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1d8(%rbp), %rdi
callq 0x2a264
movl -0x58(%rbp), %eax
movl %eax, -0x1b8(%rbp)
leaq -0x1b0(%rbp), %rdi
movq %r14, %rsi
callq 0x331f6
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x1d8(%rbp), %rsi
movq -0x1d0(%rbp), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x2a264
movq -0x1b0(%rbp), %rdi
testq %rdi, %rdi
je 0x4bc71
callq 0x25320
movq -0x1d8(%rbp), %rdi
cmpq %r13, %rdi
je 0x4bc82
callq 0x25320
leaq -0x370(%rbp), %rdi
movq %r12, %rsi
callq 0x472dc
leaq -0x368(%rbp), %rcx
cmpq %rcx, %rax
jne 0x4bcc1
leaq -0x370(%rbp), %rdi
movq %r12, %rsi
callq 0x4681c
movl $0x0, (%rax)
leaq -0xc0(%rbp), %rdi
movq %r12, %rsi
callq 0x2a126
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x4bcd9
callq 0x25320
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x4bce7
callq 0x25320
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x4bcf9
callq 0x25320
addq $0x18, %rbx
jmp 0x4bbca
leaq -0x140(%rbp), %rbx
movq %rbx, %rdi
callq 0x4689c
movq -0x30(%rbp), %rax
addq $0x4, %rax
cmpq -0x150(%rbp), %rax
jne 0x4bbae
movq -0x100(%rbp), %rbx
movq -0xf8(%rbp), %r12
cmpq %rbx, %r12
setne %al
movl %eax, -0x30(%rbp)
je 0x4bdef
leaq -0x208(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x34434
leaq -0x250(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5cb4(%rip), %rsi      # 0x51a1c
leaq 0x5caf(%rip), %rdx      # 0x51a1e
leaq -0x260(%rbp), %rdi
callq 0x2a2fe
leaq -0x340(%rbp), %rdi
leaq -0x208(%rbp), %rsi
leaq -0x260(%rbp), %rdx
callq 0x4b4cc
leaq 0x5d02(%rip), %rsi      # 0x51a9e
leaq -0x140(%rbp), %rdi
leaq -0x340(%rbp), %rdx
callq 0x2c6b4
leaq 0x5ccf(%rip), %rsi      # 0x51a85
leaq -0x140(%rbp), %rdi
callq 0x25650
leaq -0x88(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x4be12
movq %rsi, -0x98(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x88(%rbp)
jmp 0x4be18
leaq -0x88(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d53(%rip), %rdx      # 0x51b54
leaq -0x98(%rbp), %rdi
movq %rdx, %rsi
callq 0x2a2fe
jmp 0x4be32
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, -0x90(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5c3c(%rip), %rcx      # 0x51a75
leaq -0x98(%rbp), %rdi
movl $0x28, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x253a0
leaq -0x68(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4be73
movq %rdx, -0x78(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x68(%rbp)
jmp 0x4be7a
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, -0x70(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xc0(%rbp), %r14
movq -0xb8(%rbp), %r13
cmpq %r14, %r13
setne %al
movl %eax, -0x38(%rbp)
je 0x4bf5a
leaq -0x1f0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x34434
leaq -0x230(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5b49(%rip), %rsi      # 0x51a1c
leaq 0x5b44(%rip), %rdx      # 0x51a1e
leaq -0x240(%rbp), %rdi
callq 0x2a2fe
leaq -0x300(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
leaq -0x240(%rbp), %rdx
callq 0x4b4cc
leaq 0x5b97(%rip), %rsi      # 0x51a9e
leaq -0x320(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x2c6b4
leaq 0x5b87(%rip), %rsi      # 0x51aa8
leaq -0x320(%rbp), %rdi
callq 0x25650
leaq -0xd0(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x4bf7d
movq %rsi, -0xe0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xd0(%rbp)
jmp 0x4bf83
leaq -0xd0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x5be8(%rip), %rdx      # 0x51b54
leaq -0xe0(%rbp), %rdi
movq %rdx, %rsi
callq 0x2a2fe
jmp 0x4bf9d
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, -0xd8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x78(%rbp), %rcx
movq -0x70(%rbp), %r8
movq -0xd8(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r15, %rcx
je 0x4bfbe
movq -0x68(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x4bfe1
leaq -0xd0(%rbp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0x4bfdc
movq -0xd0(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x4bff3
movq -0xe0(%rbp), %rsi
leaq -0x78(%rbp), %rdi
callq 0x250f0
jmp 0x4c003
leaq -0xe0(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x253a0
movq -0xa0(%rbp), %rdi
leaq 0x10(%rdi), %rdx
movq %rdx, (%rdi)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x4c029
movq %rsi, (%rdi)
movq (%rcx), %rdx
movq %rdx, 0x10(%rdi)
jmp 0x4c02f
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0xd0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c060
callq 0x25320
cmpq %r14, %r13
je 0x4c0b0
leaq -0x310(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c07a
callq 0x25320
leaq -0x2f0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c08f
callq 0x25320
leaq -0x230(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c0a4
callq 0x25320
leaq -0x1f0(%rbp), %rdi
callq 0x29fb8
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x4c0be
callq 0x25320
leaq -0x88(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c0d3
callq 0x25320
cmpq %rbx, %r12
movq -0xa0(%rbp), %rbx
je 0x4c12a
leaq -0x130(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c0f4
callq 0x25320
leaq -0x330(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c109
callq 0x25320
leaq -0x250(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c11e
callq 0x25320
leaq -0x208(%rbp), %rdi
callq 0x29fb8
leaq -0x370(%rbp), %rdi
callq 0x46dac
movq -0x158(%rbp), %rdi
testq %rdi, %rdi
je 0x4c147
callq 0x25320
leaq -0xc0(%rbp), %rdi
callq 0x29fb8
leaq -0x100(%rbp), %rdi
callq 0x29fb8
leaq -0x220(%rbp), %rdi
callq 0x29fb8
movq %rbx, %rax
addq $0x348, %rsp            # imm = 0x348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movl $0x0, -0x38(%rbp)
jmp 0x4c2a7
movq %rax, %rbx
movl $0x0, -0x30(%rbp)
jmp 0x4c336
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x4c1b4
callq 0x25320
jmp 0x4c1b4
movq %rax, %rbx
leaq -0x2a0(%rbp), %rdi
jmp 0x4c1e6
movq %rax, %rbx
movq -0x2a0(%rbp), %rdi
jmp 0x4c1fa
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x4c1df
callq 0x25320
jmp 0x4c1df
movq %rax, %rbx
leaq -0x2e0(%rbp), %rdi
callq 0x3308a
jmp 0x4c4ab
movq %rax, %rbx
movq -0x2e0(%rbp), %rdi
cmpq %r14, %rdi
je 0x4c4ab
callq 0x25320
jmp 0x4c4ab
movq %rax, %rbx
movb $0x1, %al
movl %eax, -0x38(%rbp)
jmp 0x4c2a7
movq %rax, %rbx
movb $0x1, %al
movl %eax, -0x38(%rbp)
jmp 0x4c2c2
movq %rax, %rbx
movb $0x1, %al
movl %eax, -0x38(%rbp)
jmp 0x4c2dd
movq %rax, %rbx
movb $0x1, %al
movl %eax, -0x38(%rbp)
jmp 0x4c2f8
movq %rax, %rbx
movb $0x1, %al
movl %eax, -0x38(%rbp)
jmp 0x4c30a
movq %rax, %rbx
movb $0x1, %al
movl %eax, -0x30(%rbp)
jmp 0x4c336
movq %rax, %rbx
movb $0x1, %al
movl %eax, -0x30(%rbp)
jmp 0x4c351
movq %rax, %rbx
movb $0x1, %al
movl %eax, -0x30(%rbp)
jmp 0x4c36c
movq %rax, %rbx
movb $0x1, %al
movl %eax, -0x30(%rbp)
jmp 0x4c387
movq %rax, %rbx
movb $0x1, %al
movl %eax, -0x30(%rbp)
jmp 0x4c399
movq %rax, %rbx
leaq -0xd0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c2a7
callq 0x25320
cmpb $0x0, -0x38(%rbp)
je 0x4c2c2
leaq -0x310(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c2c2
callq 0x25320
cmpb $0x0, -0x38(%rbp)
je 0x4c2dd
leaq -0x2f0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c2dd
callq 0x25320
cmpb $0x0, -0x38(%rbp)
je 0x4c2f8
leaq -0x230(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c2f8
callq 0x25320
cmpb $0x0, -0x38(%rbp)
je 0x4c30a
leaq -0x1f0(%rbp), %rdi
callq 0x29fb8
cmpb $0x0, -0x38(%rbp)
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0x4c321
callq 0x25320
jmp 0x4c321
movq %rax, %rbx
leaq -0x88(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c336
callq 0x25320
cmpb $0x0, -0x30(%rbp)
je 0x4c351
leaq -0x130(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c351
callq 0x25320
cmpb $0x0, -0x30(%rbp)
je 0x4c36c
leaq -0x330(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c36c
callq 0x25320
cmpb $0x0, -0x30(%rbp)
je 0x4c387
leaq -0x250(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4c387
callq 0x25320
cmpb $0x0, -0x30(%rbp)
je 0x4c399
leaq -0x208(%rbp), %rdi
callq 0x29fb8
cmpb $0x0, -0x30(%rbp)
jmp 0x4c4ab
jmp 0x4c3de
jmp 0x4c3de
movq %rax, %rbx
jmp 0x4c4c8
movq %rax, %rbx
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x4c3ce
callq 0x25320
jmp 0x4c3ce
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r13, %rdi
jne 0x4c400
jmp 0x4c4d4
jmp 0x4c433
movq %rax, %rbx
jmp 0x4c4ab
movq %rax, %rbx
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
cmpq %rax, %rdi
je 0x4c4d4
callq 0x25320
jmp 0x4c4d4
movq %rax, %rbx
jmp 0x4c420
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r13, %rdi
je 0x4c420
callq 0x25320
leaq -0x198(%rbp), %rdi
callq 0x3308a
jmp 0x4c4d4
jmp 0x4c433
movq %rax, %rbx
jmp 0x4c4d4
jmp 0x4c45f
movq %rax, %rbx
movq -0x1d8(%rbp), %rdi
cmpq %r13, %rdi
jne 0x4c475
jmp 0x4c496
movq %rax, %rbx
leaq -0x1d8(%rbp), %rdi
callq 0x3308a
jmp 0x4c496
movq %rax, %rbx
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x4c496
callq 0x25320
jmp 0x4c496
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x4c49f
callq 0x25320
jmp 0x4c49f
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x3308a
leaq -0x140(%rbp), %rdi
callq 0x4689c
leaq -0x370(%rbp), %rdi
callq 0x46dac
movq -0x158(%rbp), %rdi
testq %rdi, %rdi
je 0x4c4c8
callq 0x25320
leaq -0xc0(%rbp), %rdi
callq 0x29fb8
leaq -0x100(%rbp), %rdi
callq 0x29fb8
leaq -0x220(%rbp), %rdi
callq 0x29fb8
movq %rbx, %rdi
callq 0x255f0
movq %rax, %rbx
jmp 0x4c49f
nop