// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0xe789(%rip), %rdi      # 0x10a88
xorl %esi, %esi
leaq 0x8162(%rip), %rax      # 0xa46a
xorl %ecx, %ecx
movl %ecx, %r8d
movl $0x6, %r9d
movq %rax, %rdx
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xf10e(%rip), %rdi      # 0x11440
movl $0x400, %esi            # imm = 0x400
callq 0x53d0
callq 0x1fb0
leaq 0x47d8(%rip), %rax      # 0x6b20
movq %rax, 0xf101(%rip)      # 0x11450
leaq 0x47da(%rip), %rax      # 0x6b30
movq %rax, 0xf0fb(%rip)      # 0x11458
leaq 0x47dc(%rip), %rax      # 0x6b40
movq %rax, 0xf0f5(%rip)      # 0x11460
leaq 0x47de(%rip), %rax      # 0x6b50
movq %rax, 0xf0f7(%rip)      # 0x11470
leaq 0x47e0(%rip), %rax      # 0x6b60
movq %rax, 0xf0e1(%rip)      # 0x11468
leaq 0x47e2(%rip), %rax      # 0x6b70
movq %rax, 0xf0e3(%rip)      # 0x11478
leaq 0x80d3(%rip), %rdi      # 0xa46f
callq 0x3110
movb $0x0, %al
callq 0x6120
leaq 0xe3f1(%rip), %rdi      # 0x107a0
xorl %esi, %esi
leaq 0x80c4(%rip), %rdx      # 0xa47c
leaq 0x49f1(%rip), %rcx      # 0x6db0
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x80ad(%rip), %rax      # 0xa47e
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe4ae(%rip), %rdi      # 0x10898
xorl %esi, %esi
leaq 0x8096(%rip), %rdx      # 0xa489
leaq 0x4a46(%rip), %rcx      # 0x6e40
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x807f(%rip), %rax      # 0xa48b
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe56b(%rip), %rdi      # 0x10990
xorl %esi, %esi
leaq 0x828b(%rip), %rdx      # 0xa6b9
leaq 0x4b9b(%rip), %rcx      # 0x6fd0
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x8050(%rip), %rax      # 0xa497
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe818(%rip), %rdi      # 0x10c78
xorl %esi, %esi
leaq 0x804e(%rip), %rdx      # 0xa4b7
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x8041(%rip), %rax      # 0xa4bc
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe5f1(%rip), %rdi      # 0x10a88
leaq 0xe7da(%rip), %rsi      # 0x10c78
callq 0x1e80
leaq 0xefde(%rip), %rdi      # 0x11488
xorl %esi, %esi
leaq 0x8013(%rip), %rdx      # 0xa4c6
leaq 0x5156(%rip), %rcx      # 0x7610
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7fff(%rip), %rax      # 0xa4cb
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe793(%rip), %rdi      # 0x10c78
leaq 0xef9c(%rip), %rsi      # 0x11488
callq 0x1e80
leaq 0xef90(%rip), %rdi      # 0x11488
movl $0x1, %esi
callq 0x31e0
leaq 0xf077(%rip), %rdi      # 0x11580
xorl %esi, %esi
leaq 0x7fda(%rip), %rdx      # 0xa4ec
leaq 0x4c27(%rip), %rcx      # 0x7140
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7fb9(%rip), %rax      # 0xa4e4
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe734(%rip), %rdi      # 0x10c78
leaq 0xf035(%rip), %rsi      # 0x11580
callq 0x1e80
leaq 0xf029(%rip), %rdi      # 0x11580
movl $0x2, %esi
callq 0x31e0
leaq 0xf110(%rip), %rdi      # 0x11678
movl $0x1, %esi
leaq 0x7e6d(%rip), %r10      # 0xa3e1
leaq 0x4bc5(%rip), %rcx      # 0x7140
xorl %eax, %eax
movl %eax, %r8d
xorl %r9d, %r9d
leaq 0x7f6a(%rip), %rax      # 0xa4f4
movq %r10, %rdx
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xefde(%rip), %rdi      # 0x11580
leaq 0xf0cf(%rip), %rsi      # 0x11678
callq 0x1e80
leaq 0xf0c3(%rip), %rdi      # 0x11678
movl $0x3, %esi
callq 0x31e0
leaq 0xf1aa(%rip), %rdi      # 0x11770
xorl %esi, %esi
leaq 0x7f3d(%rip), %rax      # 0xa50c
xorl %ecx, %ecx
movl %ecx, %r8d
movl $0x6, %r9d
movq %rax, %rdx
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe67f(%rip), %rdi      # 0x10c78
leaq 0xf170(%rip), %rsi      # 0x11770
callq 0x1e80
leaq 0xf25c(%rip), %rdi      # 0x11868
xorl %esi, %esi
leaq 0x7a27(%rip), %rax      # 0xa03c
leaq 0x5144(%rip), %rcx      # 0x7760
xorl %edx, %edx
movl %edx, %r8d
movl $0x6, %r9d
movq %rax, %rdx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xf12d(%rip), %rdi      # 0x11770
leaq 0xf21e(%rip), %rsi      # 0x11868
callq 0x1e80
leaq 0xf212(%rip), %rdi      # 0x11868
movl $0x4, %esi
callq 0x31e0
leaq 0xe709(%rip), %rdi      # 0x10d70
xorl %esi, %esi
leaq 0x7ea7(%rip), %rdx      # 0xa517
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7e9b(%rip), %rax      # 0xa51d
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe3ea(%rip), %rdi      # 0x10a88
leaq 0xe6cb(%rip), %rsi      # 0x10d70
callq 0x1e80
leaq 0xf2af(%rip), %rdi      # 0x11960
xorl %esi, %esi
leaq 0x7e74(%rip), %rdx      # 0xa52e
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7e5c(%rip), %rax      # 0xa528
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe688(%rip), %rdi      # 0x10d70
leaq 0xf271(%rip), %rsi      # 0x11960
callq 0x1e80
leaq 0xf35d(%rip), %rdi      # 0x11a58
movl $0x1, %r9d
xorl %eax, %eax
movl %eax, %edx
leaq 0x6a64(%rip), %rcx      # 0x9170
leaq 0x44bd(%rip), %r8       # 0x6bd0
leaq 0x7e17(%rip), %r10      # 0xa531
leaq 0x7e1a(%rip), %rax      # 0xa53b
movl %r9d, %esi
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xf227(%rip), %rdi      # 0x11960
leaq 0xf318(%rip), %rsi      # 0x11a58
callq 0x1e80
leaq 0xf30c(%rip), %rdi      # 0x11a58
movl $0xa, %esi
callq 0x31e0
leaq 0xe70b(%rip), %rdi      # 0x10e68
xorl %esi, %esi
leaq 0x7d51(%rip), %rdx      # 0xa4b7
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7dd4(%rip), %rax      # 0xa54c
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe5dc(%rip), %rdi      # 0x10d70
leaq 0xe6cd(%rip), %rsi      # 0x10e68
callq 0x1e80
leaq 0xf3a9(%rip), %rdi      # 0x11b50
xorl %esi, %esi
leaq 0x7db0(%rip), %rdx      # 0xa560
leaq 0x4ff9(%rip), %rcx      # 0x77b0
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7d9f(%rip), %rax      # 0xa568
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe686(%rip), %rdi      # 0x10e68
leaq 0xf367(%rip), %rsi      # 0x11b50
callq 0x1e80
leaq 0xf35b(%rip), %rdi      # 0x11b50
movl $0x7, %esi
callq 0x31e0
leaq 0xe75a(%rip), %rdi      # 0x10f60
xorl %esi, %esi
leaq 0x7d6e(%rip), %rdx      # 0xa57d
leaq 0x4c9a(%rip), %rcx      # 0x74b0
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7d5c(%rip), %rax      # 0xa584
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe247(%rip), %rdi      # 0x10a88
leaq 0xe718(%rip), %rsi      # 0x10f60
callq 0x1e80
leaq 0xf3f4(%rip), %rdi      # 0x11c48
xorl %esi, %esi
leaq 0x7d33(%rip), %rdx      # 0xa590
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7d26(%rip), %rax      # 0xa595
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe6d5(%rip), %rdi      # 0x10f60
leaq 0xf3b6(%rip), %rsi      # 0x11c48
callq 0x1e80
leaq 0xf4a2(%rip), %rdi      # 0x11d40
movl $0x1, %r9d
xorl %eax, %eax
movl %eax, %r8d
leaq 0x4c40(%rip), %rcx      # 0x74f0
leaq 0x7d8b(%rip), %r10      # 0xa642
leaq 0x7ce1(%rip), %rax      # 0xa59f
movl %r9d, %esi
movq %r8, %rdx
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xf36f(%rip), %rdi      # 0x11c48
leaq 0xf460(%rip), %rsi      # 0x11d40
callq 0x1e80
leaq 0xf454(%rip), %rdi      # 0x11d40
movl $0x8, %esi
callq 0x31e0
leaq 0xf53b(%rip), %rdi      # 0x11e38
xorl %esi, %esi
leaq 0x7caa(%rip), %rdx      # 0xa5b0
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7ca4(%rip), %rax      # 0xa5bc
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe62c(%rip), %rdi      # 0x10f60
leaq 0xf4fd(%rip), %rsi      # 0x11e38
callq 0x1e80
leaq 0xf5e9(%rip), %rdi      # 0x11f30
xorl %esi, %esi
leaq 0x7be4(%rip), %rdx      # 0xa534
leaq 0x4c09(%rip), %rcx      # 0x7560
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7c6d(%rip), %rax      # 0xa5d6
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xf4b6(%rip), %rdi      # 0x11e38
leaq 0xf5a7(%rip), %rsi      # 0x11f30
callq 0x1e80
leaq 0xf59b(%rip), %rdi      # 0x11f30
movl $0x5, %esi
callq 0x31e0
leaq 0xe6b2(%rip), %rdi      # 0x11058
xorl %esi, %esi
leaq 0x7c53(%rip), %rdx      # 0xa602
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7c47(%rip), %rax      # 0xa608
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe0ab(%rip), %rdi      # 0x10a88
leaq 0xe674(%rip), %rsi      # 0x11058
callq 0x1e80
leaq 0xe760(%rip), %rdi      # 0x11150
xorl %esi, %esi
leaq 0x7c1a(%rip), %rdx      # 0xa613
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7c0c(%rip), %rax      # 0xa617
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe061(%rip), %rdi      # 0x10a88
leaq 0xe722(%rip), %rsi      # 0x11150
callq 0x1e80
leaq 0xf5ee(%rip), %rdi      # 0x12028
xorl %esi, %esi
leaq 0x7bdd(%rip), %rdx      # 0xa620
leaq 0x4b96(%rip), %rcx      # 0x75e0
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7bc9(%rip), %rax      # 0xa625
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe6db(%rip), %rdi      # 0x11150
leaq 0xf5ac(%rip), %rsi      # 0x12028
callq 0x1e80
leaq 0xf698(%rip), %rdi      # 0x12120
xorl %esi, %esi
leaq 0x7a9d(%rip), %rdx      # 0xa52e
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7b92(%rip), %rax      # 0xa635
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe691(%rip), %rdi      # 0x11150
leaq 0xf65a(%rip), %rsi      # 0x12120
callq 0x1e80
leaq 0xf746(%rip), %rdi      # 0x12218
movl $0x1, %r9d
xorl %eax, %eax
movl %eax, %r8d
leaq 0x7b5b(%rip), %r10      # 0xa63f
leaq 0x7b61(%rip), %rax      # 0xa64c
movl %r9d, %esi
movq %r8, %rdx
movq %r8, %rcx
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xf617(%rip), %rdi      # 0x12120
leaq 0xf708(%rip), %rsi      # 0x12218
callq 0x1e80
leaq 0xf7f4(%rip), %rdi      # 0x12310
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %r8d
leaq 0x6643(%rip), %rcx      # 0x9170
xorl %r9d, %r9d
leaq 0x7b22(%rip), %r10      # 0xa659
leaq 0x7b21(%rip), %rax      # 0xa65f
movq %r8, %rdx
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xf6c2(%rip), %rdi      # 0x12218
leaq 0xf7b3(%rip), %rsi      # 0x12310
callq 0x1e80
leaq 0xf7a7(%rip), %rdi      # 0x12310
movl $0x9, %esi
callq 0x31e0
leaq 0xe006(%rip), %rdi      # 0x10b80
xorl %esi, %esi
leaq 0x7aed(%rip), %rdx      # 0xa670
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7ae3(%rip), %rax      # 0xa678
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
callq 0x1d60
movq %rax, 0xe02a(%rip)      # 0x10be0
callq 0x1d60
movq %rax, 0xe026(%rip)      # 0x10be8
callq 0x1d70
movq %rax, 0xe022(%rip)      # 0x10bf0
leaq 0xe0a3(%rip), %rax      # 0x10c78
movq %rax, 0xe01c(%rip)      # 0x10bf8
leaq 0xe18d(%rip), %rax      # 0x10d70
movq %rax, 0xe016(%rip)      # 0x10c00
leaq 0xe467(%rip), %rax      # 0x11058
movq %rax, 0xe010(%rip)      # 0x10c08
leaq 0xe649(%rip), %rdi      # 0x11248
xorl %esi, %esi
leaq 0x7a8e(%rip), %rax      # 0xa696
leaq 0x4131(%rip), %rcx      # 0x6d40
xorl %edx, %edx
movl %edx, %r8d
movl $0x6, %r9d
movq %rax, %rdx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xde52(%rip), %rdi      # 0x10a88
leaq 0xe60b(%rip), %rsi      # 0x11248
callq 0x1e80
leaq 0xf7bf(%rip), %rdi      # 0x12408
xorl %esi, %esi
leaq 0x7a4b(%rip), %rax      # 0xa69d
xorl %ecx, %ecx
movl %ecx, %r8d
movl $0x6, %r9d
movq %rax, %rdx
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xe2e4(%rip), %rdi      # 0x10f60
leaq 0xf785(%rip), %rsi      # 0x12408
callq 0x1e80
leaq 0xf871(%rip), %rdi      # 0x12500
xorl %esi, %esi
leaq 0x79bc(%rip), %rax      # 0xa654
xorl %ecx, %ecx
movl %ecx, %r8d
movl $0x6, %r9d
movq %rax, %rdx
movq %r8, %rcx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xf746(%rip), %rdi      # 0x12408
leaq 0xf837(%rip), %rsi      # 0x12500
callq 0x1e80
leaq 0xf923(%rip), %rdi      # 0x125f8
movl $0x1, %r9d
xorl %eax, %eax
movl %eax, %r8d
leaq 0x3f49(%rip), %rcx      # 0x6c30
leaq 0x73f9(%rip), %r10      # 0xa0e7
leaq 0x73fc(%rip), %rax      # 0xa0f1
movl %r9d, %esi
movq %r8, %rdx
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
leaq 0xf7f0(%rip), %rdi      # 0x12500
leaq 0xf8e1(%rip), %rsi      # 0x125f8
callq 0x1e80
leaq 0xf8d5(%rip), %rdi      # 0x125f8
movl $0x6, %esi
callq 0x31e0
leaq 0xf9bc(%rip), %rdi      # 0x126f0
xorl %esi, %esi
leaq 0x7968(%rip), %rdx      # 0xa6a5
leaq 0x46dc(%rip), %rcx      # 0x7420
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7953(%rip), %rax      # 0xa6a9
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
movb $0x1, 0xf999(%rip)      # 0x12708
xorl %eax, %eax
movl %eax, %edi
leaq 0xf976(%rip), %rsi      # 0x126f0
callq 0x1e80
leaq 0xfa62(%rip), %rdi      # 0x127e8
xorl %esi, %esi
leaq 0x7927(%rip), %rdx      # 0xa6b6
leaq 0x46ba(%rip), %rcx      # 0x7450
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7913(%rip), %rax      # 0xa6bb
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
movb $0x1, 0xfa3f(%rip)      # 0x12800
xorl %eax, %eax
movl %eax, %edi
leaq 0xfa1c(%rip), %rsi      # 0x127e8
callq 0x1e80
leaq 0xfb08(%rip), %rdi      # 0x128e0
xorl %esi, %esi
leaq 0x78ec(%rip), %rdx      # 0xa6cd
leaq 0x4698(%rip), %rcx      # 0x7480
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x78d6(%rip), %rax      # 0xa6d0
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
movb $0x1, 0xfae5(%rip)      # 0x128f8
xorl %eax, %eax
movl %eax, %edi
leaq 0xfac2(%rip), %rsi      # 0x128e0
callq 0x1e80
leaq 0xe516(%rip), %rdi      # 0x11340
xorl %esi, %esi
leaq 0x78ac(%rip), %rdx      # 0xa6df
leaq 0x49a6(%rip), %rcx      # 0x77e0
xorl %eax, %eax
movl %eax, %r8d
movl $0x6, %r9d
leaq 0x7899(%rip), %rax      # 0xa6e5
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2e80
movl $0x2, %edi
leaq 0x3c6(%rip), %rsi       # 0x3230
callq 0x1120
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)