// File: /workspace/github_c_makefile_star2_O0/fukunagatsu[P]RIblast/db_construction.cpp
// Function: DbConstruction::SaveBasicInformation(DbConstructionParameters, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&)
void DbConstruction::SaveBasicInformation(DbConstructionParameters parameters, vector<string> &names){
  ofstream of((parameters.GetDbFilename()+".bas").c_str(), ios::out | ios::binary);
  int hash_size = parameters.GetHashSize();
  int repeat_flag = parameters.GetRepeatFlag();
  int maximal_span = parameters.GetMaximalSpan();
  int min_accessible_length = parameters.GetMinAccessibleLength();
  of.write(reinterpret_cast<const char*>(&hash_size), sizeof(int));
  of.write(reinterpret_cast<const char*>(&repeat_flag), sizeof(int));
  of.write(reinterpret_cast<const char*>(&maximal_span), sizeof(int));
  of.write(reinterpret_cast<const char*>(&min_accessible_length), sizeof(int));
  of.close();
  of.open((parameters.GetDbFilename()+".nam").c_str(), ios::out);
  for(int i = 0; i < names.size(); i++){
    of << names[i] << endl;
  }

  of.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x300, %rsp            # imm = 0x300
movq %rsi, -0x2d0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
leaq -0x258(%rbp), %rdi
movq %rdi, -0x2c8(%rbp)
callq 0xb190
movq -0x2c8(%rbp), %rsi
leaq 0x2de13(%rip), %rdx     # 0x38872
leaq -0x238(%rbp), %rdi
callq 0x88e0
jmp 0xaa6d
leaq -0x238(%rbp), %rdi
callq 0x3110
movq %rax, -0x2e0(%rbp)
movl $0x10, %edi
movl $0x4, %esi
callq 0xbcf0
movl %eax, -0x2d4(%rbp)
jmp 0xaa97
movl -0x2d4(%rbp), %edx
movq -0x2e0(%rbp), %rsi
leaq -0x218(%rbp), %rdi
callq 0x32e0
jmp 0xaab2
leaq -0x238(%rbp), %rdi
callq 0x3190
leaq -0x258(%rbp), %rdi
callq 0x3190
movq -0x2d0(%rbp), %rdi
callq 0xb170
movl %eax, -0x2e4(%rbp)
jmp 0xaade
movq -0x2d0(%rbp), %rdi
movl -0x2e4(%rbp), %eax
movl %eax, -0x268(%rbp)
callq 0xb860
movl %eax, -0x2e8(%rbp)
jmp 0xaafe
movq -0x2d0(%rbp), %rdi
movl -0x2e8(%rbp), %eax
movl %eax, -0x26c(%rbp)
callq 0xb200
movl %eax, -0x2ec(%rbp)
jmp 0xab1e
movq -0x2d0(%rbp), %rdi
movl -0x2ec(%rbp), %eax
movl %eax, -0x270(%rbp)
callq 0xb220
movl %eax, -0x2f0(%rbp)
jmp 0xab3e
movl -0x2f0(%rbp), %eax
movl %eax, -0x274(%rbp)
leaq -0x218(%rbp), %rdi
leaq -0x268(%rbp), %rsi
movl $0x4, %edx
callq 0x33a0
jmp 0xab64
leaq -0x218(%rbp), %rdi
leaq -0x26c(%rbp), %rsi
movl $0x4, %edx
callq 0x33a0
jmp 0xab7e
leaq -0x218(%rbp), %rdi
leaq -0x270(%rbp), %rsi
movl $0x4, %edx
callq 0x33a0
jmp 0xab98
leaq -0x218(%rbp), %rdi
leaq -0x274(%rbp), %rsi
movl $0x4, %edx
callq 0x33a0
jmp 0xabb2
leaq -0x218(%rbp), %rdi
callq 0x33f0
jmp 0xabc0
movq -0x2d0(%rbp), %rsi
leaq -0x2b8(%rbp), %rdi
callq 0xb190
jmp 0xabd5
leaq 0x2dc9b(%rip), %rdx     # 0x38877
leaq -0x298(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x88e0
jmp 0xabf1
leaq -0x298(%rbp), %rdi
callq 0x3110
movq %rax, %rsi
leaq -0x218(%rbp), %rdi
movl $0x10, %edx
callq 0x3030
jmp 0xac13
leaq -0x298(%rbp), %rdi
callq 0x3190
leaq -0x2b8(%rbp), %rdi
callq 0x3190
movl $0x0, -0x2bc(%rbp)
movslq -0x2bc(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movq -0x18(%rbp), %rdi
callq 0x9260
movq %rax, %rcx
movq -0x2f8(%rbp), %rax
cmpq %rcx, %rax
jae 0xad46
movq -0x18(%rbp), %rdi
movslq -0x2bc(%rbp), %rsi
callq 0xb720
movq %rax, %rsi
leaq -0x218(%rbp), %rdi
callq 0x3260
movq %rax, -0x300(%rbp)
jmp 0xac87
movq -0x300(%rbp), %rdi
movq 0x41313(%rip), %rsi     # 0x4bfa8
callq 0x32b0
jmp 0xac9c
jmp 0xac9e
movl -0x2bc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2bc(%rbp)
jmp 0xac35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x260(%rbp)
movl %eax, -0x264(%rbp)
jmp 0xace1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x260(%rbp)
movl %eax, -0x264(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x3190
leaq -0x258(%rbp), %rdi
callq 0x3190
jmp 0xad75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x260(%rbp)
movl %eax, -0x264(%rbp)
jmp 0xad69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x260(%rbp)
movl %eax, -0x264(%rbp)
jmp 0xad38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x260(%rbp)
movl %eax, -0x264(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x3190
leaq -0x2b8(%rbp), %rdi
callq 0x3190
jmp 0xad69
leaq -0x218(%rbp), %rdi
callq 0x33f0
jmp 0xad54
leaq -0x218(%rbp), %rdi
callq 0x3410
addq $0x300, %rsp            # imm = 0x300
popq %rbp
retq
leaq -0x218(%rbp), %rdi
callq 0x3410
movq -0x260(%rbp), %rdi
callq 0x34d0
nopw %cs:(%rax,%rax)