// File: /workspace/github_cpp_makefile_star2_O1/vsklad[P]cgen/commandline.cpp
// Function: CGenCommandLineReader::parse(CGenCommandInfo&)
void CGenCommandLineReader::parse(CGenCommandInfo& info) {
    std::string variable_name_last;
    
    skip_line(); // the first argument is the file name
    while (!is_eof()) {
        std::string variable_name_current;
        if (is_option()) {
            int option_index = read_option(APP_OPTIONS, APP_OPTIONS_SIZE);
            switch(option_index) {
                case 0: // format
                    if (is_eol()) {
                        read_eol();
                    };
                    if (is_token("anf") || is_token("ANF")) {
                        skip_token();
                        info.formula_type = ftAnf;
                        info.output_format = ofAnfPolybori;
                        info.b_formula_type_specified = true;
                    } else if (is_token("cnf") || is_token("CNF") ||
                               is_token("dimacs_cnf") || is_token("dimacs_cnf")) {
                        skip_token();
                        info.formula_type = ftCnf;
                        info.output_format = ofCnfDimacs;
                        info.b_formula_type_specified = true;
                    } else if (is_token("vig") || is_token("VIG") ||
                               is_token("vig_graphml") || is_token("VIG_GraphML")) {
                        skip_token();
                        info.formula_type = ftCnf;
                        info.output_format = ofCnfVIGGraphML;
                        info.b_formula_type_specified = true;
                    } else if (is_token("vigw") || is_token("VIGW") ||
                               is_token("vigw_graphml") || is_token("VIGW_GraphML")) {
                        skip_token();
                        info.formula_type = ftCnf;
                        info.output_format = ofCnfWeightedVIGGraphML;
                        info.b_formula_type_specified = true;
                    } else if (is_token("vig_gexf") || is_token("VIG_GEXF")) {
                        skip_token();
                        info.formula_type = ftCnf;
                        info.output_format = ofCnfVIGGEXF;
                        info.b_formula_type_specified = true;
                    } else {
                        parse_error(ERROR_UNKNOWN_FORMAT);
                    };
                    break;
                case 1: // variable
                    if (info.command != cmdEncode &&
                        info.command != cmdProcess) {
                        parse_error(ERROR_V_MUST_FOLLOW_ENCODE_PROCESS);
                    };
                    if (is_eol()) {
                        read_eol();
                    };
                    variable_name_current = parse_variable(info.variables_map, info.command);
                    break;
                case 2: // rounds
                    if (info.command != cmdEncode) {
                        parse_error(ERROR_R_MUST_FOLLOW_ENCODE);
                    };
                    if (is_eol()) {
                        read_eol();
                    };
                    info.rounds = read_uint32(1, UINT32_MAX);
                    break;
                case 3: // add_max_agrs
                    read_symbol('=');
                    info.add_max_args = read_uint32();
                    if (info.add_max_args == 0) {
                        parse_error(ERROR_ADD_MAX_ARGS_RANGE);
                    };
                    break;
                case 4: // xor_max_args
                    read_symbol('=');
                    info.xor_max_args = read_uint32();
                    if (info.xor_max_args == 0) {
                        parse_error(ERROR_XOR_MAX_ARGS_RANGE);
                    };
                    break;
                case 5: // assign_after_encoding
                    info.b_assign_after_encoding = true;
                    break;
                case 6: // help
                case 7:
                    info.command = cmdHelp;
                    break;
                case 8: // version
                    info.command = cmdVersion;
                    break;
                case 9: // no_variable_reindexing
                    info.b_reindex_variables = false;
                    break;
                case 10:
                case 11: // normalize_variables
                    info.b_normalize_variables_specified = true;
                    break;
                case 12: // mode
                    if (is_eol()) {
                        read_eol();
                    };
                    if (is_token("o") || is_token("original")) {
                        skip_token();
                        info.mode = bal::fpmOriginal;
                    } else if (is_token("a") || is_token("all")) {
                        skip_token();
                        info.mode = bal::fpmAll;
                    } else if (is_token("u") || is_token("unoptimized")) {
                        skip_token();
                        info.mode = bal::fpmUnoptimized;
                    } else {
                        parse_error(ERROR_MODE_UNKNOWN_VALUE);
                    };
                    info.b_mode_assigned = true;
                    break;
                case 13: // trace
                case 14:
                    if (is_eol()) {
                        read_eol();
                    };
                    if (is_token("n") || is_token("native") || is_token("N") || is_token("NATIVE")) {
                        skip_token();
                        info.trace_format = tfNativeFile;
                    } else if (is_token("d") || is_token("debug") || is_token("D") || is_token("DEBUG")) {
                        skip_token();
                        info.trace_format = tfNativeStdOut;
                    } else if (is_token("gexf") || is_token("GEXF")) {
                        skip_token();
                        info.trace_format = tfCnfVIGGEXF;
                    } else {
                        parse_error(ERROR_TRACE_UNKNOWN_VALUE);
                    };
                    break;
                default:
                    print_arg_ignore(ERROR_UNKNOWN_OPTION, get_current_line());
                    read_until_eol();
                    break;
            };
        } else if (is_token("encode")) {
            info.command = cmdEncode;
            skip_token();
            read_eol();
            if (is_token("SHA1") || is_token("sha1")) {
                skip_token();
                info.algorithm = algSHA1;
                info.rounds = SHA1_ROUNDS_NUMBER;
            } else if (is_token("SHA256") || is_token("sha256")) {
                skip_token();
                info.algorithm = algSHA256;
                info.rounds = SHA256_ROUNDS_NUMBER;
            } else {
                parse_error(ERROR_UNKNOWN_ALGORITHM);
            };
        } else if (is_token("process")) {
            info.command = cmdProcess;
            skip_token();
        } else if (is_token("except")) {
            assert(variable_name_current.empty());
            parse_variable_except(info.variables_map, variable_name_last);
            variable_name_current = variable_name_last;
        } else if (is_token("pad")) {
            assert(variable_name_current.empty());
            parse_variable_pad(info.variables_map, variable_name_last);
            variable_name_current = variable_name_last;
        } else if (is_token("replace")) {
            assert(variable_name_current.empty());
            parse_variable_replace(info.variables_map, variable_name_last);
            variable_name_current = variable_name_last;
            skip_token();
        } else if (is_token("complete") && !variable_name_last.empty()) {
            assert(variable_name_current.empty());
            parse_variable_compute_mode(info.variables_map, variable_name_last, vcmComplete);
            variable_name_current = variable_name_last;
            skip_token();
        } else if (is_token("constant") && !variable_name_last.empty()) {
            assert(variable_name_current.empty());
            parse_variable_compute_mode(info.variables_map, variable_name_last, vcmConstant);
            variable_name_current = variable_name_last;
            skip_token();
        } else if (is_token("difference") && !variable_name_last.empty()) {
            assert(variable_name_current.empty());
            parse_variable_compute_mode(info.variables_map, variable_name_last, vcmDifference);
            variable_name_current = variable_name_last;
            skip_token();
        } else if (info.command == cmdEncode && info.output_file_name.empty()) {
            info.output_file_name = read_until_eol();
        } else if ((info.command == cmdProcess) &&
                   info.input_file_name.empty()) {
            info.input_file_name = read_until_eol();
        } else if ((info.command == cmdProcess) &&
                   info.output_file_name.empty()) {
            info.output_file_name = read_until_eol();
        } else {
            print_arg_ignore(ERROR_UNKNOWN_ARGUMENT, get_current_line());
        };
        read_eol();
        variable_name_last = variable_name_current;
    };
    
    // validate the result
    // assign default values
    
    if (info.command == cmdProcess) {
        if (info.input_file_name.empty()) {
            parse_error(ERROR_MISSING_INPUT_FILE_NAME);
        };
        validate_file_extension(info.input_file_name, "cnf", info, ftCnf, ofCnfDimacs, ERROR_INPUT_FILE_FORMAT_MISMATCH);
        validate_file_extension(info.input_file_name, "anf", info, ftAnf, ofAnfPolybori, ERROR_INPUT_FILE_FORMAT_MISMATCH);
    };
    
    if (info.command == cmdEncode || info.command == cmdProcess) {
        if (!info.output_file_name.empty()) {
            validate_file_extension(info.output_file_name, "cnf", info, ftCnf, ofCnfDimacs, ERROR_OUTPUT_FILE_FORMAT_MISMATCH);
            validate_file_extension(info.output_file_name, "anf", info, ftAnf, ofAnfPolybori, ERROR_OUTPUT_FILE_FORMAT_MISMATCH);
        };
        
        if (!info.b_formula_type_specified) {
            if (info.command == cmdEncode) {
                info.formula_type = ftCnf;
                info.output_format = ofCnfDimacs;
                info.b_formula_type_specified = true;
            } else {
                parse_error(ERROR_FORMULA_TYPE_UNDEFINED);
            };
        };
    } else {
        if (info.variables_map.size() > 0) {
            parse_error(ERROR_V_MUST_FOLLOW_ENCODE_PROCESS);
        };
    };
    
    if (info.b_normalize_variables_specified) {
        if (info.command != cmdEncode && info.command != cmdProcess) {
            parse_error(ERROR_NORMALIZE_VARIABLES_MUST_FOLLOW_ENCODE_PROCESS);
        };
    };
    
    if (info.b_mode_assigned) {
        if (info.command != cmdEncode && info.command != cmdProcess) {
            parse_error(ERROR_MODE_UNSUPPORTED_COMMAND);
        };
        if (info.formula_type == ftAnf && info.mode != bal::fpmUnoptimized) {
            parse_error(ERROR_ANF_UNOPTIMIZED_ONLY);
        };
    } else if (info.formula_type == ftAnf) {
        info.mode = bal::fpmUnoptimized;
    } else {
        info.mode = bal::fpmOriginal;
    };
    
    if (info.command != cmdEncode) {
        if (info.add_max_args > 0) {
            parse_error(ERROR_ADD_MAX_ARGS_MUST_FOLLOW_ENCODE);
        };
        if (info.xor_max_args > 0) {
            parse_error(ERROR_XOR_MAX_ARGS_MUST_FOLLOW_ENCODE);
        };
        if (info.b_assign_after_encoding) {
            parse_error(ERROR_AAE_MUST_FOLLOW_ENCODE);
        };
    };
    
    if (info.trace_format != tfNone) {
#ifdef CNF_TRACE
        if ((info.formula_type != ftCnf) ||
            (info.command != cmdEncode && info.command != cmdProcess)) {
            parse_error(ERROR_TRACE_UNSUPPORTED_COMMAND);
        };
#else
        parse_error(ERROR_TRACE_NOT_SUPPORTED);
#endif
    };
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2e8, %rsp            # imm = 0x2E8
movq %rsi, %r14
movq %rdi, %rbx
leaq -0x78(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq (%rdi), %rax
movq -0x18(%rax), %rax
leaq (%rdi,%rax), %r15
cmpq $0x0, 0x38(%rdi,%rax)
jne 0x1b2a3
movq (%r15), %rax
movq %r15, %rdi
callq *(%rax)
leaq 0x18(%r15), %rsi
testb %al, %al
je 0x1b28e
movq 0x20(%r15), %rdx
leaq 0x32b55(%rip), %rcx     # 0x4ddd4
movq %rsi, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
callq 0xc410
jmp 0x1b29b
movq (%r15), %rax
movq %r15, %rdi
callq *0x8(%rax)
incq 0x38(%r15)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r15)
movq (%r15), %rax
movq %r15, %rdi
callq *(%rax)
leaq 0x18(%r15), %rsi
testb %al, %al
je 0x1b2cd
movq 0x20(%r15), %rdx
leaq 0x32b16(%rip), %rcx     # 0x4ddd4
movq %rsi, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
callq 0xc410
jmp 0x1b2da
movq (%r15), %rax
movq %r15, %rdi
callq *0x8(%rax)
incq 0x38(%r15)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r15)
leaq 0x18(%r14), %rax
movq %rax, -0x60(%rbp)
leaq 0x78(%r14), %rax
movq %rax, -0x68(%rbp)
movq %r14, -0x30(%rbp)
leaq 0x58(%r14), %rax
movq %rax, -0xb0(%rbp)
leaq 0x2c794(%rip), %r12     # 0x47a9c
leaq -0x1b0(%rbp), %r14
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r13
movq (%rbx,%rax), %rax
movq %r13, %rdi
callq *(%rax)
testb %al, %al
je 0x1b39b
cmpq $0x0, 0x38(%r13)
jne 0x1b36f
movq (%r13), %rax
movq %r13, %rdi
callq *(%rax)
leaq 0x18(%r13), %rsi
testb %al, %al
je 0x1b359
movq 0x20(%r13), %rdx
movq %rsi, %rdi
xorl %esi, %esi
leaq 0x32a85(%rip), %rcx     # 0x4ddd4
xorl %r8d, %r8d
callq 0xc410
jmp 0x1b367
movq (%r13), %rax
movq %r13, %rdi
callq *0x8(%rax)
incq 0x38(%r13)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r13)
movq 0x8(%r13), %rcx
movq 0x20(%r13), %rax
leaq -0x1(%rax), %rdx
cmpq %rdx, %rcx
jne 0x1b391
movq 0x18(%r13), %rdx
cmpb $0xd, (%rdx,%rcx)
jne 0x1b391
incq %rcx
movq %rcx, 0x8(%r13)
cmpq %rax, 0x8(%r13)
jae 0x1cf81
leaq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
movq $0x0, -0x50(%rbp)
movb $0x0, -0x48(%rbp)
movq (%rbx), %rax
movq -0x20(%rax), %rax
leaq (%rbx,%rax), %r13
movq (%rbx,%rax), %rax
addq -0x18(%rax), %r13
movq %r13, %rdi
callq 0x1eae0
cmpq $0x0, 0x10(%r13)
je 0x1b424
movq 0x8(%r13), %rax
movq 0x18(%r13), %rcx
cmpb $0x2d, (%rcx,%rax)
jne 0x1b424
movq (%rbx), %rax
movq -0x20(%rax), %rdi
addq %rbx, %rdi
leaq 0x41590(%rip), %rsi     # 0x5c980
movl $0xf, %edx
callq 0x1e776
cmpl $0xe, %eax
ja 0x1becf
movl %eax, %eax
leaq 0x2beb8(%rip), %rcx     # 0x472c4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x30(%rbp), %rax
movl $0x3, (%rax)
jmp 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1b514
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x6, %rdx
je 0x1b46e
movb (%rcx,%rdx), %sil
cmpb (%rdx,%r12), %sil
jne 0x1b514
incq %rdx
cmpq %rdx, %rax
jne 0x1b44d
movq %rax, %rcx
jmp 0x1b473
movl $0x6, %ecx
cmpb $0x1, (%rcx,%r12)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1b514
movq -0x30(%rbp), %rax
movl $0x1, (%rax)
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movq 0x10(%rbx,%rcx), %rdx
addq %rdx, 0x8(%rbx,%rcx)
movq $0x0, 0x10(%rbx,%rcx)
movl $0x0, 0x40(%rbx,%rcx)
movq -0x18(%rax), %rdi
addq %rbx, %rdi
callq 0x1e298
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1b940
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x4, %rdx
je 0x1b924
movb (%rcx,%rdx), %sil
leaq 0x2c2d9(%rip), %rdi     # 0x477d3
cmpb (%rdx,%rdi), %sil
jne 0x1b940
incq %rdx
cmpq %rdx, %rax
jne 0x1b4e5
movq %rax, %rcx
jmp 0x1b929
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1b584
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x7, %rdx
je 0x1b55d
movb (%rcx,%rdx), %sil
leaq 0x2c578(%rip), %rdi     # 0x47ac2
cmpb (%rdx,%rdi), %sil
jne 0x1b584
incq %rdx
cmpq %rdx, %rax
jne 0x1b539
movq %rax, %rcx
jmp 0x1b562
movl $0x7, %ecx
leaq 0x2c559(%rip), %rdx     # 0x47ac2
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1b584
movq -0x30(%rbp), %rax
movl $0x2, (%rax)
jmp 0x1b9ea
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1b605
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x6, %rdx
je 0x1b5cd
movb (%rcx,%rdx), %sil
leaq 0x2c510(%rip), %rdi     # 0x47aca
cmpb (%rdx,%rdi), %sil
jne 0x1b605
incq %rdx
cmpq %rdx, %rax
jne 0x1b5a9
movq %rax, %rcx
jmp 0x1b5d2
movl $0x6, %ecx
leaq 0x2c4f1(%rip), %rdx     # 0x47aca
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1b605
cmpq $0x0, -0x50(%rbp)
jne 0x1d501
movq %rbx, %rdi
movq -0x60(%rbp), %rsi
leaq -0x88(%rbp), %rdx
callq 0x1a87e
jmp 0x1b684
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1b699
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x3, %rdx
je 0x1b64e
movb (%rcx,%rdx), %sil
leaq 0x2c4f9(%rip), %rdi     # 0x47b34
cmpb (%rdx,%rdi), %sil
jne 0x1b699
incq %rdx
cmpq %rdx, %rax
jne 0x1b62a
movq %rax, %rcx
jmp 0x1b653
movl $0x3, %ecx
leaq 0x2c4da(%rip), %rdx     # 0x47b34
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1b699
cmpq $0x0, -0x50(%rbp)
jne 0x1d520
movq %rbx, %rdi
movq -0x60(%rbp), %rsi
leaq -0x88(%rbp), %rdx
callq 0x1ac00
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xc150
jmp 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1b72d
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x7, %rdx
je 0x1b6e2
movb (%rcx,%rdx), %sil
leaq 0x2c469(%rip), %rdi     # 0x47b38
cmpb (%rdx,%rdi), %sil
jne 0x1b72d
incq %rdx
cmpq %rdx, %rax
jne 0x1b6be
movq %rax, %rcx
jmp 0x1b6e7
movl $0x7, %ecx
leaq 0x2c44a(%rip), %rdx     # 0x47b38
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1b72d
cmpq $0x0, -0x50(%rbp)
jne 0x1d53f
movq %rbx, %rdi
movq -0x60(%rbp), %rsi
leaq -0x88(%rbp), %rdx
callq 0x1b010
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xc150
jmp 0x1b9ea
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1b7ce
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x8, %rdx
je 0x1b77a
movb (%rcx,%rdx), %sil
leaq 0x2c3d9(%rip), %rdi     # 0x47b40
cmpb (%rdx,%rdi), %sil
jne 0x1b7ce
incq %rdx
cmpq %rdx, %rax
jne 0x1b756
movq %rax, %rcx
jmp 0x1b77f
movl $0x8, %ecx
leaq 0x2c3ba(%rip), %rdx     # 0x47b40
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1b7ce
cmpq $0x0, -0x80(%rbp)
je 0x1b7ce
cmpq $0x0, -0x50(%rbp)
jne 0x1d55e
movq %rbx, %rdi
movq -0x60(%rbp), %rsi
leaq -0x88(%rbp), %rdx
xorl %ecx, %ecx
callq 0x1b18c
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xc150
jmp 0x1b9ea
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1b8cf
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x8, %rdx
je 0x1b878
movb (%rcx,%rdx), %sil
leaq 0x2c341(%rip), %rdi     # 0x47b49
cmpb (%rdx,%rdi), %sil
jne 0x1b8cf
incq %rdx
cmpq %rdx, %rax
jne 0x1b7f7
movq %rax, %rcx
jmp 0x1b87d
movq -0x30(%rbp), %rax
movb $0x1, 0x9b(%rax)
jmp 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r13
cmpq $0x0, 0x38(%rbx,%rax)
jne 0x1c0b8
movq (%r13), %rax
movq %r13, %rdi
callq *(%rax)
leaq 0x18(%r13), %rsi
testb %al, %al
je 0x1c0a2
movq 0x20(%r13), %rdx
movq %rsi, %rdi
xorl %esi, %esi
leaq 0x32569(%rip), %rcx     # 0x4ddd4
xorl %r8d, %r8d
callq 0xc410
jmp 0x1c0b0
movl $0x8, %ecx
leaq 0x2c2c5(%rip), %rdx     # 0x47b49
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1b8cf
cmpq $0x0, -0x80(%rbp)
je 0x1b8cf
cmpq $0x0, -0x50(%rbp)
jne 0x1d57d
movq %rbx, %rdi
movq -0x60(%rbp), %rsi
leaq -0x88(%rbp), %rdx
movl $0x2, %ecx
callq 0x1b18c
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xc150
jmp 0x1b9ea
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1ba11
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0xa, %rdx
je 0x1b998
movb (%rcx,%rdx), %sil
leaq 0x2c245(%rip), %rdi     # 0x47b52
cmpb (%rdx,%rdi), %sil
jne 0x1ba11
incq %rdx
cmpq %rdx, %rax
jne 0x1b8f8
movq %rax, %rcx
jmp 0x1b99d
movl $0x4, %ecx
leaq 0x2bea3(%rip), %rdx     # 0x477d3
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1bb1c
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1bb55
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x4, %rdx
je 0x1bb04
movb (%rcx,%rdx), %sil
leaq 0x2be50(%rip), %rdi     # 0x477ce
cmpb (%rdx,%rdi), %sil
jne 0x1bb55
incq %rdx
cmpq %rdx, %rax
jne 0x1b969
movq %rax, %rcx
jmp 0x1bb09
movl $0xa, %ecx
leaq 0x2c1ae(%rip), %rdx     # 0x47b52
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1ba11
cmpq $0x0, -0x80(%rbp)
je 0x1ba11
cmpq $0x0, -0x50(%rbp)
jne 0x1d59c
movq %rbx, %rdi
movq -0x60(%rbp), %rsi
leaq -0x88(%rbp), %rdx
movl $0x1, %ecx
callq 0x1b18c
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xc150
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
jmp 0x1c612
movq -0x30(%rbp), %rcx
movl (%rcx), %eax
cmpl $0x1, %eax
jne 0x1ba77
cmpq $0x0, 0x80(%rcx)
jne 0x1ba77
movq (%rbx), %rax
movq -0x18(%rax), %r13
movq 0x18(%rbx,%r13), %rsi
addq 0x8(%rbx,%r13), %rsi
leaq -0xa8(%rbp), %r15
movq %r15, %rdi
leaq -0x31(%rbp), %rdx
callq 0xc0f0
movq 0x20(%rbx,%r13), %rax
movq %rax, 0x8(%rbx,%r13)
movq $0x0, 0x10(%rbx,%r13)
movl $0x0, 0x40(%rbx,%r13)
movq -0x68(%rbp), %rdi
movq %r15, %rsi
callq 0xc150
jmp 0x1c5fa
cmpl $0x2, %eax
jne 0x1bae7
cmpq $0x0, 0x60(%rcx)
je 0x1c04e
cmpl $0x2, %eax
jne 0x1bae7
cmpq $0x0, 0x80(%rcx)
jne 0x1bae7
movq (%rbx), %rax
movq -0x18(%rax), %r13
movq 0x18(%rbx,%r13), %rsi
addq 0x8(%rbx,%r13), %rsi
leaq -0xa8(%rbp), %r15
movq %r15, %rdi
leaq -0x31(%rbp), %rdx
callq 0xc0f0
movq 0x20(%rbx,%r13), %rax
movq %rax, 0x8(%rbx,%r13)
movq $0x0, 0x10(%rbx,%r13)
movl $0x0, 0x40(%rbx,%r13)
movq -0x68(%rbp), %rdi
movq %r15, %rsi
callq 0xc150
jmp 0x1c5fa
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x18(%rbx,%rax), %rsi
leaq 0x2c063(%rip), %rdi     # 0x47b5d
callq 0x19d04
jmp 0x1c612
movl $0x4, %ecx
leaq 0x2bcbe(%rip), %rdx     # 0x477ce
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1bb55
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %rax
movl $0x1, 0x4(%rax)
movl $0x50, 0x48(%rax)
jmp 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1bf61
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x6, %rdx
je 0x1bf49
movb (%rcx,%rdx), %sil
leaq 0x2bc4c(%rip), %rdi     # 0x477df
cmpb (%rdx,%rdi), %sil
jne 0x1bf61
incq %rdx
cmpq %rdx, %rax
jne 0x1bb7e
movq %rax, %rcx
jmp 0x1bf4e
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0x3d, %esi
callq 0x1df9e
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
xorl %esi, %esi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x1d7d8
movq -0x30(%rbp), %rcx
movl %eax, 0x50(%rcx)
testl %eax, %eax
jne 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %r13
leaq -0x120(%rbp), %rax
movq %rax, -0x130(%rbp)
leaq -0x130(%rbp), %r15
movq %r15, %rdi
leaq 0x2bdf0(%rip), %rsi     # 0x479fc
leaq 0x2be11(%rip), %rdx     # 0x47a24
callq 0x1f29e
addq %rbx, %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x1de0a
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
jmp 0x1c608
movq -0x30(%rbp), %rax
cmpl $0x1, (%rax)
je 0x1bc9a
movq (%rbx), %rax
movq -0x18(%rax), %r13
leaq -0x160(%rbp), %rax
movq %rax, -0x170(%rbp)
leaq -0x170(%rbp), %r15
movq %r15, %rdi
leaq 0x2bd38(%rip), %rsi     # 0x479a0
leaq 0x2bd63(%rip), %rdx     # 0x479d2
callq 0x1f29e
addq %rbx, %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x1de0a
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
je 0x1bc9a
callq 0xc280
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r13
cmpq $0x0, 0x38(%rbx,%rax)
jne 0x1c52f
movq (%r13), %rax
movq %r13, %rdi
callq *(%rax)
leaq 0x18(%r13), %rsi
testb %al, %al
je 0x1c519
movq 0x20(%r13), %rdx
movq %rsi, %rdi
xorl %esi, %esi
leaq 0x320fe(%rip), %rcx     # 0x4ddd4
xorl %r8d, %r8d
callq 0xc410
jmp 0x1c527
movq -0x30(%rbp), %rax
movb $0x0, 0x9a(%rax)
jmp 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r13
cmpq $0x0, 0x38(%rbx,%rax)
jne 0x1c31b
movq (%r13), %rax
movq %r13, %rdi
callq *(%rax)
leaq 0x18(%r13), %rsi
testb %al, %al
je 0x1c305
movq 0x20(%r13), %rdx
movq %rsi, %rdi
xorl %esi, %esi
leaq 0x320a5(%rip), %rcx     # 0x4ddd4
xorl %r8d, %r8d
callq 0xc410
jmp 0x1c313
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0x3d, %esi
callq 0x1df9e
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
xorl %esi, %esi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x1d7d8
movq -0x30(%rbp), %rcx
movl %eax, 0x4c(%rcx)
testl %eax, %eax
jne 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %r13
leaq -0x140(%rbp), %rax
movq %rax, -0x150(%rbp)
leaq -0x150(%rbp), %r15
movq %r15, %rdi
leaq 0x2bc38(%rip), %rsi     # 0x479d3
leaq 0x2bc59(%rip), %rdx     # 0x479fb
callq 0x1f29e
addq %rbx, %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x1de0a
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
jmp 0x1c608
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r13
cmpq $0x0, 0x38(%rbx,%rax)
jne 0x1c425
movq (%r13), %rax
movq %r13, %rdi
callq *(%rax)
leaq 0x18(%r13), %rsi
testb %al, %al
je 0x1c40f
movq 0x20(%r13), %rdx
movq %rsi, %rdi
xorl %esi, %esi
leaq 0x31fd0(%rip), %rcx     # 0x4ddd4
xorl %r8d, %r8d
callq 0xc410
jmp 0x1c41d
movq -0x30(%rbp), %rax
movl (%rax), %eax
decl %eax
cmpl $0x2, %eax
jb 0x1be76
movq (%rbx), %rax
movq -0x18(%rax), %r13
leaq -0x180(%rbp), %rax
movq %rax, -0x190(%rbp)
leaq -0x190(%rbp), %r15
movq %r15, %rdi
leaq 0x2bb11(%rip), %rsi     # 0x47955
leaq 0x2bb54(%rip), %rdx     # 0x4799f
callq 0x1f29e
addq %rbx, %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x1de0a
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x1be76
callq 0xc280
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r13
cmpq $0x0, 0x38(%rbx,%rax)
jne 0x1c5a1
movq (%r13), %rax
movq %r13, %rdi
callq *(%rax)
leaq 0x18(%r13), %rsi
testb %al, %al
je 0x1c58b
movq 0x20(%r13), %rdx
movq %rsi, %rdi
xorl %esi, %esi
leaq 0x31f22(%rip), %rcx     # 0x4ddd4
xorl %r8d, %r8d
callq 0xc410
jmp 0x1c599
movq -0x30(%rbp), %rax
movb $0x1, 0x99(%rax)
jmp 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x18(%rbx,%rax), %rsi
leaq 0x2bbab(%rip), %rdi     # 0x47a8d
callq 0x19d04
movq (%rbx), %rax
movq -0x18(%rax), %r13
movq 0x18(%rbx,%r13), %rsi
addq 0x8(%rbx,%r13), %rsi
leaq -0x310(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0xc0f0
movq 0x20(%rbx,%r13), %rax
movq %rax, 0x8(%rbx,%r13)
movq $0x0, 0x10(%rbx,%r13)
movl $0x0, 0x40(%rbx,%r13)
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
jmp 0x1c608
movq -0x30(%rbp), %rax
movl $0x4, (%rax)
jmp 0x1c612
movl $0x6, %ecx
leaq 0x2b88a(%rip), %rdx     # 0x477df
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1bfc2
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1bffb
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x6, %rdx
je 0x1bfaa
movb (%rcx,%rdx), %sil
leaq 0x2b841(%rip), %rdi     # 0x477d8
cmpb (%rdx,%rdi), %sil
jne 0x1bffb
incq %rdx
cmpq %rdx, %rax
jne 0x1bf86
movq %rax, %rcx
jmp 0x1bfaf
movl $0x6, %ecx
leaq 0x2b822(%rip), %rdx     # 0x477d8
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1bffb
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %rax
movl $0x2, 0x4(%rax)
movl $0x40, 0x48(%rax)
jmp 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %r13
leaq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0xd0(%rbp), %r15
movq %r15, %rdi
leaq 0x2ba82(%rip), %rsi     # 0x47aa3
leaq 0x2ba99(%rip), %rdx     # 0x47ac1
callq 0x1f29e
addq %rbx, %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x1de0a
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
jmp 0x1c608
movq (%rbx), %rax
movq -0x18(%rax), %r13
movq 0x18(%rbx,%r13), %rsi
addq 0x8(%rbx,%r13), %rsi
leaq -0xa8(%rbp), %r15
movq %r15, %rdi
leaq -0x31(%rbp), %rdx
callq 0xc0f0
movq 0x20(%rbx,%r13), %rax
movq %rax, 0x8(%rbx,%r13)
movq $0x0, 0x10(%rbx,%r13)
movl $0x0, 0x40(%rbx,%r13)
movq -0xb0(%rbp), %rdi
movq %r15, %rsi
callq 0xc150
jmp 0x1c5fa
movq (%r13), %rax
movq %r13, %rdi
callq *0x8(%rax)
incq 0x38(%r13)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r13)
movq 0x8(%r13), %rcx
movq 0x20(%r13), %rax
leaq -0x1(%rax), %rdx
cmpq %rdx, %rcx
jne 0x1c0da
movq 0x18(%r13), %rdx
cmpb $0xd, (%rdx,%rcx)
jne 0x1c0da
incq %rcx
movq %rcx, 0x8(%r13)
cmpq %rax, 0x8(%r13)
jb 0x1c0ef
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
callq 0x1e298
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c154
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x1, %rdx
je 0x1c138
movb (%rcx,%rdx), %sil
leaq 0x2c2be(%rip), %rdi     # 0x483e3
cmpb (%rdx,%rdi), %sil
jne 0x1c154
incq %rdx
cmpq %rdx, %rax
jne 0x1c114
movq %rax, %rcx
jmp 0x1c13d
movl $0x1, %ecx
leaq 0x2c29f(%rip), %rdx     # 0x483e3
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1c27b
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c1b9
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x6, %rdx
je 0x1c19d
movb (%rcx,%rdx), %sil
leaq 0x2b8ca(%rip), %rdi     # 0x47a54
cmpb (%rdx,%rdi), %sil
jne 0x1c1b9
incq %rdx
cmpq %rdx, %rax
jne 0x1c179
movq %rax, %rcx
jmp 0x1c1a2
movl $0x6, %ecx
leaq 0x2b8ab(%rip), %rdx     # 0x47a54
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1c27b
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c21a
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x1, %rdx
je 0x1c202
movb (%rcx,%rdx), %sil
leaq 0x2b86c(%rip), %rdi     # 0x47a5b
cmpb (%rdx,%rdi), %sil
jne 0x1c21a
incq %rdx
cmpq %rdx, %rax
jne 0x1c1de
movq %rax, %rcx
jmp 0x1c207
movl $0x1, %ecx
leaq 0x2b84d(%rip), %rdx     # 0x47a5b
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1c27b
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c2ad
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x6, %rdx
je 0x1c263
movb (%rcx,%rdx), %sil
leaq 0x2b80d(%rip), %rdi     # 0x47a5d
cmpb (%rdx,%rdi), %sil
jne 0x1c2ad
incq %rdx
cmpq %rdx, %rax
jne 0x1c23f
movq %rax, %rcx
jmp 0x1c268
movl $0x6, %ecx
leaq 0x2b7ee(%rip), %rdx     # 0x47a5d
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1c2ad
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %rax
movl $0x2, 0x10(%rax)
jmp 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c7b1
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x1, %rdx
je 0x1c795
movb (%rcx,%rdx), %sil
leaq 0x2e4b7(%rip), %rdi     # 0x4a7a2
cmpb (%rdx,%rdi), %sil
jne 0x1c7b1
incq %rdx
cmpq %rdx, %rax
jne 0x1c2d6
movq %rax, %rcx
jmp 0x1c79a
movq (%r13), %rax
movq %r13, %rdi
callq *0x8(%rax)
incq 0x38(%r13)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r13)
movq 0x8(%r13), %rcx
movq 0x20(%r13), %rax
leaq -0x1(%rax), %rdx
cmpq %rdx, %rcx
jne 0x1c33d
movq 0x18(%r13), %rdx
cmpb $0xd, (%rdx,%rcx)
jne 0x1c33d
incq %rcx
movq %rcx, 0x8(%r13)
cmpq %rax, 0x8(%r13)
jb 0x1c352
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
callq 0x1e298
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c3b7
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x1, %rdx
je 0x1c39b
movb (%rcx,%rdx), %sil
leaq 0x2b672(%rip), %rdi     # 0x479fa
cmpb (%rdx,%rdi), %sil
jne 0x1c3b7
incq %rdx
cmpq %rdx, %rax
jne 0x1c377
movq %rax, %rcx
jmp 0x1c3a0
movl $0x1, %ecx
leaq 0x2b653(%rip), %rdx     # 0x479fa
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1c664
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c69a
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x8, %rdx
je 0x1c64c
movb (%rcx,%rdx), %sil
leaq 0x2b630(%rip), %rdi     # 0x47a25
cmpb (%rdx,%rdi), %sil
jne 0x1c69a
incq %rdx
cmpq %rdx, %rax
jne 0x1c3e0
movq %rax, %rcx
jmp 0x1c651
movq (%r13), %rax
movq %r13, %rdi
callq *0x8(%rax)
incq 0x38(%r13)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r13)
movq 0x8(%r13), %rcx
movq 0x20(%r13), %rax
leaq -0x1(%rax), %rdx
cmpq %rdx, %rcx
jne 0x1c447
movq 0x18(%r13), %rdx
cmpb $0xd, (%rdx,%rcx)
jne 0x1c447
incq %rcx
movq %rcx, 0x8(%r13)
cmpq %rax, 0x8(%r13)
jb 0x1c45c
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
callq 0x1e298
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c4c1
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x3, %rdx
je 0x1c4a5
movb (%rcx,%rdx), %sil
leaq 0x31984(%rip), %rdi     # 0x4de16
cmpb (%rdx,%rdi), %sil
jne 0x1c4c1
incq %rdx
cmpq %rdx, %rax
jne 0x1c481
movq %rax, %rcx
jmp 0x1c4aa
movl $0x3, %ecx
leaq 0x31965(%rip), %rdx     # 0x4de16
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1c70a
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c73d
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x3, %rdx
je 0x1c6f2
movb (%rcx,%rdx), %sil
leaq 0x2b3d7(%rip), %rdi     # 0x478d6
cmpb (%rdx,%rdi), %sil
jne 0x1c73d
incq %rdx
cmpq %rdx, %rax
jne 0x1c4ea
movq %rax, %rcx
jmp 0x1c6f7
movq (%r13), %rax
movq %r13, %rdi
callq *0x8(%rax)
incq 0x38(%r13)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r13)
movq 0x8(%r13), %rcx
movq 0x20(%r13), %rax
leaq -0x1(%rax), %rdx
cmpq %rdx, %rcx
jne 0x1c551
movq 0x18(%r13), %rdx
cmpb $0xd, (%rdx,%rcx)
jne 0x1c551
incq %rcx
movq %rcx, 0x8(%r13)
cmpq %rax, 0x8(%r13)
jb 0x1c566
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
callq 0x1e298
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0x1, %esi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x1d7d8
movq -0x30(%rbp), %rcx
movl %eax, 0x48(%rcx)
jmp 0x1c612
movq (%r13), %rax
movq %r13, %rdi
callq *0x8(%rax)
incq 0x38(%r13)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r13)
movq 0x8(%r13), %rcx
movq 0x20(%r13), %rax
leaq -0x1(%rax), %rdx
cmpq %rdx, %rcx
jne 0x1c5c3
movq 0x18(%r13), %rdx
cmpb $0xd, (%rdx,%rcx)
jne 0x1c5c3
incq %rcx
movq %rcx, 0x8(%r13)
cmpq %rax, 0x8(%r13)
jb 0x1c5d8
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
callq 0x1e298
leaq -0xa8(%rbp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq -0x60(%rbp), %rdx
callq 0x19fb8
leaq -0x58(%rbp), %rdi
movq %r15, %rsi
callq 0xc360
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x1c612
callq 0xc280
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
callq 0x1e298
leaq -0x88(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0xc150
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x1b30f
callq 0xc280
jmp 0x1b30f
movl $0x8, %ecx
leaq 0x2b3cd(%rip), %rdx     # 0x47a25
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1c69a
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %r13
movl $0x2, 0xa0(%r13)
jmp 0x1ccd3
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c825
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x1, %rdx
je 0x1c809
movb (%rcx,%rdx), %sil
leaq 0x2b51d(%rip), %rdi     # 0x47bf5
cmpb (%rdx,%rdi), %sil
jne 0x1c825
incq %rdx
cmpq %rdx, %rax
jne 0x1c6c3
movq %rax, %rcx
jmp 0x1c80e
movl $0x3, %ecx
leaq 0x2b1d8(%rip), %rdx     # 0x478d6
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1c73d
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %rax
movq $0x1, 0x8(%rax)
jmp 0x1cdcd
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c899
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x3, %rdx
je 0x1c87d
movb (%rcx,%rdx), %sil
leaq 0x316a0(%rip), %rdi     # 0x4de1b
cmpb (%rdx,%rdi), %sil
jne 0x1c899
incq %rdx
cmpq %rdx, %rax
jne 0x1c766
movq %rax, %rcx
jmp 0x1c882
movl $0x1, %ecx
leaq 0x2e001(%rip), %rdx     # 0x4a7a2
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1cab1
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c90d
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x5, %rdx
je 0x1c8f1
movb (%rcx,%rdx), %sil
leaq 0x2b275(%rip), %rdi     # 0x47a64
cmpb (%rdx,%rdi), %sil
jne 0x1c90d
incq %rdx
cmpq %rdx, %rax
jne 0x1c7da
movq %rax, %rcx
jmp 0x1c8f6
movl $0x1, %ecx
leaq 0x2b3e0(%rip), %rdx     # 0x47bf5
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1c97d
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1c9b3
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x3, %rdx
je 0x1c965
movb (%rcx,%rdx), %sil
leaq 0x2b1cb(%rip), %rdi     # 0x47a2e
cmpb (%rdx,%rdi), %sil
jne 0x1c9b3
incq %rdx
cmpq %rdx, %rax
jne 0x1c84e
movq %rax, %rcx
jmp 0x1c96a
movl $0x3, %ecx
leaq 0x31592(%rip), %rdx     # 0x4de1b
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1ccf8
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1ca27
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x3, %rdx
je 0x1ca0b
movb (%rcx,%rdx), %sil
leaq 0x2b003(%rip), %rdi     # 0x478da
cmpb (%rdx,%rdi), %sil
jne 0x1ca27
incq %rdx
cmpq %rdx, %rax
jne 0x1c8c2
movq %rax, %rcx
jmp 0x1ca10
movl $0x5, %ecx
leaq 0x2b167(%rip), %rdx     # 0x47a64
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1cab1
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1ca97
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x1, %rdx
je 0x1ca7f
movb (%rcx,%rdx), %sil
leaq 0x270a7(%rip), %rdi     # 0x439f2
cmpb (%rdx,%rdi), %sil
jne 0x1ca97
incq %rdx
cmpq %rdx, %rax
jne 0x1c936
movq %rax, %rcx
jmp 0x1ca84
movl $0x3, %ecx
leaq 0x2b0bd(%rip), %rdx     # 0x47a2e
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1c9b3
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %r13
movl $0x1, 0xa0(%r13)
jmp 0x1ccd3
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1cb69
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0x1, %rdx
je 0x1cb4d
movb (%rcx,%rdx), %sil
leaq 0x31422(%rip), %rdi     # 0x4de13
cmpb (%rdx,%rdi), %sil
jne 0x1cb69
incq %rdx
cmpq %rdx, %rax
jne 0x1c9dc
movq %rax, %rcx
jmp 0x1cb52
movl $0x3, %ecx
leaq 0x2aec3(%rip), %rdx     # 0x478da
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1ccf8
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1cbda
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0xa, %rdx
je 0x1cbbe
movb (%rcx,%rdx), %sil
leaq 0x2ae79(%rip), %rdi     # 0x478de
cmpb (%rdx,%rdi), %sil
jne 0x1cbda
incq %rdx
cmpq %rdx, %rax
jne 0x1ca50
movq %rax, %rcx
jmp 0x1cbc3
movl $0x1, %ecx
leaq 0x26f67(%rip), %rdx     # 0x439f2
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1cab1
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2afc2(%rip), %rsi     # 0x47a6a
callq 0x1e402
testb %al, %al
je 0x1cae3
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2bf1a(%rip), %rsi     # 0x48a0e
callq 0x1e402
testb %al, %al
jne 0x1cb1b
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2ae2c(%rip), %rsi     # 0x4793a
callq 0x1e402
testb %al, %al
je 0x1cdd9
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %rax
movl $0x3, 0x10(%rax)
jmp 0x1c612
movl $0x1, %ecx
leaq 0x312ba(%rip), %rdx     # 0x4de13
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1cc4a
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1cc77
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0xb, %rdx
je 0x1cc32
movb (%rcx,%rdx), %sil
leaq 0x2ae8b(%rip), %rdi     # 0x47a32
cmpb (%rdx,%rdi), %sil
jne 0x1cc77
incq %rdx
cmpq %rdx, %rax
jne 0x1cb92
movq %rax, %rcx
jmp 0x1cc37
movl $0xa, %ecx
leaq 0x2ad14(%rip), %rdx     # 0x478de
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
je 0x1ccf8
movq (%rbx), %rax
movq -0x18(%rax), %r13
addq %rbx, %r13
movq %r13, %rdi
callq 0x1eae0
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x1cd2d
movq 0x18(%r13), %rcx
addq 0x8(%r13), %rcx
xorl %edx, %edx
cmpq $0xa, %rdx
je 0x1cce0
movb (%rcx,%rdx), %sil
leaq 0x2acc6(%rip), %rdi     # 0x478de
cmpb (%rdx,%rdi), %sil
jne 0x1cd2d
incq %rdx
cmpq %rdx, %rax
jne 0x1cc03
movq %rax, %rcx
jmp 0x1cce5
movl $0xb, %ecx
leaq 0x2adf4(%rip), %rdx     # 0x47a32
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1cc77
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
xorl %ecx, %ecx
movl %ecx, 0x40(%rbx,%rax)
movq -0x30(%rbp), %r13
movl %ecx, 0xa0(%r13)
jmp 0x1ccd3
movq (%rbx), %rax
movq -0x18(%rax), %r13
leaq -0x100(%rbp), %rax
movq %rax, -0x110(%rbp)
leaq -0x110(%rbp), %r15
movq %r15, %rdi
leaq 0x2ada1(%rip), %rsi     # 0x47a3e
leaq 0x2adaf(%rip), %rdx     # 0x47a53
callq 0x1f29e
addq %rbx, %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x1de0a
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
movq -0x30(%rbp), %r13
je 0x1ccd3
callq 0xc280
movb $0x1, 0x9c(%r13)
jmp 0x1c612
movl $0xa, %ecx
leaq 0x2abf2(%rip), %rdx     # 0x478de
cmpb $0x1, (%rcx,%rdx)
sbbl $-0x1, %ecx
cmpq %rcx, %rax
jne 0x1cd2d
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %rax
movabsq $0x100000000, %rcx      # imm = 0x100000000
jmp 0x1cdc9
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2abab(%rip), %rsi     # 0x478e9
callq 0x1e402
testb %al, %al
jne 0x1cd99
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2ab95(%rip), %rsi     # 0x478ed
callq 0x1e402
testb %al, %al
jne 0x1cd99
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2ab7f(%rip), %rsi     # 0x478f1
callq 0x1e402
testb %al, %al
jne 0x1cd99
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2ab71(%rip), %rsi     # 0x478fd
callq 0x1e402
testb %al, %al
je 0x1ce2c
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %rax
movabsq $0x200000000, %rcx      # imm = 0x200000000
movq %rcx, 0x8(%rax)
movb $0x1, 0x98(%rax)
jmp 0x1c612
movq (%rbx), %rax
movq -0x18(%rax), %r13
leaq -0xe0(%rbp), %rax
movq %rax, -0xf0(%rbp)
leaq -0xf0(%rbp), %r15
movq %r15, %rdi
leaq 0x2ac71(%rip), %rsi     # 0x47a70
leaq 0x2ac86(%rip), %rdx     # 0x47a8c
callq 0x1f29e
addq %rbx, %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x1de0a
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
jmp 0x1c608
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2aacc(%rip), %rsi     # 0x47909
callq 0x1e402
testb %al, %al
jne 0x1ce94
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2aab7(%rip), %rsi     # 0x4790e
callq 0x1e402
testb %al, %al
jne 0x1ce94
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2aaa2(%rip), %rsi     # 0x47913
callq 0x1e402
testb %al, %al
jne 0x1ce94
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2aa95(%rip), %rsi     # 0x47920
callq 0x1e402
testb %al, %al
je 0x1cec9
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %rax
movabsq $0x300000000, %rcx      # imm = 0x300000000
jmp 0x1cdc9
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2aa53(%rip), %rsi     # 0x4792d
callq 0x1e402
testb %al, %al
jne 0x1cefd
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
leaq 0x2aa42(%rip), %rsi     # 0x47936
callq 0x1e402
testb %al, %al
je 0x1cf32
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq 0x10(%rbx,%rax), %rcx
addq %rcx, 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq -0x30(%rbp), %rax
movabsq $0x400000000, %rcx      # imm = 0x400000000
jmp 0x1cdc9
movq (%rbx), %rax
movq -0x18(%rax), %r13
leaq -0x1a0(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movq %r14, %r15
movq %r14, %rdi
leaq 0x2a9eb(%rip), %rsi     # 0x4793f
leaq 0x2a9f9(%rip), %rdx     # 0x47954
callq 0x1f29e
addq %rbx, %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x1de0a
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
jmp 0x1c608
movq -0x30(%rbp), %r12
cmpl $0x2, (%r12)
jne 0x1d08b
cmpq $0x0, 0x60(%r12)
jne 0x1cfe7
movq (%rbx), %rax
movq -0x18(%rax), %r15
leaq -0x2e0(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2abbd(%rip), %rsi     # 0x47b6e
leaq 0x2abd6(%rip), %rdx     # 0x47b8e
leaq -0x2f0(%rbp), %rdi
callq 0x1f29e
addq %rbx, %r15
leaq -0x2f0(%rbp), %rsi
movq %r15, %rdi
callq 0x1de0a
movq -0x2f0(%rbp), %rdi
cmpq %r14, %rdi
je 0x1cfe7
callq 0xc280
leaq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
movq %rax, (%rdi)
leaq 0x30e22(%rip), %rsi     # 0x4de1b
leaq 0x30e1e(%rip), %rdx     # 0x4de1e
callq 0x1f29e
leaq 0x2ab83(%rip), %r9      # 0x47b8f
leaq -0x58(%rbp), %rsi
movq -0xb0(%rbp), %rdi
movq %r12, %rdx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x19f2e
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x1d039
callq 0xc280
leaq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
movq %rax, (%rdi)
leaq 0x30dcb(%rip), %rsi     # 0x4de16
leaq 0x30dc7(%rip), %rdx     # 0x4de19
callq 0x1f29e
leaq 0x2ab31(%rip), %r9      # 0x47b8f
leaq -0x58(%rbp), %rsi
movq -0xb0(%rbp), %rdi
movq %r12, %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x19f2e
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x1d08b
callq 0xc280
movl (%r12), %eax
decl %eax
cmpl $0x1, %eax
ja 0x1d17a
cmpq $0x0, 0x80(%r12)
je 0x1d147
leaq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
movq %rax, (%rdi)
leaq 0x30d60(%rip), %rsi     # 0x4de1b
leaq 0x30d5c(%rip), %rdx     # 0x4de1e
callq 0x1f29e
leaq 0x2aafa(%rip), %r9      # 0x47bc8
leaq -0x58(%rbp), %rsi
movq -0x68(%rbp), %rdi
movq %r12, %rdx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x19f2e
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x1d0f8
callq 0xc280
leaq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
movq %rax, (%rdi)
leaq 0x30d0c(%rip), %rsi     # 0x4de16
leaq 0x30d08(%rip), %rdx     # 0x4de19
callq 0x1f29e
leaq 0x2aaab(%rip), %r9      # 0x47bc8
leaq -0x58(%rbp), %rsi
movq -0x68(%rbp), %rdi
movq %r12, %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x19f2e
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x1d147
callq 0xc280
cmpb $0x0, 0x98(%r12)
jne 0x1d21c
cmpl $0x1, (%r12)
jne 0x1d1cd
movabsq $0x100000000, %rax      # imm = 0x100000000
movq %rax, 0x8(%r12)
movb $0x1, 0x98(%r12)
jmp 0x1d21c
cmpq $0x0, 0x40(%r12)
je 0x1d21c
movq (%rbx), %rax
movq -0x18(%rax), %r15
leaq -0x2a0(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2a7b6(%rip), %rsi     # 0x47955
leaq 0x2a7f9(%rip), %rdx     # 0x4799f
leaq -0x2b0(%rbp), %rdi
callq 0x1f29e
addq %rbx, %r15
leaq -0x2b0(%rbp), %rsi
movq %r15, %rdi
callq 0x1de0a
movq -0x2b0(%rbp), %rdi
jmp 0x1d212
movq (%rbx), %rax
movq -0x18(%rax), %r15
leaq -0x2c0(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2aa11(%rip), %rsi     # 0x47bf7
leaq 0x2aa43(%rip), %rdx     # 0x47c30
leaq -0x2d0(%rbp), %rdi
callq 0x1f29e
addq %rbx, %r15
leaq -0x2d0(%rbp), %rsi
movq %r15, %rdi
callq 0x1de0a
movq -0x2d0(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d21c
callq 0xc280
cmpb $0x1, 0x9b(%r12)
jne 0x1d281
movl (%r12), %eax
decl %eax
cmpl $0x2, %eax
jb 0x1d281
movq (%rbx), %rax
movq -0x18(%rax), %r15
leaq -0x280(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2a9e6(%rip), %rsi     # 0x47c31
leaq 0x2aa32(%rip), %rdx     # 0x47c84
leaq -0x290(%rbp), %rdi
callq 0x1f29e
addq %rbx, %r15
leaq -0x290(%rbp), %rsi
movq %r15, %rdi
callq 0x1de0a
movq -0x290(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d281
callq 0xc280
cmpb $0x1, 0x9c(%r12)
jne 0x1d34e
movl (%r12), %eax
decl %eax
cmpl $0x2, %eax
jb 0x1d2ea
movq (%rbx), %rax
movq -0x18(%rax), %r15
leaq -0x260(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2a9d1(%rip), %rsi     # 0x47c85
leaq 0x2aa25(%rip), %rdx     # 0x47ce0
leaq -0x270(%rbp), %rdi
callq 0x1f29e
addq %rbx, %r15
leaq -0x270(%rbp), %rsi
movq %r15, %rdi
callq 0x1de0a
movq -0x270(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d2ea
callq 0xc280
cmpl $0x1, 0x8(%r12)
jne 0x1d370
cmpl $0x0, 0xa0(%r12)
je 0x1d370
movq (%rbx), %rax
movq -0x18(%rax), %r15
leaq -0x240(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2a9cb(%rip), %rsi     # 0x47ce1
leaq 0x2a9ec(%rip), %rdx     # 0x47d09
leaq -0x250(%rbp), %rdi
callq 0x1f29e
addq %rbx, %r15
leaq -0x250(%rbp), %rsi
movq %r15, %rdi
callq 0x1de0a
movq -0x250(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d370
callq 0xc280
jmp 0x1d370
cmpl $0x1, 0x8(%r12)
jne 0x1d364
movl $0x0, 0xa0(%r12)
jmp 0x1d370
movl $0x2, 0xa0(%r12)
cmpl $0x1, (%r12)
je 0x1d483
cmpl $0x0, 0x4c(%r12)
je 0x1d3d2
movq (%rbx), %rax
movq -0x18(%rax), %r15
leaq -0x220(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2a96e(%rip), %rsi     # 0x47d0a
leaq 0x2a99f(%rip), %rdx     # 0x47d42
leaq -0x230(%rbp), %rdi
callq 0x1f29e
addq %rbx, %r15
leaq -0x230(%rbp), %rsi
movq %r15, %rdi
callq 0x1de0a
movq -0x230(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d3d2
callq 0xc280
cmpl $0x0, 0x50(%r12)
je 0x1d429
movq (%rbx), %rax
movq -0x18(%rax), %r15
leaq -0x200(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2a950(%rip), %rsi     # 0x47d43
leaq 0x2a981(%rip), %rdx     # 0x47d7b
leaq -0x210(%rbp), %rdi
callq 0x1f29e
addq %rbx, %r15
leaq -0x210(%rbp), %rsi
movq %r15, %rdi
callq 0x1de0a
movq -0x210(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d429
callq 0xc280
cmpb $0x1, 0x99(%r12)
jne 0x1d483
movq (%rbx), %rax
movq -0x18(%rax), %r15
leaq -0x1e0(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2a92f(%rip), %rsi     # 0x47d7c
leaq 0x2a969(%rip), %rdx     # 0x47dbd
leaq -0x1f0(%rbp), %rdi
callq 0x1f29e
addq %rbx, %r15
leaq -0x1f0(%rbp), %rsi
movq %r15, %rdi
callq 0x1de0a
movq -0x1f0(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d483
callq 0xc280
cmpl $0x0, 0x10(%r12)
je 0x1d4da
movq (%rbx), %rax
movq -0x18(%rax), %r15
leaq -0x1c0(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2a91a(%rip), %rsi     # 0x47dbe
leaq 0x2a95d(%rip), %rdx     # 0x47e08
leaq -0x1d0(%rbp), %rdi
callq 0x1f29e
addq %r15, %rbx
leaq -0x1d0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1de0a
movq -0x1d0(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d4da
callq 0xc280
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x1d4ef
callq 0xc280
addq $0x2e8, %rsp            # imm = 0x2E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2a5c9(%rip), %rdi     # 0x47ad1
leaq 0x2a5e0(%rip), %rsi     # 0x47aef
leaq 0x2a5e9(%rip), %rcx     # 0x47aff
movl $0x170, %edx            # imm = 0x170
callq 0xc180
leaq 0x2a5aa(%rip), %rdi     # 0x47ad1
leaq 0x2a5c1(%rip), %rsi     # 0x47aef
leaq 0x2a5ca(%rip), %rcx     # 0x47aff
movl $0x174, %edx            # imm = 0x174
callq 0xc180
leaq 0x2a58b(%rip), %rdi     # 0x47ad1
leaq 0x2a5a2(%rip), %rsi     # 0x47aef
leaq 0x2a5ab(%rip), %rcx     # 0x47aff
movl $0x178, %edx            # imm = 0x178
callq 0xc180
leaq 0x2a56c(%rip), %rdi     # 0x47ad1
leaq 0x2a583(%rip), %rsi     # 0x47aef
leaq 0x2a58c(%rip), %rcx     # 0x47aff
movl $0x17d, %edx            # imm = 0x17D
callq 0xc180
leaq 0x2a54d(%rip), %rdi     # 0x47ad1
leaq 0x2a564(%rip), %rsi     # 0x47aef
leaq 0x2a56d(%rip), %rcx     # 0x47aff
movl $0x182, %edx            # imm = 0x182
callq 0xc180
leaq 0x2a52e(%rip), %rdi     # 0x47ad1
leaq 0x2a545(%rip), %rsi     # 0x47aef
leaq 0x2a54e(%rip), %rcx     # 0x47aff
movl $0x187, %edx            # imm = 0x187
callq 0xc180
movq %rax, %rbx
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
jmp 0x1d790
jmp 0x1d7a5
movq %rax, %rbx
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
jmp 0x1d790
jmp 0x1d7a5
movq %rax, %rbx
movq -0x2d0(%rbp), %rdi
jmp 0x1d759
jmp 0x1d7a0
movq %rax, %rbx
movq -0x2f0(%rbp), %rdi
jmp 0x1d759
jmp 0x1d7a0
movq %rax, %rbx
movq -0x1f0(%rbp), %rdi
jmp 0x1d759
jmp 0x1d7a0
movq %rax, %rbx
movq -0x250(%rbp), %rdi
jmp 0x1d759
jmp 0x1d7a0
movq %rax, %rbx
movq -0x270(%rbp), %rdi
jmp 0x1d759
movq %rax, %rbx
movq -0x290(%rbp), %rdi
jmp 0x1d759
jmp 0x1d7a0
jmp 0x1d7a0
movq %rax, %rbx
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
jmp 0x1d790
jmp 0x1d7a5
movq %rax, %rbx
movq -0x210(%rbp), %rdi
jmp 0x1d759
jmp 0x1d7a0
movq %rax, %rbx
movq -0x230(%rbp), %rdi
jmp 0x1d759
jmp 0x1d7a0
jmp 0x1d7a5
jmp 0x1d7a0
movq %rax, %rbx
movq -0x2b0(%rbp), %rdi
jmp 0x1d759
jmp 0x1d7a5
jmp 0x1d7a0
jmp 0x1d7a0
jmp 0x1d7a5
jmp 0x1d7a5
movq %rax, %rbx
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
jmp 0x1d790
movq %rax, %rbx
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
jmp 0x1d790
jmp 0x1d7a5
jmp 0x1d7a0
jmp 0x1d7a5
jmp 0x1d7a0
jmp 0x1d76c
jmp 0x1d7a5
jmp 0x1d7a5
movq %rax, %rbx
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
jmp 0x1d790
jmp 0x1d7a5
movq %rax, %rbx
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
jmp 0x1d790
movq %rax, %rbx
movq -0x1d0(%rbp), %rdi
cmpq %r14, %rdi
jne 0x1d7b5
jmp 0x1d7ba
jmp 0x1d7a0
jmp 0x1d7a5
jmp 0x1d76c
jmp 0x1d7a5
jmp 0x1d7a0
jmp 0x1d7a5
movq %rax, %rbx
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
jmp 0x1d790
movq %rax, %rbx
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x1d7a8
callq 0xc280
jmp 0x1d7a8
jmp 0x1d7a5
jmp 0x1d7a5
movq %rax, %rbx
jmp 0x1d7ba
movq %rax, %rbx
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x1d7ba
callq 0xc280
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x1d7cf
callq 0xc280
movq %rbx, %rdi
callq 0xc4e0
nop