// File: trapexit[P]bbf/src/bbf_info.cpp
// Function: bbf::info(Options const&)
AppError
  info(const Options &opts_)
  {
    int rv;
    BlkDev blkdev;
    sg::identity ident;

    rv = blkdev.open_read(opts_.device);
    if(rv < 0)
      return AppError::opening_device(-rv,opts_.device);

    std::cout << opts_.device << ":" << std::endl;

    if(blkdev.has_identity())
      {
        ident = blkdev.identity();
        std::cout
          << " - serial_number: "             << ident.serial_number << std::endl
          << " - firmware_revision: "         << ident.firmware_revision << std::endl
          << " - model_number: "              << ident.model_number << std::endl
          << " - RPM: "                       << ident.rpm << std::endl
          << " - features:"                   << std::endl
          << "   - form_factor: "             << l::form_factor(ident) << std::endl
          << "   - write_uncorrectable: "     << ident.write_uncorrectable << std::endl
          << "   - smart_supported: "         << ident.smart_supported << std::endl
          << "   - smart_enabled: "           << ident.smart_enabled << std::endl
          << "   - security_supported: "      << ident.security_supported << std::endl
          << "   - security_enabled: "        << ident.security_enabled << std::endl
          << "   - security_locked: "         << ident.security_locked << std::endl
          << "   - security_frozen: "         << ident.security_frozen << std::endl
          << "   - security_count_expired: "  << ident.security_count_expired << std::endl
          << "   - security_enhanced_erase_supported: " << ident.security_enhanced_erase_supported << std::endl
          << "   - security_normal_erase_time: "   << ident.security_normal_erase_time << std::endl
          << "   - security_enhanced_erase_time: " << ident.security_enhanced_erase_time << std::endl
          << "   - block_erase: "             << ident.block_erase << std::endl
          << "   - overwrite: "               << ident.overwrite << std::endl
          << "   - crypto_scramble: "         << ident.crypto_scramble << std::endl
          << "   - sanitize: "                << ident.sanitize << std::endl
          << "   - supports_sata_gen1: "       << ident.supports_sata_gen1 << std::endl
          << "   - supports_sata_gen2: "       << ident.supports_sata_gen2 << std::endl
          << "   - supports_sata_gen3: "       << ident.supports_sata_gen3 << std::endl
          << "   - trim_supported: "          << ident.trim_supported << std::endl
          ;
      }

    std::cout
      << " - block_size:"  << std::endl
      << "   - physical: " << blkdev.physical_block_size() << std::endl
      << "   - logical: "  << blkdev.logical_block_size() << std::endl
      << "   - stepping: " << blkdev.block_stepping() << std::endl
      << " - block_count:" << std::endl
      << "   - physical: " << blkdev.physical_block_count() << std::endl
      << "   - logical: "  << blkdev.logical_block_count() << std::endl
      << " - size:"        << std::endl
      << "   - bytes: "    << blkdev.size_in_bytes() << std::endl
      << "   - human:"     << std::endl
      << "     - base2: "  << num::humanize(blkdev.size_in_bytes()) << std::endl
      << "     - base10: " << num::humanize(blkdev.size_in_bytes(),true) << std::endl
      << std::endl;

    rv = blkdev.close();
    if(rv < 0)
      return AppError::closing_device(-rv,opts_.device);

    return AppError::success();
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x530, %rsp            # imm = 0x530
movq %rdi, -0x180(%rbp)
movq %rdi, %rax
movq %rax, -0x178(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0xb0(%rbp), %rdi
movq %rdi, -0x170(%rbp)
callq 0x14b10
movq -0x170(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x14b80
movl %eax, -0x164(%rbp)
jmp 0x11d73
movl -0x164(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jge 0x11dc3
movq -0x180(%rbp), %rdi
movl -0x14(%rbp), %esi
negl %esi
movq -0x10(%rbp), %rdx
addq $0x8, %rdx
callq 0x17610
jmp 0x11d9d
movl $0x1, -0x120(%rbp)
jmp 0x12c4c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x118(%rbp)
movl %eax, -0x11c(%rbp)
jmp 0x12c68
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
movq 0x251de(%rip), %rdi     # 0x36fb0
callq 0x44a0
movq %rax, -0x188(%rbp)
jmp 0x11de0
movq -0x188(%rbp), %rdi
leaq 0x1a1df(%rip), %rsi     # 0x2bfcd
callq 0x4540
movq %rax, -0x190(%rbp)
jmp 0x11dfc
movq -0x190(%rbp), %rdi
movq 0x2518e(%rip), %rsi     # 0x36f98
callq 0x4580
jmp 0x11e11
leaq -0xb0(%rbp), %rdi
callq 0x12c80
movb %al, -0x191(%rbp)
jmp 0x11e25
movb -0x191(%rbp), %al
testb $0x1, %al
jne 0x11e34
jmp 0x12724
leaq -0xb0(%rbp), %rdi
callq 0x12ca0
movq %rax, -0x1a0(%rbp)
jmp 0x11e49
movq -0x1a0(%rbp), %rax
movq 0x50(%rax), %rcx
movq %rcx, -0xc0(%rbp)
movups 0x40(%rax), %xmm0
movaps %xmm0, -0xd0(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movaps %xmm3, -0xe0(%rbp)
movaps %xmm2, -0xf0(%rbp)
movaps %xmm1, -0x100(%rbp)
movaps %xmm0, -0x110(%rbp)
movq 0x25118(%rip), %rdi     # 0x36fb0
leaq 0x1156f(%rip), %rsi     # 0x2340e
callq 0x4540
movq %rax, -0x1a8(%rbp)
jmp 0x11ead
movq -0x1a8(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x4540
movq %rax, -0x1b0(%rbp)
jmp 0x11ec9
movq -0x1b0(%rbp), %rdi
movq 0x250c1(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x1b8(%rbp)
jmp 0x11ee5
movq -0x1b8(%rbp), %rdi
leaq 0x1152e(%rip), %rsi     # 0x23421
callq 0x4540
movq %rax, -0x1c0(%rbp)
jmp 0x11f01
movq -0x1c0(%rbp), %rdi
leaq -0xeb(%rbp), %rsi
callq 0x4540
movq %rax, -0x1c8(%rbp)
jmp 0x11f1d
movq -0x1c8(%rbp), %rdi
movq 0x2506d(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x1d0(%rbp)
jmp 0x11f39
movq -0x1d0(%rbp), %rdi
leaq 0x114f1(%rip), %rsi     # 0x23438
callq 0x4540
movq %rax, -0x1d8(%rbp)
jmp 0x11f55
movq -0x1d8(%rbp), %rdi
leaq -0xe2(%rbp), %rsi
callq 0x4540
movq %rax, -0x1e0(%rbp)
jmp 0x11f71
movq -0x1e0(%rbp), %rdi
movq 0x25019(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x1e8(%rbp)
jmp 0x11f8d
movq -0x1e8(%rbp), %rdi
leaq 0x114af(%rip), %rsi     # 0x2344a
callq 0x4540
movq %rax, -0x1f0(%rbp)
jmp 0x11fa9
movq -0x1f0(%rbp), %rdi
movl -0x10c(%rbp), %esi
callq 0x46c0
movq %rax, -0x1f8(%rbp)
jmp 0x11fc4
movq -0x1f8(%rbp), %rdi
movq 0x24fc6(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x200(%rbp)
jmp 0x11fe0
movq -0x200(%rbp), %rdi
leaq 0x11465(%rip), %rsi     # 0x23453
callq 0x4540
movq %rax, -0x208(%rbp)
jmp 0x11ffc
movq -0x208(%rbp), %rdi
movq 0x24f8e(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x210(%rbp)
jmp 0x12018
movq -0x210(%rbp), %rdi
leaq 0x1143a(%rip), %rsi     # 0x23460
callq 0x4540
movq %rax, -0x218(%rbp)
jmp 0x12034
leaq -0x110(%rbp), %rdi
callq 0x11c90
movq -0x218(%rbp), %rdi
movq %rax, %rsi
callq 0x4540
movq %rax, -0x220(%rbp)
jmp 0x12058
movq -0x220(%rbp), %rdi
movq 0x24f32(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x228(%rbp)
jmp 0x12074
movq -0x228(%rbp), %rdi
leaq 0x113f1(%rip), %rsi     # 0x23473
callq 0x4540
movq %rax, -0x230(%rbp)
jmp 0x12090
movq -0x230(%rbp), %rdi
movzwl -0x110(%rbp), %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x238(%rbp)
jmp 0x120b1
movq -0x238(%rbp), %rdi
movq 0x24ed9(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x240(%rbp)
jmp 0x120cd
movq -0x240(%rbp), %rdi
leaq 0x113b3(%rip), %rsi     # 0x2348e
callq 0x4540
movq %rax, -0x248(%rbp)
jmp 0x120e9
movq -0x248(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x250(%rbp)
jmp 0x1210c
movq -0x250(%rbp), %rdi
movq 0x24e7e(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x258(%rbp)
jmp 0x12128
movq -0x258(%rbp), %rdi
leaq 0x1136f(%rip), %rsi     # 0x234a5
callq 0x4540
movq %rax, -0x260(%rbp)
jmp 0x12144
movq -0x260(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0x2, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x268(%rbp)
jmp 0x12168
movq -0x268(%rbp), %rdi
movq 0x24e22(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x270(%rbp)
jmp 0x12184
movq -0x270(%rbp), %rdi
leaq 0x11328(%rip), %rsi     # 0x234ba
callq 0x4540
movq %rax, -0x278(%rbp)
jmp 0x121a0
movq -0x278(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0x3, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x280(%rbp)
jmp 0x121c4
movq -0x280(%rbp), %rdi
movq 0x24dc6(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x288(%rbp)
jmp 0x121e0
movq -0x288(%rbp), %rdi
leaq 0x112e6(%rip), %rsi     # 0x234d4
callq 0x4540
movq %rax, -0x290(%rbp)
jmp 0x121fc
movq -0x290(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0x4, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x298(%rbp)
jmp 0x12220
movq -0x298(%rbp), %rdi
movq 0x24d6a(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x2a0(%rbp)
jmp 0x1223c
movq -0x2a0(%rbp), %rdi
leaq 0x112a2(%rip), %rsi     # 0x234ec
callq 0x4540
movq %rax, -0x2a8(%rbp)
jmp 0x12258
movq -0x2a8(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0x5, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x2b0(%rbp)
jmp 0x1227c
movq -0x2b0(%rbp), %rdi
movq 0x24d0e(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x2b8(%rbp)
jmp 0x12298
movq -0x2b8(%rbp), %rdi
leaq 0x1125d(%rip), %rsi     # 0x23503
callq 0x4540
movq %rax, -0x2c0(%rbp)
jmp 0x122b4
movq -0x2c0(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0x6, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x2c8(%rbp)
jmp 0x122d8
movq -0x2c8(%rbp), %rdi
movq 0x24cb2(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x2d0(%rbp)
jmp 0x122f4
movq -0x2d0(%rbp), %rdi
leaq 0x11218(%rip), %rsi     # 0x2351a
callq 0x4540
movq %rax, -0x2d8(%rbp)
jmp 0x12310
movq -0x2d8(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0x7, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x2e0(%rbp)
jmp 0x12334
movq -0x2e0(%rbp), %rdi
movq 0x24c56(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x2e8(%rbp)
jmp 0x12350
movq -0x2e8(%rbp), %rdi
leaq 0x111da(%rip), %rsi     # 0x23538
callq 0x4540
movq %rax, -0x2f0(%rbp)
jmp 0x1236c
movq -0x2f0(%rbp), %rdi
movzbl -0x10f(%rbp), %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x2f8(%rbp)
jmp 0x1238d
movq -0x2f8(%rbp), %rdi
movq 0x24bfd(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x300(%rbp)
jmp 0x123a9
movq -0x300(%rbp), %rdi
leaq 0x111aa(%rip), %rsi     # 0x23561
callq 0x4540
movq %rax, -0x308(%rbp)
jmp 0x123c5
movq -0x308(%rbp), %rdi
movl -0x108(%rbp), %esi
callq 0x46c0
movq %rax, -0x310(%rbp)
jmp 0x123e0
movq -0x310(%rbp), %rdi
movq 0x24baa(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x318(%rbp)
jmp 0x123fc
movq -0x318(%rbp), %rdi
leaq 0x11179(%rip), %rsi     # 0x23583
callq 0x4540
movq %rax, -0x320(%rbp)
jmp 0x12418
movq -0x320(%rbp), %rdi
movl -0x104(%rbp), %esi
callq 0x46c0
movq %rax, -0x328(%rbp)
jmp 0x12433
movq -0x328(%rbp), %rdi
movq 0x24b57(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x330(%rbp)
jmp 0x1244f
movq -0x330(%rbp), %rdi
leaq 0x1114a(%rip), %rsi     # 0x235a7
callq 0x4540
movq %rax, -0x338(%rbp)
jmp 0x1246b
movq -0x338(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0x9, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x340(%rbp)
jmp 0x1248f
movq -0x340(%rbp), %rdi
movq 0x24afb(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x348(%rbp)
jmp 0x124ab
movq -0x348(%rbp), %rdi
leaq 0x11101(%rip), %rsi     # 0x235ba
callq 0x4540
movq %rax, -0x350(%rbp)
jmp 0x124c7
movq -0x350(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0xa, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x358(%rbp)
jmp 0x124eb
movq -0x358(%rbp), %rdi
movq 0x24a9f(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x360(%rbp)
jmp 0x12507
movq -0x360(%rbp), %rdi
leaq 0x110b6(%rip), %rsi     # 0x235cb
callq 0x4540
movq %rax, -0x368(%rbp)
jmp 0x12523
movq -0x368(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0xb, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x370(%rbp)
jmp 0x12547
movq -0x370(%rbp), %rdi
movq 0x24a43(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x378(%rbp)
jmp 0x12563
movq -0x378(%rbp), %rdi
leaq 0x11071(%rip), %rsi     # 0x235e2
callq 0x4540
movq %rax, -0x380(%rbp)
jmp 0x1257f
movq -0x380(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0xc, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x388(%rbp)
jmp 0x125a3
movq -0x388(%rbp), %rdi
movq 0x249e7(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x390(%rbp)
jmp 0x125bf
movq -0x390(%rbp), %rdi
leaq 0x11025(%rip), %rsi     # 0x235f2
callq 0x4540
movq %rax, -0x398(%rbp)
jmp 0x125db
movq -0x398(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0xd, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x3a0(%rbp)
jmp 0x125ff
movq -0x3a0(%rbp), %rdi
movq 0x2498b(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x3a8(%rbp)
jmp 0x1261b
movq -0x3a8(%rbp), %rdi
leaq 0x10fe3(%rip), %rsi     # 0x2360c
callq 0x4540
movq %rax, -0x3b0(%rbp)
jmp 0x12637
movq -0x3b0(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0xe, %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x3b8(%rbp)
jmp 0x1265b
movq -0x3b8(%rbp), %rdi
movq 0x2492f(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x3c0(%rbp)
jmp 0x12677
movq -0x3c0(%rbp), %rdi
leaq 0x10fa1(%rip), %rsi     # 0x23626
callq 0x4540
movq %rax, -0x3c8(%rbp)
jmp 0x12693
movq -0x3c8(%rbp), %rdi
movzwl -0x110(%rbp), %eax
shrl $0xf, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x3d0(%rbp)
jmp 0x126b4
movq -0x3d0(%rbp), %rdi
movq 0x248d6(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x3d8(%rbp)
jmp 0x126d0
movq -0x3d8(%rbp), %rdi
leaq 0x10f62(%rip), %rsi     # 0x23640
callq 0x4540
movq %rax, -0x3e0(%rbp)
jmp 0x126ec
movq -0x3e0(%rbp), %rdi
movzbl -0x10e(%rbp), %eax
andl $0x1, %eax
movl %eax, %esi
callq 0x4100
movq %rax, -0x3e8(%rbp)
jmp 0x1270d
movq -0x3e8(%rbp), %rdi
movq 0x2487d(%rip), %rsi     # 0x36f98
callq 0x4580
jmp 0x12722
jmp 0x12724
movq 0x24885(%rip), %rdi     # 0x36fb0
leaq 0x10f24(%rip), %rsi     # 0x23656
callq 0x4540
movq %rax, -0x3f0(%rbp)
jmp 0x12740
movq -0x3f0(%rbp), %rdi
movq 0x2484a(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x3f8(%rbp)
jmp 0x1275c
movq -0x3f8(%rbp), %rdi
leaq 0x10efb(%rip), %rsi     # 0x23665
callq 0x4540
movq %rax, -0x400(%rbp)
jmp 0x12778
leaq -0xb0(%rbp), %rdi
callq 0x7600
movq %rax, -0x408(%rbp)
jmp 0x1278d
movq -0x408(%rbp), %rsi
movq -0x400(%rbp), %rdi
callq 0x4100
movq %rax, -0x410(%rbp)
jmp 0x127a9
movq -0x410(%rbp), %rdi
movq 0x247e1(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x418(%rbp)
jmp 0x127c5
movq -0x418(%rbp), %rdi
leaq 0x10ea2(%rip), %rsi     # 0x23675
callq 0x4540
movq %rax, -0x420(%rbp)
jmp 0x127e1
leaq -0xb0(%rbp), %rdi
callq 0x75c0
movq %rax, -0x428(%rbp)
jmp 0x127f6
movq -0x428(%rbp), %rsi
movq -0x420(%rbp), %rdi
callq 0x4100
movq %rax, -0x430(%rbp)
jmp 0x12812
movq -0x430(%rbp), %rdi
movq 0x24778(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x438(%rbp)
jmp 0x1282e
movq -0x438(%rbp), %rdi
leaq 0x10e48(%rip), %rsi     # 0x23684
callq 0x4540
movq %rax, -0x440(%rbp)
jmp 0x1284a
leaq -0xb0(%rbp), %rdi
callq 0x153b0
movq %rax, -0x448(%rbp)
jmp 0x1285f
movq -0x448(%rbp), %rsi
movq -0x440(%rbp), %rdi
callq 0x4100
movq %rax, -0x450(%rbp)
jmp 0x1287b
movq -0x450(%rbp), %rdi
movq 0x2470f(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x458(%rbp)
jmp 0x12897
movq -0x458(%rbp), %rdi
leaq 0x10def(%rip), %rsi     # 0x23694
callq 0x4540
movq %rax, -0x460(%rbp)
jmp 0x128b3
movq -0x460(%rbp), %rdi
movq 0x246d7(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x468(%rbp)
jmp 0x128cf
movq -0x468(%rbp), %rdi
leaq 0x10d88(%rip), %rsi     # 0x23665
callq 0x4540
movq %rax, -0x470(%rbp)
jmp 0x128eb
leaq -0xb0(%rbp), %rdi
callq 0x12cc0
movq %rax, -0x478(%rbp)
jmp 0x12900
movq -0x478(%rbp), %rsi
movq -0x470(%rbp), %rdi
callq 0x4100
movq %rax, -0x480(%rbp)
jmp 0x1291c
movq -0x480(%rbp), %rdi
movq 0x2466e(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x488(%rbp)
jmp 0x12938
movq -0x488(%rbp), %rdi
leaq 0x10d2f(%rip), %rsi     # 0x23675
callq 0x4540
movq %rax, -0x490(%rbp)
jmp 0x12954
leaq -0xb0(%rbp), %rdi
callq 0x75e0
movq %rax, -0x498(%rbp)
jmp 0x12969
movq -0x498(%rbp), %rsi
movq -0x490(%rbp), %rdi
callq 0x4100
movq %rax, -0x4a0(%rbp)
jmp 0x12985
movq -0x4a0(%rbp), %rdi
movq 0x24605(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x4a8(%rbp)
jmp 0x129a1
movq -0x4a8(%rbp), %rdi
leaq 0x10cf5(%rip), %rsi     # 0x236a4
callq 0x4540
movq %rax, -0x4b0(%rbp)
jmp 0x129bd
movq -0x4b0(%rbp), %rdi
movq 0x245cd(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x4b8(%rbp)
jmp 0x129d9
movq -0x4b8(%rbp), %rdi
leaq 0x10cc6(%rip), %rsi     # 0x236ad
callq 0x4540
movq %rax, -0x4c0(%rbp)
jmp 0x129f5
leaq -0xb0(%rbp), %rdi
callq 0x12ce0
movq %rax, -0x4c8(%rbp)
jmp 0x12a0a
movq -0x4c8(%rbp), %rsi
movq -0x4c0(%rbp), %rdi
callq 0x4100
movq %rax, -0x4d0(%rbp)
jmp 0x12a26
movq -0x4d0(%rbp), %rdi
movq 0x24564(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x4d8(%rbp)
jmp 0x12a42
movq -0x4d8(%rbp), %rdi
leaq 0x10c6a(%rip), %rsi     # 0x236ba
callq 0x4540
movq %rax, -0x4e0(%rbp)
jmp 0x12a5e
movq -0x4e0(%rbp), %rdi
movq 0x2452c(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x4e8(%rbp)
jmp 0x12a7a
movq -0x4e8(%rbp), %rdi
leaq 0x10c3e(%rip), %rsi     # 0x236c6
callq 0x4540
movq %rax, -0x4f0(%rbp)
jmp 0x12a96
leaq -0xb0(%rbp), %rdi
callq 0x12ce0
movq %rax, -0x4f8(%rbp)
jmp 0x12aab
movq -0x4f8(%rbp), %rsi
leaq -0x140(%rbp), %rdi
xorl %edx, %edx
callq 0x191c0
jmp 0x12ac2
movq -0x4f0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x44a0
movq %rax, -0x500(%rbp)
jmp 0x12ade
movq -0x500(%rbp), %rdi
movq 0x244ac(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x508(%rbp)
jmp 0x12afa
movq -0x508(%rbp), %rdi
leaq 0x10bcd(%rip), %rsi     # 0x236d5
callq 0x4540
movq %rax, -0x510(%rbp)
jmp 0x12b16
leaq -0xb0(%rbp), %rdi
callq 0x12ce0
movq %rax, -0x518(%rbp)
jmp 0x12b2b
movq -0x518(%rbp), %rsi
leaq -0x160(%rbp), %rdi
movl $0x1, %edx
callq 0x191c0
jmp 0x12b45
movq -0x510(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x44a0
movq %rax, -0x520(%rbp)
jmp 0x12b61
movq -0x520(%rbp), %rdi
movq 0x24429(%rip), %rsi     # 0x36f98
callq 0x4580
movq %rax, -0x528(%rbp)
jmp 0x12b7d
movq -0x528(%rbp), %rdi
movq 0x2440d(%rip), %rsi     # 0x36f98
callq 0x4580
jmp 0x12b92
leaq -0x160(%rbp), %rdi
callq 0x4300
leaq -0x140(%rbp), %rdi
callq 0x4300
leaq -0xb0(%rbp), %rdi
callq 0x14e00
movl %eax, -0x52c(%rbp)
jmp 0x12bbe
movl -0x52c(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jge 0x12c34
movq -0x180(%rbp), %rdi
movl -0x14(%rbp), %esi
negl %esi
movq -0x10(%rbp), %rdx
addq $0x8, %rdx
callq 0x17690
jmp 0x12be8
movl $0x1, -0x120(%rbp)
jmp 0x12c4c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x118(%rbp)
movl %eax, -0x11c(%rbp)
jmp 0x12c26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x118(%rbp)
movl %eax, -0x11c(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x4300
leaq -0x140(%rbp), %rdi
callq 0x4300
jmp 0x12c68
movq -0x180(%rbp), %rdi
callq 0x17420
jmp 0x12c42
movl $0x1, -0x120(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x14b40
movq -0x178(%rbp), %rax
addq $0x530, %rsp            # imm = 0x530
popq %rbp
retq
leaq -0xb0(%rbp), %rdi
callq 0x14b40
movq -0x118(%rbp), %rdi
callq 0x4890