// File: /workspace/github_c_makefile_star2_O2/sachinites[P]CommandParser/cmd_hier.c
// Function: init_libcli
void 
init_libcli(){

    init_param(&root, CMD, "ROOT", 0, 0, INVALID, 0, "ROOT");
    
    /*Intialised serialized buffer to collect leaf values in TLV format*/
    init_serialized_buffer_of_defined_size(&tlv_buff, TLV_MAX_BUFFER_SIZE);
    //init_serialized_buffer_of_defined_size(&file_read_buffer, TLV_MAX_BUFFER_SIZE);

    reset_cmd_tree_cursor();

    /*Leaf datatypes standard Validation callbacks registration*/
    leaf_handler_array[INT]     = int_validation_handler;
    leaf_handler_array[STRING]  = string_validation_handler;
    leaf_handler_array[IPV4]    = ipv4_validation_handler;
    leaf_handler_array[IPV6]    = ipv6_validation_handler;
    leaf_handler_array[FLOAT]   = float_validation_handler;
    leaf_handler_array[BOOLEAN] = boolean_validation_handler;

    set_device_name(DEFAULT_DEVICE_NAME);
   
    /*Initialize the token array*/
    init_token_array();
     
    /*Initialise Capablities Params*/
    init_param(&mode_param, CMD, MODE_CHARACTER, mode_enter_callback , 0, INVALID, 0, "ENTER MODE");
    init_param(&suboptions_param, CMD, SUBOPTIONS_CHARACTER, display_sub_options_callback, 0, INVALID, 0, "Sub-Options");
    init_param(&cmd_expansion_param, CMD, CMD_EXPANSION_CHARACTER, display_cmd_expansion_callback, 0, INVALID, 0, "All possible Command expansions"); 

    /*Registering Zero level default command hooks*/
    /*Show hook*/
    init_param(&show, CMD, "show", 0, 0, INVALID, 0, "show cmds");
    libcli_register_param(&root, &show);

    static param_t help;
    init_param(&help, CMD, "help", show_help_handler, 0, INVALID, 0, "help how to use this CLI");
    libcli_register_param(&show, &help);
    set_param_cmd_code(&help, SHOW_HELP);

    /*show history*/
    static param_t show_history;
    init_param(&show_history, CMD, "history", show_history_callback, 0, INVALID, 0, "Command history");
    libcli_register_param(&show, &show_history);
    set_param_cmd_code(&show_history, SHOW_HISTORY);

    static param_t no_of_commands;
    init_param(&no_of_commands, LEAF, "N", show_history_callback, 0, INT, "N", "No Of Commands to fetch");  
    libcli_register_param(&show_history, &no_of_commands);
    set_param_cmd_code(&no_of_commands, SHOW_HISTORY_N);

    /*show registered commands*/
    static param_t show_resgistered;
    init_param(&show_resgistered, CMD, "registered", 0, 0, INVALID, 0, "registered");
    libcli_register_param(&show, &show_resgistered);

    static param_t show_resgistered_cmds;
    init_param(&show_resgistered_cmds, CMD, "commands", show_resgistered_cmd_handler, 0, INVALID, 0, "commands");
    libcli_register_param(&show_resgistered, &show_resgistered_cmds); 
    set_param_cmd_code(&show_resgistered_cmds, SHOW_REGISTERED_COMMANDS);

    /*debug hook*/
    init_param(&debug, CMD, "debug", 0, 0, INVALID, 0, "debug cmds");
    libcli_register_param(&root, &debug);

    {
        static param_t ut;
         init_param(&ut, CMD, "ut", 0, 0, INVALID, 0, "debug ut");
         libcli_register_param(&debug, &ut);
         {
             static param_t enable;
             init_param(&enable, LEAF, 0, ut_test_handler, enable_disable_validation_handler, STRING, "ut-enable", "enable | disable");
             libcli_register_param(&ut, &enable);
             set_param_cmd_code(&enable, CMDCODE_DEBUG_UT);
         }
    }
    
    /*debug show cmdtree*/

    init_param(&debug_show, CMD, "show", 0, 0, INVALID, 0, "debug show commands");
    libcli_register_param(&debug, &debug_show);

    static param_t debug_show_cmdtree;
    init_param(&debug_show_cmdtree, CMD, "cmdtree", show_cmd_tree, 0, INVALID, 0, "Display command tree");
    libcli_register_param(&debug_show, &debug_show_cmdtree);
    set_param_cmd_code(&debug_show_cmdtree, DEBUG_SHOW_CMDTREE);

    /*configure hook*/
    init_param(&config, CMD, "config", config_mode_enter_handler, 0, INVALID, 0, "config cmds");
    libcli_register_param(&root, &config);

	static param_t load;
	init_param(&load, CMD, "load", 0, 0, INVALID, 0, "load cmds");
	libcli_register_param(&config, &load);

	static param_t file_name;
	init_param(&file_name, LEAF, 0, load_file_handler, 0, STRING, "file-name", "Name of the file");
	libcli_register_param(&load, &file_name);
	set_param_cmd_code(&file_name, CONFIG_LOAD_FILE);

    static param_t supportsave;
    init_param(&supportsave, CMD, "supportsave", 0 , 0, INVALID, 0, "Collect Support Save Data");
    libcli_register_param(&config, &supportsave);

    static param_t supportsave_enable;
    init_param(&supportsave_enable, CMD, "enable", supportsave_handler , 0, INVALID, 0, "enable/disable Support Save Data Collection");
    libcli_register_param(&supportsave, &supportsave_enable);
    set_param_cmd_code(&supportsave_enable, CONFIG_SUPPORTSAVE_ENABLE);

    /*clear hook*/
    init_param(&clear, CMD, "clear", 0, 0, INVALID, 0, "clear cmds");
    libcli_register_param(&root, &clear);

    /*run hook*/
    init_param(&run, CMD, "run", 0, 0, INVALID, 0, "run cmds");
    libcli_register_param(&root, &run);
    /*  run terminate */
    {
        static param_t terminate;
        init_param(&terminate, CMD, "term", cli_terminate_handler, 0, INVALID, 0, "Terminate appln");
        libcli_register_param(&run, &terminate);
    }
    {
        /* run ut <file path> <tc no> */
        static param_t ut;
        init_param(&ut, CMD, "ut", 0, 0, INVALID, 0, "Unit Test");
        libcli_register_param(&run, &ut);
        {
            static param_t ut_file_path;
            init_param(&ut_file_path, LEAF, 0, 0, 0, STRING, "ut-file-name", "UT file name");
            libcli_register_param(&ut, &ut_file_path);
            {
                static param_t tc_no;
                init_param(&tc_no, LEAF, 0, ut_test_handler, 0, INT, "tc-no", "Test Case Number");
                libcli_register_param(&ut_file_path, &tc_no);
                set_param_cmd_code(&tc_no, CMDCODE_RUN_UT_TC);
            }
        }
    }

    /*Hook up the show/debug/clear operational command in Do Hook*/
    init_param(&do_hook, CMD, "DO_HOOK", 0, 0, INVALID, 0, "operational commands shortcut");
    do_hook.options[MODE_PARAM_INDEX] = libcli_get_suboptions_param(); // A hack, just fill it 
    do_hook.options[SUBOPTIONS_INDEX] = libcli_get_suboptions_param();
    do_hook.options[CMD_EXPANSION_INDEX] = libcli_get_cmd_expansion_param(); 
    do_hook.options[CHILDREN_START_INDEX] = &show;
    do_hook.options[CHILDREN_START_INDEX+1] = &debug;
    do_hook.options[CHILDREN_START_INDEX+2] = &clear; 
    
    /*configure repeat*/
    init_param(&repeat, CMD, "repeat", repeat_last_command, 0, INVALID, 0, "repeat");
    libcli_register_param(&root, &repeat);
    
    /*config console name <new name>*/
    static param_t config_console;
    init_param(&config_console, CMD, "console", 0, 0, INVALID, 0, "console");
    libcli_register_param(&config, &config_console);

    
    static param_t config_console_name;
    init_param(&config_console_name, CMD, "name", 0, 0, INVALID, 0, "name");
    libcli_register_param(&config_console, &config_console_name);

    static param_t config_console_name_name;
    init_param(&config_console_name_name, LEAF, 0, config_console_name_handler, 0, STRING, "cons-name", "Name of Console"); 
    libcli_register_param(&config_console_name, &config_console_name_name);
    set_param_cmd_code(&config_console_name_name, CONFIG_CONSOLEN_NAME_NAME);

    /* Install clear command "cls"*/
    static param_t cls;
    init_param(&cls, CMD, CLEAR_SCR_STRING, clear_screen_handler, 0, INVALID, 0, "clear screen");
    HIDE_PARAM(&cls);
    libcli_register_param(0, &cls);

    static param_t exit_cmd;
    init_param(&exit_cmd, CMD, GOTO_ONE_LVL_UP_STRING, exit_cmd_handler, 0, INVALID, 0, "Move One Level Up");
    HIDE_PARAM(&exit_cmd);
    libcli_register_param(0, &exit_cmd);

    static param_t end_cmd;
    init_param(&end_cmd, CMD, GOTO_TOP_STRING, end_cmd_handler, 0, INVALID, 0, "Goto Top level");
    HIDE_PARAM(&end_cmd);
    libcli_register_param(0, &end_cmd);

    /*initialise show extension params*/
    init_param(&show_brief_extension, CMD, "brief", show_extension_param_handler, 0, INVALID, 0, "brief output");
    /*Command Negation API Should be called by application and not by infra
     * else application would not be allowed to add more children into config 
     * param*/
    //support_cmd_negation(&config);
    
    /* Resgister CTRL-C signal handler*/
    signal(SIGINT, ctrlC_signal_handler);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
subq $0x10, %rsp
leaq 0x5644(%rip), %rdx      # 0x7400
movq %rdx, 0x8(%rsp)
andq $0x0, (%rsp)
leaq 0xbcdb(%rip), %r15      # 0xdaa8
pushq $0x6
popq %rbx
movq %r15, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
callq 0x26b6
popq %rax
popq %rcx
leaq 0xc675(%rip), %rdi      # 0xe460
movl $0x400, %esi            # imm = 0x400
callq 0x3f5f
callq 0x1bdd
leaq 0x2d77(%rip), %rax      # 0x4b78
movq %rax, 0xc668(%rip)      # 0xe470
leaq 0x2d6c(%rip), %rax      # 0x4b7b
movq %rax, 0xc662(%rip)      # 0xe478
leaq 0x2d61(%rip), %rax      # 0x4b7e
movq %rax, 0xc65c(%rip)      # 0xe480
leaq 0x2d56(%rip), %rax      # 0x4b81
movq %rax, 0xc65e(%rip)      # 0xe490
leaq 0x2d4b(%rip), %rax      # 0x4b84
movq %rax, 0xc648(%rip)      # 0xe488
leaq 0x2d40(%rip), %rax      # 0x4b87
movq %rax, 0xc64a(%rip)      # 0xe498
leaq 0x55b0(%rip), %rdi      # 0x7405
callq 0x27f7
xorl %eax, %eax
callq 0x45e4
leaq 0x55ac(%rip), %rax      # 0x7414
leaq 0xb951(%rip), %rdi      # 0xd7c0
leaq 0x559c(%rip), %rdx      # 0x7412
leaq 0x2e7b(%rip), %rcx      # 0x4cf8
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
leaq 0x558b(%rip), %rax      # 0x7421
leaq 0xba1b(%rip), %rdi      # 0xd8b8
leaq 0x557b(%rip), %rdx      # 0x741f
leaq 0x2e9f(%rip), %rcx      # 0x4d4a
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
leaq 0x5569(%rip), %rax      # 0x742d
leaq 0xbae5(%rip), %rdi      # 0xd9b0
leaq 0x577d(%rip), %rdx      # 0x764f
leaq 0x2f64(%rip), %rcx      # 0x4e3d
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
leaq 0x5560(%rip), %rax      # 0x7452
leaq 0xbd9f(%rip), %rbp      # 0xdc98
leaq 0x554d(%rip), %rdx      # 0x744d
movq %rbp, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r15, %rdi
movq %rbp, %rsi
movq %rbp, %r15
callq 0x1b3f
leaq 0x5535(%rip), %rax      # 0x7461
leaq 0xc575(%rip), %r14      # 0xe4a8
leaq 0x5522(%rip), %rdx      # 0x745c
leaq 0x32d7(%rip), %rcx      # 0x5218
movq %r14, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1b3f
pushq $0x1
popq %r12
movq %r14, %rdi
movl %r12d, %esi
callq 0x28a6
leaq 0x5503(%rip), %rax      # 0x747a
leaq 0xc622(%rip), %r14      # 0xe5a0
leaq 0x54fd(%rip), %rdx      # 0x7482
leaq 0x2f9c(%rip), %r13      # 0x4f28
movq %r14, %rdi
xorl %esi, %esi
movq %r13, %rcx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1b3f
pushq $0x2
popq %rsi
movq %r14, %rdi
callq 0x28a6
leaq 0x54c9(%rip), %rax      # 0x748a
leaq 0x53af(%rip), %rdx      # 0x7377
leaq 0xc6c9(%rip), %rbp      # 0xe698
movq %rbp, %rdi
movl %r12d, %esi
movq %r13, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %rax
pushq %rdx
callq 0x26b6
popq %rax
popq %rcx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x1b3f
pushq $0x3
popq %rsi
movq %rbp, %rdi
callq 0x28a6
leaq 0x549e(%rip), %rdx      # 0x74a2
leaq 0xc785(%rip), %r14      # 0xe790
movq %r14, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rdx
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r15, %rdi
movq %r14, %rsi
callq 0x1b3f
leaq 0x4fe9(%rip), %rdx      # 0x701d
leaq 0xc84d(%rip), %r13      # 0xe888
leaq 0x32fb(%rip), %rcx      # 0x533d
movq %r13, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rdx
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r14, %rdi
movq %r13, %rsi
callq 0x1b3f
pushq $0x4
popq %rsi
movq %r13, %rdi
callq 0x28a6
leaq 0x543f(%rip), %rax      # 0x74b3
leaq 0xbd15(%rip), %r15      # 0xdd90
leaq 0x542b(%rip), %rdx      # 0x74ad
movq %r15, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
leaq 0xba08(%rip), %rbp      # 0xdaa8
movq %rbp, %rdi
movq %r15, %rsi
callq 0x1b3f
leaq 0x540c(%rip), %rax      # 0x74be
leaq 0xc8c7(%rip), %r14      # 0xe980
leaq 0x5404(%rip), %rdx      # 0x74c4
movq %r14, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r15, %rdi
movq %r14, %rsi
callq 0x1b3f
leaq 0x53e8(%rip), %rax      # 0x74d1
leaq 0x53d7(%rip), %r10      # 0x74c7
leaq 0xc981(%rip), %r13      # 0xea78
leaq 0x450e(%rip), %rcx      # 0x660c
leaq 0x2abc(%rip), %r8       # 0x4bc1
movq %r13, %rdi
movl %r12d, %esi
xorl %edx, %edx
movl %r12d, %r9d
pushq %rax
pushq %r10
callq 0x26b6
popq %rax
popq %rcx
movq %r14, %rdi
movq %r13, %rsi
callq 0x1b3f
pushq $0xa
popq %rsi
movq %r13, %rdi
callq 0x28a6
leaq 0x53ab(%rip), %rax      # 0x74e2
leaq 0xbd4a(%rip), %r14      # 0xde88
movq %r14, %rdi
xorl %esi, %esi
leaq 0x5303(%rip), %rdx      # 0x744d
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r15, %rdi
movq %r14, %rsi
callq 0x1b3f
leaq 0x5390(%rip), %rax      # 0x74fe
leaq 0xc9fb(%rip), %r15      # 0xeb70
leaq 0x537a(%rip), %rdx      # 0x74f6
leaq 0x31d6(%rip), %rcx      # 0x5359
movq %r15, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r14, %rdi
movq %r15, %rsi
callq 0x1b3f
pushq $0x7
popq %rsi
movq %r15, %rdi
callq 0x28a6
leaq 0x5365(%rip), %rax      # 0x751a
leaq 0xbdc4(%rip), %r15      # 0xdf80
leaq 0x5350(%rip), %rdx      # 0x7513
leaq 0x2fa4(%rip), %rcx      # 0x516e
movq %r15, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %rbp, %rdi
movq %r15, %rsi
callq 0x1b3f
leaq 0x533a(%rip), %rax      # 0x752b
leaq 0xca70(%rip), %r14      # 0xec68
leaq 0x5327(%rip), %rdx      # 0x7526
movq %r14, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r15, %rdi
movq %r14, %rsi
callq 0x1b3f
leaq 0x530d(%rip), %rax      # 0x7535
leaq 0x53a9(%rip), %r10      # 0x75d8
leaq 0xcb2a(%rip), %r13      # 0xed60
leaq 0x2f5a(%rip), %rcx      # 0x5197
movq %r13, %rdi
movl %r12d, %esi
xorl %edx, %edx
xorl %r8d, %r8d
movl %r12d, %r9d
pushq %rax
pushq %r10
callq 0x26b6
popq %rax
popq %rcx
movq %r14, %rdi
movq %r13, %rsi
callq 0x1b3f
pushq $0x8
popq %rsi
movq %r13, %rdi
callq 0x28a6
leaq 0x52e0(%rip), %rax      # 0x7552
leaq 0xcbdf(%rip), %r14      # 0xee58
leaq 0x52c6(%rip), %rdx      # 0x7546
movq %r14, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r15, %rdi
movq %r14, %rsi
callq 0x1b3f
leaq 0x52c3(%rip), %rax      # 0x756c
leaq 0xcca0(%rip), %r13      # 0xef50
leaq 0x5213(%rip), %rdx      # 0x74ca
leaq 0x2efb(%rip), %rcx      # 0x51b9
movq %r13, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r14, %rdi
movq %r13, %rsi
callq 0x1b3f
pushq $0x5
popq %rsi
movq %r13, %rdi
callq 0x28a6
leaq 0x52ae(%rip), %rax      # 0x759e
leaq 0xbd81(%rip), %r14      # 0xe078
leaq 0x529a(%rip), %rdx      # 0x7598
movq %r14, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %rbp, %r13
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1b3f
leaq 0x5283(%rip), %rax      # 0x75ad
leaq 0xbe3f(%rip), %rbp      # 0xe170
leaq 0x5271(%rip), %rdx      # 0x75a9
movq %rbp, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r13, %rdi
movq %rbp, %rsi
callq 0x1b3f
leaq 0x525a(%rip), %rax      # 0x75bb
leaq 0xcce0(%rip), %r13      # 0xf048
leaq 0x5247(%rip), %rdx      # 0x75b6
leaq 0x2e8e(%rip), %rcx      # 0x5204
movq %r13, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1b3f
leaq 0x522e(%rip), %rax      # 0x75cb
leaq 0xcd9c(%rip), %r13      # 0xf140
movq %r13, %rdi
xorl %esi, %esi
leaq 0x5114(%rip), %rdx      # 0x74c4
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1b3f
leaq 0x520e(%rip), %rax      # 0x75e2
leaq 0x51fa(%rip), %r10      # 0x75d5
leaq 0xce56(%rip), %rbp      # 0xf238
movq %rbp, %rdi
movl %r12d, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r12d, %r9d
pushq %rax
pushq %r10
callq 0x26b6
popq %rax
popq %rcx
movq %r13, %rdi
movq %rbp, %rsi
callq 0x1b3f
leaq 0x51e7(%rip), %rax      # 0x75f5
leaq 0x51da(%rip), %r10      # 0x75ef
leaq 0xcf14(%rip), %r13      # 0xf330
movq %r13, %rdi
movl %r12d, %esi
xorl %edx, %edx
leaq 0x41e1(%rip), %rcx      # 0x660c
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %rax
pushq %r10
callq 0x26b6
popq %rax
popq %rcx
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1b3f
pushq $0x9
popq %rsi
movq %r13, %rdi
callq 0x28a6
leaq 0x51b6(%rip), %rax      # 0x760e
leaq 0xb741(%rip), %rdi      # 0xdba0
leaq 0x51a0(%rip), %rdx      # 0x7606
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
leaq 0xb437(%rip), %rax      # 0xd8b8
movq %rax, 0xb778(%rip)      # 0xdc00
movq %rax, 0xb779(%rip)      # 0xdc08
leaq 0xb51a(%rip), %rax      # 0xd9b0
movq %rax, 0xb773(%rip)      # 0xdc10
leaq 0xb7f4(%rip), %rax      # 0xdc98
movq %rax, 0xb76d(%rip)      # 0xdc18
leaq 0xb8de(%rip), %rax      # 0xdd90
movq %rax, 0xb767(%rip)      # 0xdc20
movq %r14, 0xb768(%rip)      # 0xdc28
leaq 0x5165(%rip), %rdx      # 0x762c
leaq 0xbd9a(%rip), %r14      # 0xe268
leaq 0x27da(%rip), %rcx      # 0x4caf
movq %r14, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rdx
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
leaq 0xb5b7(%rip), %rdi      # 0xdaa8
movq %r14, %rsi
callq 0x1b3f
leaq 0x5133(%rip), %rdx      # 0x7633
leaq 0xcf21(%rip), %r13      # 0xf428
movq %r13, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rdx
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r15, %rdi
movq %r13, %rsi
callq 0x1b3f
leaq 0x5fb8(%rip), %rdx      # 0x84e8
leaq 0xcfe9(%rip), %r14      # 0xf520
movq %r14, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rdx
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movq %r13, %rdi
movq %r14, %rsi
callq 0x1b3f
leaq 0x4b72(%rip), %rax      # 0x70d2
leaq 0x4b61(%rip), %r10      # 0x70c8
leaq 0xd0aa(%rip), %r15      # 0xf618
leaq 0x2683(%rip), %rcx      # 0x4bf8
movq %r15, %rdi
movl %r12d, %esi
xorl %edx, %edx
xorl %r8d, %r8d
movl %r12d, %r9d
pushq %rax
pushq %r10
callq 0x26b6
popq %rax
popq %rcx
movq %r14, %rdi
movq %r15, %rsi
callq 0x1b3f
movq %r15, %rdi
movl %ebx, %esi
callq 0x28a6
leaq 0x5096(%rip), %rax      # 0x763f
leaq 0xd160(%rip), %r14      # 0xf710
leaq 0x5084(%rip), %rdx      # 0x763b
leaq 0x2b77(%rip), %rcx      # 0x5135
movq %r14, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movb $0x1, %bpl
movb %bpl, 0xd14b(%rip)      # 0xf728
xorl %edi, %edi
movq %r14, %rsi
callq 0x1b3f
leaq 0x5063(%rip), %rax      # 0x7651
leaq 0xd213(%rip), %r14      # 0xf808
leaq 0x5050(%rip), %rdx      # 0x764c
leaq 0x2b43(%rip), %rcx      # 0x5146
movq %r14, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movb %bpl, 0xd201(%rip)      # 0xf820
xorl %edi, %edi
movq %r14, %rsi
callq 0x1b3f
leaq 0x5036(%rip), %rax      # 0x7666
leaq 0xd2c9(%rip), %r14      # 0xf900
leaq 0x5025(%rip), %rdx      # 0x7663
leaq 0x2b15(%rip), %rcx      # 0x515a
movq %r14, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
movb %bpl, 0xd2b7(%rip)      # 0xf918
xorl %edi, %edi
movq %r14, %rsi
callq 0x1b3f
leaq 0x5009(%rip), %rax      # 0x767b
leaq 0xbce7(%rip), %rdi      # 0xe360
leaq 0x4ff5(%rip), %rdx      # 0x7675
leaq 0x2cde(%rip), %rcx      # 0x5365
xorl %esi, %esi
xorl %r8d, %r8d
movl %ebx, %r9d
pushq %rax
pushq $0x0
callq 0x26b6
popq %rax
popq %rcx
leaq 0x234(%rip), %rsi       # 0x28d4
pushq $0x2
popq %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1160