// File: /workspace/github_cpp_makefile_star2_O1/chhylp123[P]hifiasm/CommandLines.cpp
// Function: Print_H(hifiasm_opt_t*)
void Print_H(hifiasm_opt_t* asm_opt)
{
    fprintf(stderr, "Usage: hifiasm [options] <in_1.fq> <in_2.fq> <...>\n");
    fprintf(stderr, "Options:\n");
	fprintf(stderr, "  Input/Output:\n");
    fprintf(stderr, "    -o STR       prefix of output files [%s]\n", asm_opt->output_file_name);
    fprintf(stderr, "    -t INT       number of threads [%d]\n", asm_opt->thread_num);
    fprintf(stderr, "    -h           show help information\n");
    fprintf(stderr, "    --version    show version number\n");
    fprintf(stderr, "  Preset options:\n");
    fprintf(stderr, "    --ont        assemble Oxford Nanopore reads\n");
	fprintf(stderr, "  Overlap/Error correction:\n");
    fprintf(stderr, "    -k INT       k-mer length (must be <64) [%d]\n", asm_opt->k_mer_length);
	fprintf(stderr, "    -w INT       minimizer window size [%d]\n", asm_opt->mz_win);
	fprintf(stderr, "    -f INT       number of bits for bloom filter; 0 to disable [%d]\n", asm_opt->bf_shift);
	fprintf(stderr, "    -D FLOAT     drop k-mers occurring >FLOAT*coverage times [%.1f]\n", asm_opt->high_factor);
	fprintf(stderr, "    -N INT       consider up to max(-D*coverage,-N) overlaps for each oriented read [%d]\n", asm_opt->max_n_chain);
    fprintf(stderr, "    -r INT       round of correction [%d]\n", asm_opt->number_of_round);
    fprintf(stderr, "    -z INT       length of adapters that should be removed [%d]\n", asm_opt->adapterLen);
    fprintf(stderr, "    --max-kocc   INT\n");
    fprintf(stderr, "                 employ k-mers occurring <INT times to rescue repetitive overlaps [%d]\n", asm_opt->max_kmer_cnt);
    fprintf(stderr, "    --hg-size    INT(k, m or g)\n");
    fprintf(stderr, "                 estimated haploid genome size used for inferring read coverage [auto]\n");
    fprintf(stderr, "  Assembly:\n");
    fprintf(stderr, "    -a INT       round of assembly cleaning [%d]\n", asm_opt->clean_round);
    fprintf(stderr, "    -m INT       pop bubbles of <INT in size in contig graphs [%lld]\n", asm_opt->large_pop_bubble_size);
    fprintf(stderr, "    -p INT       pop bubbles of <INT in size in unitig graphs [%lld]\n", asm_opt->small_pop_bubble_size);
    fprintf(stderr, "    -n INT       remove tip unitigs composed of <=INT reads [%d]\n", asm_opt->max_short_tip);
    fprintf(stderr, "    -x FLOAT     max overlap drop ratio [%.2g]\n", asm_opt->max_drop_rate);
    fprintf(stderr, "    -y FLOAT     min overlap drop ratio [%.2g]\n", asm_opt->min_drop_rate);
    fprintf(stderr, "    -i           ignore saved read correction and overlaps\n");
    fprintf(stderr, "    -u           post-join step for contigs which may improve N50; 0 to disable; 1 to enable\n");
    fprintf(stderr, "                 [%u] and [%u] in default for the UL+HiFi assembly and the HiFi assembly, respectively\n",
                                      asm_opt->ul_pst_join, asm_opt->hifi_pst_join);
    fprintf(stderr, "    --hom-cov    INT\n");
    fprintf(stderr, "                 homozygous read coverage [auto]\n");
    fprintf(stderr, "    --lowQ       INT\n");
    fprintf(stderr, "                 output contig regions with >=INT%% inconsistency in BED format; 0 to disable [%d]\n", asm_opt->bed_inconsist_rate);
    fprintf(stderr, "    --b-cov      INT\n");
    fprintf(stderr, "                 break contigs at positions with <INT-fold coverage; work with '--m-rate'; 0 to disable [%d]\n", asm_opt->b_low_cov);
    fprintf(stderr, "    --h-cov      INT\n");
    fprintf(stderr, "                 break contigs at positions with >INT-fold coverage; work with '--m-rate'; -1 to disable [%d]\n", asm_opt->b_high_cov);
    fprintf(stderr, "    --m-rate     FLOAT\n");
    fprintf(stderr, "                 break contigs at positions with <=FLOAT*coverage exact overlaps;\n");
    fprintf(stderr, "                 only work with '--b-cov' or '--h-cov'[%.2f]\n", asm_opt->m_rate);
    fprintf(stderr, "    --primary    output a primary assembly and an alternate assembly\n");
    fprintf(stderr, "    --ctg-n      INT\n");
    fprintf(stderr, "                 remove tip contigs composed of <=INT reads [%d]\n", asm_opt->max_contig_tip);
    
    
//	fprintf(stderr, "    --pri-range INT1[,INT2]\n");
//	fprintf(stderr, "                keep contigs with coverage in this range in p_ctg.gfa; -1 to disable [auto,inf]\n");

    fprintf(stderr, "  Trio-partition:\n");
    fprintf(stderr, "    -1 FILE      hap1/paternal k-mer dump generated by \"yak count\" []\n");
    fprintf(stderr, "    -2 FILE      hap2/maternal k-mer dump generated by \"yak count\" []\n");
    fprintf(stderr, "    -3 FILE      list of hap1/paternal read names []\n");
	fprintf(stderr, "    -4 FILE      list of hap2/maternal read names []\n");
    fprintf(stderr, "    -c INT       lower bound of the binned k-mer's frequency [%d]\n", asm_opt->min_cnt);
    fprintf(stderr, "    -d INT       upper bound of the binned k-mer's frequency [%d]\n", asm_opt->mid_cnt);
    fprintf(stderr, "    --t-occ      INT\n");
    fprintf(stderr, "                 forcedly remove unitigs with >INT unexpected haplotype-specific reads;\n");
    fprintf(stderr, "                 ignore graph topology; [%d]\n", asm_opt->trio_flag_occ_thres);
    fprintf(stderr, "    --trio-dual  utilize homology information to correct trio phasing errors\n");


    fprintf(stderr, "  Purge-dups:\n");
    fprintf(stderr, "    -l INT       purge level. 0: no purging; 1: light; 2/3: aggressive [0 for trio; 3 for unzip]\n");
    fprintf(stderr, "    -s FLOAT     similarity threshold for duplicate haplotigs in read-level [%g for -l1/-l2, %g for -l3]\n", 
                                      asm_opt->purge_simi_rate_l2, asm_opt->purge_simi_rate_l3);
    fprintf(stderr, "    -O INT       min number of overlapped reads for duplicate haplotigs [%d]\n", 
                                      asm_opt->purge_overlap_len);
    fprintf(stderr, "    --purge-max  INT\n");
    fprintf(stderr, "                 coverage upper bound of Purge-dups [auto]\n");
    fprintf(stderr, "    --n-hap      INT\n");
    fprintf(stderr, "                 number of haplotypes [%d]\n", asm_opt->polyploidy);
    
    // fprintf(stderr, "  Hi-C-partition [experimental, not stable]:\n");
    fprintf(stderr, "  Hi-C-partition:\n");
    fprintf(stderr, "    --h1 FILEs   file names of Hi-C R1  [r1_1.fq,r1_2.fq,...]\n");
    fprintf(stderr, "    --h2 FILEs   file names of Hi-C R2  [r2_1.fq,r2_2.fq,...]\n");
    fprintf(stderr, "    --seed INT   RNG seed [%lu]\n", asm_opt->seed);
    fprintf(stderr, "    --s-base     FLOAT\n");
	fprintf(stderr, "                 similarity threshold for homology detection in base-level;\n"); 
    fprintf(stderr, "                 -1 to disable [%.3g]; -s for read-level (see <Purge-dups>)\n", asm_opt->trans_base_rate_sec);
    
    fprintf(stderr, "    --n-weight   INT\n");
    fprintf(stderr, "                 rounds of reweighting Hi-C links [%d]\n", asm_opt->n_weight);
	fprintf(stderr, "    --n-perturb  INT\n");
    fprintf(stderr, "                 rounds of perturbation [%d]\n", asm_opt->n_perturb);
    fprintf(stderr, "    --f-perturb  FLOAT\n");
	fprintf(stderr, "                 fraction to flip for perturbation [%.3g]\n", asm_opt->f_perturb);
    fprintf(stderr, "    --l-msjoin   INT\n");
    fprintf(stderr, "                 detect misjoined unitigs of >=INT in size; 0 to disable [%lu]\n", asm_opt->misjoin_len);

    fprintf(stderr, "  Ultra-Long-integration:\n");
    fprintf(stderr, "    --ul FILEs   file names of Ultra-Long reads [r1.fq,r2.fq,...]\n");
    ///pending for integration
    /**
    fprintf(stderr, "    --ul-m       INT\n");
    fprintf(stderr, "                 hybrid assembly mode. 0: fast and memory efficent; 1: may produce better assembly with ONT R10 [%d]\n", asm_opt->ul_mod);
    **/
    fprintf(stderr, "    --ul-rate    FLOAT\n");
    fprintf(stderr, "                 error rate of Ultra-Long reads [%.3g]\n", asm_opt->ul_error_rate);
    fprintf(stderr, "    --ul-tip     INT\n");
    fprintf(stderr, "                 remove tip unitigs composed of <=INT reads for the UL assembly [%d]\n", asm_opt->max_short_ul_tip);
    fprintf(stderr, "    --path-max   FLOAT\n");
    fprintf(stderr, "                 max path drop ratio [%.2g]; higher number may make the assembly cleaner\n", asm_opt->max_path_drop_rate);
    fprintf(stderr, "                 but may lead to more misassemblies\n");
    fprintf(stderr, "    --path-min   FLOAT\n");
    fprintf(stderr, "                 min path drop ratio [%.2g]; higher number may make the assembly cleaner\n", asm_opt->min_path_drop_rate);
    fprintf(stderr, "                 but may lead to more misassemblies\n");
    fprintf(stderr, "    --ul-cut     INT\n");
    fprintf(stderr, "                 filter out <INT UL reads during the UL assembly [%d]\n", asm_opt->ul_min_base);
    // fprintf(stderr, "    --low-het    enable it for genomes with very low het heterozygosity rate (<0.0001%%)\n");

    fprintf(stderr, "  Dual-Scaffolding:\n");
    fprintf(stderr, "    --dual-scaf  output scaffolding\n");
    fprintf(stderr, "    --scaf-gap   INT\n");
    fprintf(stderr, "                 max gap size for scaffolding [%ld]\n", asm_opt->self_scaf_gap_max);

    fprintf(stderr, "  Telomere-identification:\n");
    fprintf(stderr, "    --telo-m     STR\n");
    fprintf(stderr, "                 telomere motif at 5'-end; CCCTAA for human [%s]\n", ((asm_opt->telo_motif)?(asm_opt->telo_motif):("NULL")));///5'-end, check CCCTAA
    fprintf(stderr, "    --telo-p     INT\n");
    fprintf(stderr, "                 non-telomeric penalty [%ld]\n", asm_opt->telo_pen);
    fprintf(stderr, "    --telo-d     INT\n");
    fprintf(stderr, "                 max drop [%ld]\n", asm_opt->telo_drop);
    fprintf(stderr, "    --telo-s     INT\n");
    fprintf(stderr, "                 min score for telomere reads [%ld]\n", asm_opt->telo_mic_sc);

    fprintf(stderr, "  ONT simplex assembly (beta):\n");
    fprintf(stderr, "    --ont        assemble ONT simplex reads in fastq format\n");
    // fprintf(stderr, "    --sc-n       consider base qual value for assembly\n");
    fprintf(stderr, "    --chem-c     INT\n");
    fprintf(stderr, "                 detect chimeric reads with <=INT other reads support [%lu]\n", asm_opt->chemical_cov);
    fprintf(stderr, "    --chem-f     INT\n");
    fprintf(stderr, "                 length of flanking regions for chimeric read detection [%lu]\n", asm_opt->chemical_flank);
    fprintf(stderr, "    --rl-cut     INT\n");
    fprintf(stderr, "                 filter out ONT simplex reads shorter than <INT> for assembly [%ld]\n", asm_opt->rl_cut);
    fprintf(stderr, "    --sc-cut     INT\n");
    fprintf(stderr, "                 filter out ONT simplex reads with a mean base quality score below <INT> [%ld]\n", asm_opt->sc_cut);


    fprintf(stderr, "Example: ./hifiasm -o NA12878.asm -t 32 NA12878.fq.gz\n");
    fprintf(stderr, "See `https://hifiasm.readthedocs.io/en/latest/' or `man ./hifiasm.1' for complete documentation.\n");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0x287b9b(%rip), %rbp    # 0x289fe0
movq (%rbp), %rcx
leaq 0x21fe24(%rip), %rdi    # 0x222274
pushq $0x33
popq %rsi
pushq $0x1
popq %rbx
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x21fe3f(%rip), %rdi    # 0x2222a8
pushq $0x9
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x21fe33(%rip), %rdi    # 0x2222b2
pushq $0x10
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x10(%r14), %rdx
leaq 0x21fe2a(%rip), %rsi    # 0x2222c3
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
movl 0x7c(%r14), %edx
leaq 0x21fe42(%rip), %rsi    # 0x2222f1
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x21fe59(%rip), %rdi    # 0x22231a
pushq $0x27
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x21fe6b(%rip), %rdi    # 0x222342
pushq $0x25
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x21fe7b(%rip), %rdi    # 0x222368
pushq $0x12
popq %r12
movq %r12, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x21fe74(%rip), %rdi    # 0x22237b
pushq $0x30
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x21fe8f(%rip), %rdi    # 0x2223ac
pushq $0x1c
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x80(%r14), %edx
leaq 0x21fe8f(%rip), %rsi    # 0x2223c9
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
movl 0x94(%r14), %edx
leaq 0x21fea8(%rip), %rsi    # 0x2223fb
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
movl 0xac(%r14), %edx
leaq 0x21febc(%rip), %rsi    # 0x222428
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
movsd 0xb8(%r14), %xmm0
leaq 0x21fee6(%rip), %rsi    # 0x22246d
movb $0x1, %al
callq 0x22b0
movq (%rbp), %rdi
movl 0xe8(%r14), %edx
leaq 0x21ff12(%rip), %rsi    # 0x2224b2
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
movl 0xf8(%r14), %edx
leaq 0x21ff53(%rip), %rsi    # 0x22250c
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
movl 0x100(%r14), %edx
leaq 0x21ff65(%rip), %rsi    # 0x222537
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x21ff94(%rip), %rdi    # 0x222578
pushq $0x15
popq %rsi
movq %rsi, %r15
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0xb0(%r14), %edx
leaq 0x21ff8a(%rip), %rsi    # 0x22258e
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x21ffd0(%rip), %rdi    # 0x2225e6
pushq $0x20
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x21ffdb(%rip), %rdi    # 0x222607
pushq $0x57
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x22001d(%rip), %rdi    # 0x22265f
pushq $0xc
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x104(%r14), %edx
leaq 0x22000d(%rip), %rsi    # 0x22266c
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
movq 0x188(%r14), %rdx
leaq 0x220026(%rip), %rsi    # 0x22269e
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
movq 0x180(%r14), %rdx
leaq 0x220053(%rip), %rsi    # 0x2226e4
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
movl 0x11c(%r14), %edx
leaq 0x220080(%rip), %rsi    # 0x22272a
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
cvtss2sd 0x160(%r14), %xmm0
leaq 0x2200a7(%rip), %rsi    # 0x22276c
movb $0x1, %al
callq 0x22b0
movq (%rbp), %rdi
cvtss2sd 0x15c(%r14), %xmm0
leaq 0x2200bc(%rip), %rsi    # 0x22279c
movb $0x1, %al
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2200da(%rip), %rdi    # 0x2227cc
pushq $0x3b
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220100(%rip), %rdi    # 0x222808
pushq $0x5d
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movzbl 0x25e(%r14), %edx
movzbl 0x25d(%r14), %ecx
leaq 0x220138(%rip), %rsi    # 0x222866
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x22018e(%rip), %rdi    # 0x2228ce
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x22018e(%rip), %rdi    # 0x2228e4
pushq $0x31
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2201aa(%rip), %rdi    # 0x222916
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x150(%r14), %edx
leaq 0x2201a3(%rip), %rsi    # 0x22292c
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2201f5(%rip), %rdi    # 0x222990
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0xd8(%r14), %edx
leaq 0x2201ee(%rip), %rsi    # 0x2229a6
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x22024a(%rip), %rdi    # 0x222a14
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0xdc(%r14), %edx
leaq 0x220243(%rip), %rsi    # 0x222a2a
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2202a0(%rip), %rdi    # 0x222a99
pushq $0x17
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2202a2(%rip), %rdi    # 0x222ab1
pushq $0x52
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movsd 0xe0(%r14), %xmm0
leaq 0x2202d6(%rip), %rsi    # 0x222b04
movb $0x1, %al
callq 0x22b0
movq (%rbp), %rcx
leaq 0x220302(%rip), %rdi    # 0x222b42
pushq $0x45
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220332(%rip), %rdi    # 0x222b88
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x124(%r14), %edx
leaq 0x22032b(%rip), %rsi    # 0x222b9e
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x22035b(%rip), %rdi    # 0x222be0
movq %r12, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220358(%rip), %rdi    # 0x222bf3
pushq $0x46
popq %r13
movq %r13, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220385(%rip), %rdi    # 0x222c3a
movq %r13, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2203b6(%rip), %rdi    # 0x222c81
pushq $0x35
popq %r13
movq %r13, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2203d2(%rip), %rdi    # 0x222cb7
movq %r13, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x128(%r14), %edx
leaq 0x2203eb(%rip), %rsi    # 0x222ced
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rdi
movl 0x12c(%r14), %edx
leaq 0x220415(%rip), %rsi    # 0x222d30
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x220446(%rip), %rdi    # 0x222d73
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220446(%rip), %rdi    # 0x222d89
pushq $0x58
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x1c0(%r14), %edx
leaq 0x220482(%rip), %rsi    # 0x222de2
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x22049e(%rip), %rdi    # 0x222e10
pushq $0x4d
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2204d6(%rip), %rdi    # 0x222e5e
pushq $0xe
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2204cf(%rip), %rdi    # 0x222e6d
pushq $0x61
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
cvtss2sd 0x164(%r14), %xmm0
cvtss2sd 0x168(%r14), %xmm1
leaq 0x220509(%rip), %rsi    # 0x222ecf
movb $0x2, %al
callq 0x22b0
movq (%rbp), %rdi
movl 0x138(%r14), %edx
leaq 0x22055a(%rip), %rsi    # 0x222f39
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x220596(%rip), %rdi    # 0x222f87
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220596(%rip), %rdi    # 0x222f9d
pushq $0x3b
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2205bc(%rip), %rdi    # 0x222fd9
movq %r15, %rsi
movq %r15, %r13
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x1bc(%r14), %edx
leaq 0x2205b2(%rip), %rsi    # 0x222fef
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2205cc(%rip), %rdi    # 0x22301b
movq %r12, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2205c9(%rip), %rdi    # 0x22302e
pushq $0x3e
popq %r12
movq %r12, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2205ee(%rip), %rdi    # 0x22306d
movq %r12, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x1c8(%r14), %rdx
leaq 0x220610(%rip), %rsi    # 0x2230ac
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x22061f(%rip), %rdi    # 0x2230cd
pushq $0x17
popq %r15
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x22061d(%rip), %rdi    # 0x2230e5
pushq $0x4c
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
cvtss2sd 0x174(%r14), %xmm0
leaq 0x22064b(%rip), %rsi    # 0x223132
movb $0x1, %al
callq 0x22b0
movq (%rbp), %rcx
leaq 0x220686(%rip), %rdi    # 0x22317f
movq %r13, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x1e0(%r14), %edx
leaq 0x22067f(%rip), %rsi    # 0x223195
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2206a5(%rip), %rdi    # 0x2231cd
movq %r13, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x1d0(%r14), %edx
leaq 0x22069e(%rip), %rsi    # 0x2231e3
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2206ba(%rip), %rdi    # 0x223211
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movsd 0x1d8(%r14), %xmm0
leaq 0x2206b3(%rip), %rsi    # 0x223229
movb $0x1, %al
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2206dc(%rip), %rdi    # 0x223264
movq %r13, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x1e8(%r14), %rdx
leaq 0x2206d5(%rip), %rsi    # 0x22327a
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x220713(%rip), %rdi    # 0x2232ca
pushq $0x1a
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220718(%rip), %rdi    # 0x2232e5
pushq $0x42
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220745(%rip), %rdi    # 0x223328
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movsd 0x228(%r14), %xmm0
leaq 0x22073e(%rip), %rsi    # 0x223340
movb $0x1, %al
callq 0x22b0
movq (%rbp), %rcx
leaq 0x220764(%rip), %rdi    # 0x223378
movq %r13, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x120(%r14), %edx
leaq 0x22075d(%rip), %rsi    # 0x22338e
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2207a1(%rip), %rdi    # 0x2233e4
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
cvtss2sd 0x17c(%r14), %xmm0
leaq 0x22079a(%rip), %rsi    # 0x2233fc
movb $0x1, %al
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2207e2(%rip), %r12    # 0x223456
pushq $0x34
popq %r13
movq %r12, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2207fa(%rip), %rdi    # 0x22348b
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
cvtss2sd 0x178(%r14), %xmm0
leaq 0x2207f3(%rip), %rsi    # 0x2234a3
movb $0x1, %al
callq 0x22b0
movq (%rbp), %rcx
movq %r12, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220829(%rip), %rdi    # 0x2234fd
pushq $0x15
popq %r15
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movl 0x260(%r14), %edx
leaq 0x22081e(%rip), %rsi    # 0x223513
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x220853(%rip), %rdi    # 0x22355a
pushq $0x14
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220852(%rip), %rdi    # 0x22356f
pushq $0x24
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220861(%rip), %rdi    # 0x223594
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x278(%r14), %rdx
leaq 0x22085a(%rip), %rsi    # 0x2235aa
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x22087d(%rip), %rdi    # 0x2235df
pushq $0x1b
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220883(%rip), %rdi    # 0x2235fb
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x288(%r14), %rax
testq %rax, %rax
leaq 0x2208bb(%rip), %rdx    # 0x223653
cmovneq %rax, %rdx
leaq 0x22086e(%rip), %rsi    # 0x223611
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2208a3(%rip), %rdi    # 0x223658
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x290(%r14), %rdx
leaq 0x22089c(%rip), %rsi    # 0x22366e
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2208b8(%rip), %rdi    # 0x22369c
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x298(%r14), %rdx
leaq 0x2208b1(%rip), %rsi    # 0x2236b2
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2208c0(%rip), %rdi    # 0x2236d3
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x2a0(%r14), %rdx
leaq 0x2208b9(%rip), %rsi    # 0x2236e9
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2208dc(%rip), %rdi    # 0x22371e
pushq $0x1f
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x2208e6(%rip), %rdi    # 0x22373e
pushq $0x3c
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x22090d(%rip), %rdi    # 0x22377b
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x2b8(%r14), %rdx
leaq 0x220906(%rip), %rsi    # 0x223791
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x220941(%rip), %rdi    # 0x2237de
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x2c0(%r14), %rdx
leaq 0x22093a(%rip), %rsi    # 0x2237f4
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x220977(%rip), %rdi    # 0x223843
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x2c8(%r14), %rdx
leaq 0x220970(%rip), %rsi    # 0x223859
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2209b3(%rip), %rdi    # 0x2238ae
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rdi
movq 0x2d0(%r14), %rdx
leaq 0x2209ac(%rip), %rsi    # 0x2238c4
xorl %eax, %eax
callq 0x22b0
movq (%rbp), %rcx
leaq 0x2209fa(%rip), %rdi    # 0x223924
pushq $0x36
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x220a1b(%rip), %rdi    # 0x22395b
pushq $0x61
popq %rsi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2410