// File: /workspace/github_c_makefile_star2_O3/xiane[P]libvphevcodec/AML_HEVCEncoder.cpp
// Function: PrintVpuStatus(unsigned int)
void PrintVpuStatus(u32 coreIdx) {
    if (1) {
        int rd, wr;
        Uint32 reg_val, num;
        Uint32 index;
        Uint32 vcpu_reg[31] = { 0, };

        VLOG(ERR, "------------------------------------------------------------------------------- ");
        VLOG(ERR, "------                            VCPU STATUS(ENC)                        ----- ");
        VLOG(ERR, "------------------------------------------------------------------------------- ");
        rd = VpuReadReg(coreIdx, W4_BS_RD_PTR);
        wr = VpuReadReg(coreIdx, W4_BS_WR_PTR);
        VLOG(ERR, "RD_PTR: 0x%08x WR_PTR: 0x%08x BS_OPT: 0x%08x BS_PARAM: 0x%08x\n",
                        rd, wr, VpuReadReg(coreIdx, W4_BS_OPTION), VpuReadReg(coreIdx, W4_BS_PARAM));

        // --------- VCPU register Dump
        VLOG(ERR, "[+] VCPU REG Dump\n");
        for (index = 0; index < 25; index++) {
            VpuWriteReg(coreIdx, W4_VPU_PDBG_IDX_REG, (1 << 9) | (index & 0xff));
            vcpu_reg[index] = VpuReadReg(coreIdx, W4_VPU_PDBG_RDATA_REG);

            if (index < 16) {
                VLOG(ERR, "0x%08x\t", vcpu_reg[index]);
                if ((index % 4) == 3)
                    VLOG(ERR, " ");
            } else {
                switch (index) {
                    case 16:
                        VLOG(ERR, "CR0: 0x%08x\t", vcpu_reg[index]);
                        break;
                    case 17:
                        VLOG(ERR, "CR1: 0x%08x\n", vcpu_reg[index]);
                        break;
                    case 18:
                        VLOG(ERR, "ML:  0x%08x\t", vcpu_reg[index]);
                        break;
                    case 19:
                        VLOG(ERR, "MH:  0x%08x\n", vcpu_reg[index]);
                        break;
                    case 21:
                        VLOG(ERR, "LR:  0x%08x\n", vcpu_reg[index]);
                        break;
                    case 22:
                        VLOG(ERR, "PC:  0x%08x\n", vcpu_reg[index]);
                        break;
                    case 23:
                        VLOG(ERR, "SR:  0x%08x\n", vcpu_reg[index]);
                        break;
                    case 24:
                        VLOG(ERR, "SSP: 0x%08x\n", vcpu_reg[index]);
                        break;
                }
            }
        }
        VLOG(ERR, "[-] VCPU REG Dump\n");
        VLOG(ERR, "vce run flag = %d\n", VpuReadReg(coreIdx, 0x1E8));
        // --------- BIT register Dump
        VLOG(ERR, "[+] BPU REG Dump\n");
        for (index = 0; index < 30; index++) {
            unsigned int temp;
            temp = FIORead(coreIdx, (W4_REG_BASE + 0x8000 + 0x18));
            VLOG(ERR, "BITPC = 0x%08x\n", temp);
            if (temp == 0xffffffff)
                return;
        }

        // --------- BIT HEVC Status Dump
        VLOG(ERR, "[-] BPU REG Dump\n");

        VLOG(ERR, "DBG_FIFO_VALID   [%08x] ", FIORead(coreIdx, (W4_REG_BASE + 0x8000 + 0x6C)));

        //SDMA debug information
        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x13c);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0x78));
        VLOG(ERR, "SDMA_DBG_INFO    [%08x] ", reg_val);
        VLOG(ERR, "\t- [   28] need_more_update  : 0x%x  ", (reg_val >> 28) & 0x1);
        VLOG(ERR, "\t- [27:25] tr_init_fsm       : 0x%x  ", (reg_val >> 25) & 0x7);
        VLOG(ERR, "\t- [24:18] remain_trans_size : 0x%x  ", (reg_val >> 18) & 0x7F);
        VLOG(ERR, "\t- [17:13] wdata_out_cnt     : 0x%x  ", (reg_val >> 13) & 0x1F);
        VLOG(ERR, "\t- [12:10] wdma_wd_fsm       : 0x%x  ", (reg_val >> 10) & 0x1F);
        VLOG(ERR, "\t- [ 9: 7] wdma_wa_fsm       : 0x%x ", (reg_val >> 7) & 0x7);
        if (((reg_val >> 7) & 0x7) == 3) {
            VLOG(ERR, "-->WDMA_WAIT_ADDR   ");
        } else {
            VLOG(ERR, " ");
        }
        VLOG(ERR, "\t- [ 6: 5] sdma_init_fsm     : 0x%x  ", (reg_val >> 5) & 0x3);
        VLOG(ERR, "\t- [ 4: 1] save_fsm          : 0x%x  ", (reg_val >> 1) & 0xF);
        VLOG(ERR, "\t- [    0] unalign_written   : 0x%x  ", (reg_val >> 0) & 0x1);

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x13b);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0x78));
        VLOG(ERR, "SDMA_NAL_MEM_INF [%08x] ", reg_val);
        VLOG(ERR, "\t- [ 7: 1] nal_mem_empty_room : 0x%x  ", (reg_val >> 1) & 0x3F);
        VLOG(ERR, "\t- [    0] ge_wnbuf_size      : 0x%x  ", (reg_val >> 0) & 0x1);

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x131);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0x78));
        VLOG(ERR, "SDMA_IRQ   [%08x]: [1]sdma_irq : 0x%x, [2]enable_sdma_irq : 0x%x\n", reg_val, (reg_val >> 1) & 0x1, (reg_val & 0x1));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x134);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "SDMA_BS_BASE_ADDR [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x135);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "SDMA_NAL_STR_ADDR [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x136);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "SDMA_IRQ_ADDR     [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x137);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "SDMA_BS_END_ADDR [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x13A);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "SDMA_CUR_ADDR    [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x139);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0x78));
        VLOG(ERR, "SDMA_STATUS      [%08x] ", reg_val);
        VLOG(ERR, "\t- [2] all_wresp_done : 0x%x  ", (reg_val >> 2) & 0x1);
        VLOG(ERR, "\t- [1] sdma_init_busy : 0x%x  ", (reg_val >> 1) & 0x1);
        VLOG(ERR, "\t- [0] save_busy      : 0x%x  ", (reg_val >> 0) & 0x1);

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x164);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0x78));
        VLOG(ERR, "SHU_DBG        [%08x] : shu_unaligned_num (0x%x) ", reg_val, reg_val);

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x169);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "SHU_NBUF_WPTR    [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x16A);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "SHU_NBUF_RPTR    [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x16C);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0x78));
        VLOG(ERR, "SHU_NBUF_INFO    [%08x] ", reg_val);
        VLOG(ERR, "\t- [5:1] nbuf_remain_byte : 0x%x  ", (reg_val >> 1) & 0x1F);
        VLOG(ERR, "\t- [  0] nbuf_wptr_wrap   : 0x%x  ", (reg_val >> 0) & 0x1);

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x184);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "CTU_LAST_ENC_POS [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x187);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "CTU_POS_IN_PIC   [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x110);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "MIB_EXTADDR      [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x111);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "MIB_INTADDR      [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x113);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "MIB_CMD        [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        FIOWrite(0, (W4_REG_BASE + 0x8000 + 0x74), (1 << 20) | (1 << 16) | 0x114);
        while ((FIORead(0,(W4_REG_BASE + 0x8000 + 0x7c)) & 0x1) == 0)
            ;
        VLOG(ERR, "MIB_BUSY     [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x78)));

        VLOG(ERR, "DBG_BPU_ENC_NB0    [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x40)));
        VLOG(ERR, "DBG_BPU_CTU_CTRL0  [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x44)));
        VLOG(ERR, "DBG_BPU_CAB_FSM0 [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x48)));
        VLOG(ERR, "DBG_BPU_BIN_GEN0 [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x4C)));
        VLOG(ERR, "DBG_BPU_CAB_MBAE0  [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x50)));
        VLOG(ERR, "DBG_BPU_BUS_BUSY [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x68)));
        VLOG(ERR, "DBG_FIFO_VALID   [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x6C)));
        VLOG(ERR, "DBG_BPU_CTU_CTRL1  [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x54)));
        VLOG(ERR, "DBG_BPU_CTU_CTRL2  [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x58)));
        VLOG(ERR, "DBG_BPU_CTU_CTRL3  [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x5C)));

        for (index = 0x80; index < 0xA0; index += 4) {
            reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + index));
            num = (index - 0x80) / 2;
            VLOG(ERR, "DBG_BIT_STACK    [%08x] : Stack%02d (0x%04x), Stack%02d(0x%04x)  ", reg_val, num, reg_val >> 16, num + 1, reg_val & 0xffff);
        }

        reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0xA0));
        VLOG(ERR, "DGB_BIT_CORE_INFO  [%08x] : pc_ctrl_id (0x%04x), pfu_reg_pc(0x%04x) ", reg_val, reg_val >> 16, reg_val & 0xffff);
        reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0xA4));
        VLOG(ERR, "DGB_BIT_CORE_INFO  [%08x] : ACC0 (0x%08x) ", reg_val, reg_val);
        reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0xA8));
        VLOG(ERR, "DGB_BIT_CORE_INFO  [%08x] : ACC1 (0x%08x) ", reg_val, reg_val);

        reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0xAC));
        VLOG(ERR, "DGB_BIT_CORE_INFO  [%08x] : pfu_ibuff_id(0x%04x), pfu_ibuff_op(0x%04x) ", reg_val, reg_val >> 16, reg_val & 0xffff);

        for (num = 0; num < 5; num += 1) {
            reg_val = FIORead(0, (W4_REG_BASE + 0x8000 + 0xB0));
            VLOG(ERR, "DGB_BIT_CORE_INFO  [%08x] : core_pram_rd_en(0x%04x), core_pram_rd_addr(0x%04x) ", reg_val, reg_val >> 16, reg_val & 0xffff);
        }

        VLOG(ERR, "SAO_LUMA_OFFSET  [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0xB4)));
        VLOG(ERR, "SAO_CB_OFFSET  [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0xB8)));
        VLOG(ERR, "SAO_CR_OFFSET  [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0xBC)));

        VLOG(ERR, "GDI_NO_MORE_REQ    [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x8f0)));
        VLOG(ERR, "GDI_EMPTY_FLAG   [%08x] ", FIORead(0,(W4_REG_BASE + 0x8000 + 0x8f4)));

        // --------- VCE register Dump
        VLOG(ERR, "[+] VCE REG Dump\n");
        for (index = 0; index < 0xC4; index += 8) {
            VLOG(ERR, "VCE REG[0x%08x] -> 0x%08x \tVCE REG[0x%08x] -> 0x%08x  ", index, ReadRegVCE(0, 0, 0x0b00 + index), index + 4, ReadRegVCE(0, 0, 0x0b00 + index + 4));
        }
        WriteRegVCE(0, 0, 0x0bc8, 0);

        VLOG(ERR, "DEBUG----------- common ------------------------------- ");
        VLOG(ERR, "DEBUG1 REG[0x%08x] -> 0x%08x\n", 0xcc, ReadRegVCE(0, 0, 0x0bcc));
        VLOG(ERR, "DEBUG2 REG[0x%08x] -> 0x%08x\n", 0xd0, ReadRegVCE(0, 0, 0x0bd0));
        VLOG(ERR, "DEBUG----------- common ------------------------------- ");
        VLOG(ERR, "DEBUG----------- common ------------------------------- ");
        {
            reg_val = ReadRegVCE(0, 0, 0x0bcc);
        }
        VLOG(ERR, "DEBUG1 REG[0x%08x] -> 0x%08x ; SFU %d , LF %d , RDO %d IMD %d FME %d IME %d\n",
                0xcc, ReadRegVCE(0, 0, 0x0bcc),
                ((reg_val >> 5) & 0x1),
                ((reg_val >> 4) & 0x1),
                ((reg_val >> 3) & 0x1),
                ((reg_val >> 2) & 0x1),
                ((reg_val >> 1) & 0x1),
                ((reg_val >> 0) & 0x1));
        //VLOG(ERR,"DEBUG1 REG[0x%08x] -> 0x%08x\n", 0xcc, ReadRegVCE(0, 0, 0x0bcc));
        //VLOG(ERR,"DEBUG2 REG[0x%08x] -> 0x%08x\n", 0xd0, ReadRegVCE(0, 0, 0x0bd0));

        VLOG(ERR, "DEBUG----------- MODE 0 : DCI dequeue/queue counts ---------------------- ");
        WriteRegVCE(0, 0, 0x0bc8, 0); //mode 0 select
        VLOG(ERR, "DCI TUH  READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0bd4) >> 16), (ReadRegVCE(0, 0, 0x0bd4) & 0xffff));
        VLOG(ERR, "DCI CU   READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0bd8) >> 16), (ReadRegVCE(0, 0, 0x0bd8) & 0xffff));
        VLOG(ERR, "DCI CTU  READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0bdc) >> 16), (ReadRegVCE(0, 0, 0x0bdc) & 0xffff));
        VLOG(ERR, "DCI COEF READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0be0) >> 16), (ReadRegVCE(0, 0, 0x0be0) & 0xffff));
        VLOG(ERR, "DCI Full/Empty Info : %08x  ", ReadRegVCE(0, 0, 0x0be4));
        VLOG(ERR, "MODE0 RESERVED : %08x  ", ReadRegVCE(0, 0, 0x0be8));
        VLOG(ERR, "MODE0 RESERVED : %08x  ", ReadRegVCE(0, 0, 0x0bec));

        VLOG(ERR, "DEBUG----------- MODE 1 ---RDO debug --------------------- ");
        WriteRegVCE(0, 0, 0x0bc8, 1); //mode 1 select
        VLOG(ERR, "RDO_DBG1 : %08x  ", ReadRegVCE(0, 0, 0x0bd4));
        VLOG(ERR, "RDO_DBG2 : %08x  ", ReadRegVCE(0, 0, 0x0bd8));
        VLOG(ERR, "RDO_DBG3 : %08x  ", ReadRegVCE(0, 0, 0x0bdc));
        VLOG(ERR, "RDO_DBG4 : %08x  ", ReadRegVCE(0, 0, 0x0be0));
        VLOG(ERR, "RDO_DBG5 : %08x  ", ReadRegVCE(0, 0, 0x0be4));
        VLOG(ERR, "RDO_DBG6 : %08x  ", ReadRegVCE(0, 0, 0x0be8));
        VLOG(ERR, "MODE1 RESERVED : %08x  ", ReadRegVCE(0, 0, 0x0bec));

        VLOG(ERR, "DEBUG----------- MODE 2 ---LF debug ---------------------------- ");
        WriteRegVCE(0, 0, 0x0bc8, 2); //mode 2 select
        reg_val = ReadRegVCE(0, 0, 0x0bd4);
        VLOG(ERR, "LF : %08x  ", reg_val);
        VLOG(ERR, "\t- cur_enc_main_state   : 0x%x  ", (reg_val >> 27) & 0x1F);
        VLOG(ERR, "\t- i_sao_para_valie     : 0x%x  ", (reg_val >> 26) & 0x1);
        VLOG(ERR, "\t- i_sao_fetch_done     : 0x%x  ", (reg_val >> 25) & 0x1);
        VLOG(ERR, "\t- i_global_encode_en   : 0x%x  ", (reg_val >> 24) & 0x1);
        VLOG(ERR, "\t- i_bs_valid           : 0x%x  ", (reg_val >> 23) & 0x1);
        VLOG(ERR, "\t- i_rec_buf_rdo_ready  : 0x%x  ", (reg_val >> 22) & 0x1);
        VLOG(ERR, "\t- o_rec_buf_dbk_hold   : 0x%x  ", (reg_val >> 21) & 0x1);
        VLOG(ERR, "\t- cur_main_state       : 0x%x  ", (reg_val >> 16) & 0x1F);
        VLOG(ERR, "\t- r_lf_pic_dbk_disable : 0x%x  ", (reg_val >> 15) & 0x1);
        VLOG(ERR, "\t- r_lf_pic_sao_disable : 0x%x  ", (reg_val >> 14) & 0x1);
        VLOG(ERR, "\t- para_load_done       : 0x%x  ", (reg_val >> 13) & 0x1);
        VLOG(ERR, "\t- i_rdma_ack_wait      : 0x%x  ", (reg_val >> 12) & 0x1);
        VLOG(ERR, "\t- i_sao_intl_col_done  : 0x%x  ", (reg_val >> 11) & 0x1);
        VLOG(ERR, "\t- i_sao_outbuf_full    : 0x%x  ", (reg_val >> 10) & 0x1);
        VLOG(ERR, "\t- lf_sub_done          : 0x%x  ", (reg_val >> 9) & 0x1);
        VLOG(ERR, "\t- i_wdma_ack_wait      : 0x%x  ", (reg_val >> 8) & 0x1);
        VLOG(ERR, "\t- lf_all_sub_done      : 0x%x  ", (reg_val >> 6) & 0x1);
        VLOG(ERR, "\t- cur_ycbcr            : 0x%x  ", (reg_val >> 5) & 0x3);
        VLOG(ERR, "\t- sub8x8_done          : 0x%x  ", (reg_val >> 0) & 0xF);
        VLOG(ERR, "MODE2 RESERVED : %08x  ", ReadRegVCE(0, 0, 0x0bd4));
        VLOG(ERR, "MODE2 RESERVED : %08x  ", ReadRegVCE(0, 0, 0x0bd8));
        VLOG(ERR, "MODE2 RESERVED : %08x  ", ReadRegVCE(0, 0, 0x0bdc));
        VLOG(ERR, "MODE2 RESERVED : %08x  ", ReadRegVCE(0, 0, 0x0be0));
        VLOG(ERR, "MODE2 RESERVED : %08x  ", ReadRegVCE(0, 0, 0x0be4));
        VLOG(ERR, "MODE2 RESERVED : %08x  ", ReadRegVCE(0, 0, 0x0be8));
        VLOG(ERR, "MODE2 RESERVED : %08x  ", ReadRegVCE(0, 0, 0x0bec));

        VLOG(ERR, "DEBUG----------- MODE 3 --------SFU-------------------- ");
        WriteRegVCE(0, 0, 0x0bc8, 3); //mode 3 select
        VLOG(ERR, "SFU 0 : %08x  ", (ReadRegVCE(0, 0, 0x0bd4)));
        VLOG(ERR, "SFU 1 : %08x  ", (ReadRegVCE(0, 0, 0x0bd8)));
        VLOG(ERR, "SFU 2 : %08x  ", (ReadRegVCE(0, 0, 0x0bdc)));
        VLOG(ERR, "SFU 3 : %08x  ", (ReadRegVCE(0, 0, 0x0be0)));

        VLOG(ERR, "DEBUG----------- MODE 4 --------DCI read/write cnt-------------------- ");
        WriteRegVCE(0, 0, 0x0bc8, 4);
        VLOG(ERR, "DCI TUH  READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0bd4) >> 16), (ReadRegVCE(0, 0, 0x0bd4) & 0xffff));
        VLOG(ERR, "DCI CU   READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0bd8) >> 16), (ReadRegVCE(0, 0, 0x0bd8) & 0xffff));
        VLOG(ERR, "DCI CTU  READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0bdc) >> 16), (ReadRegVCE(0, 0, 0x0bdc) & 0xffff));
        VLOG(ERR, "DCI COEF READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0be0) >> 16), (ReadRegVCE(0, 0, 0x0be0) & 0xffff));

        VLOG(ERR, "DEBUG----------- MODE 5 --------DCI last read data-------------------- ");
        WriteRegVCE(0, 0, 0x0bc8, 5);
        VLOG(ERR, "DCI TUH    last read data : %08x  ", ReadRegVCE(0, 0, 0x0bd4));
        VLOG(ERR, "DCI CTU    last read data : %08x  ", ReadRegVCE(0, 0, 0x0bd8));
        VLOG(ERR, "DCI CU     last read data : %08x  ", ReadRegVCE(0, 0, 0x0bdc));
        VLOG(ERR, "DCI COEF_H last read data : %08x  ", ReadRegVCE(0, 0, 0x0be0));
        VLOG(ERR, "DCI COEF_L last read data : %08x  ", ReadRegVCE(0, 0, 0x0be4));
        VLOG(ERR, "DCI INFO 0               : %08x  ", ReadRegVCE(0, 0, 0x0be8));
        VLOG(ERR, "DCI INFO 1               : %08x  ", ReadRegVCE(0, 0, 0x0beC));

        VLOG(ERR, "DEBUG----------- MODE 6 --------DCI   Big buffer read/write cnt-------------------- ");
        WriteRegVCE(0, 0, 0x0bc8, 6);
        VLOG(ERR, "DCI TUH  READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0bd4) >> 16), (ReadRegVCE(0, 0, 0x0bd4) & 0xffff));
        VLOG(ERR, "DCI CU   READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0bd8) >> 16), (ReadRegVCE(0, 0, 0x0bd8) & 0xffff));
        VLOG(ERR, "DCI COEF READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0bdc) >> 16), (ReadRegVCE(0, 0, 0x0bdc) & 0xffff));
        VLOG(ERR, "DEBUG----------- MODE 6 --------DCI Small buffer read/write cnt-------------------- ");
        VLOG(ERR, "DCI TUH  READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0be0) >> 16), (ReadRegVCE(0, 0, 0x0be0) & 0xffff));
        VLOG(ERR, "DCI CU   READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0be4) >> 16), (ReadRegVCE(0, 0, 0x0be4) & 0xffff));
        VLOG(ERR, "DCI CTU  READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0be8) >> 16), (ReadRegVCE(0, 0, 0x0be8) & 0xffff));
        VLOG(ERR, "DCI COEF READ: %08x, WRITE : %08x  ", (ReadRegVCE(0, 0, 0x0bec) >> 16), (ReadRegVCE(0, 0, 0x0bec) & 0xffff));

        VLOG(ERR, "DEBUG----------- MODE 7 --------DCI   Big buffer read/write address--------------------");
        WriteRegVCE(0, 0, 0x0bc8, 7);
        VLOG(ERR, "DCI TUH  READ: %08x, WRITE : %08x", (ReadRegVCE(0, 0, 0x0bd4) >> 16), (ReadRegVCE(0, 0, 0x0bd4) & 0xffff));
        VLOG(ERR, "DCI CU   READ: %08x, WRITE : %08x", (ReadRegVCE(0, 0, 0x0bd8) >> 16), (ReadRegVCE(0, 0, 0x0bd8) & 0xffff));
        VLOG(ERR, "DCI COEF READ: %08x, WRITE : %08x", (ReadRegVCE(0, 0, 0x0bdc) >> 16), (ReadRegVCE(0, 0, 0x0bdc) & 0xffff));
        VLOG(ERR, "DEBUG----------- MODE 7 --------DCI Small buffer read/write address--------------------");
        VLOG(ERR, "DCI TUH  READ: %08x, WRITE : %08x", (ReadRegVCE(0, 0, 0x0be0) >> 16), (ReadRegVCE(0, 0, 0x0be0) & 0xffff));
        VLOG(ERR, "DCI CU   READ: %08x, WRITE : %08x", (ReadRegVCE(0, 0, 0x0be4) >> 16), (ReadRegVCE(0, 0, 0x0be4) & 0xffff));
        VLOG(ERR, "DCI CTU  READ: %08x, WRITE : %08x", (ReadRegVCE(0, 0, 0x0be8) >> 16), (ReadRegVCE(0, 0, 0x0be8) & 0xffff));
        VLOG(ERR, "DCI COEF READ: %08x, WRITE : %08x", (ReadRegVCE(0, 0, 0x0bec) >> 16), (ReadRegVCE(0, 0, 0x0bec) & 0xffff));

        VLOG(ERR, "DEBUG----------- Others --------------------");
        VLOG(ERR, "DEBUG10 : %08x", (ReadRegVCE(0, 0, 0x0bf0)));
        VLOG(ERR, "DEBUG11 : %08x", (ReadRegVCE(0, 0, 0x0bf4)));
        VLOG(ERR, "DEBUG12 : %08x", (ReadRegVCE(0, 0, 0x0bf8)));
        VLOG(ERR, "-------------------------------------------------------------------------------");
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edi, %ebx
leaq 0x293ba(%rip), %r14     # 0x2b9dd
movq %r14, %rdi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x293f0(%rip), %rdi     # 0x2ba2e
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movq %r14, %rdi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %edi
movl $0x130, %esi            # imm = 0x130
callq 0x2200
movl %eax, %ebp
movl %ebx, %edi
movl $0x134, %esi            # imm = 0x134
callq 0x2200
movl %eax, %r14d
movl %ebx, %edi
movl $0x12c, %esi            # imm = 0x12C
callq 0x2200
movl %eax, %r15d
movl %ebx, %edi
movl $0x128, %esi            # imm = 0x128
callq 0x2200
leaq 0x293dd(%rip), %rdi     # 0x2ba7f
movl %ebp, %esi
movl %r14d, %edx
movl %r15d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x2a8e6(%rip), %rdi     # 0x2cfab
callq 0x2280
movl $0xa, %edi
callq 0x2220
leaq 0x29402(%rip), %r14     # 0x2badd
leaq 0x691e(%rip), %rbp      # 0x9000
leaq 0x29416(%rip), %r12     # 0x2baff
leaq 0x2941c(%rip), %r13     # 0x2bb0c
xorl %r15d, %r15d
leal 0x200(%r15), %edx
movl %ebx, %edi
movl $0x14, %esi
callq 0x2150
movl %ebx, %edi
movl $0x1c, %esi
callq 0x2200
cmpl $0xf, %r15d
ja 0x2743
movq %r14, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %r15d, %eax
notl %eax
testb $0x3, %al
jne 0x279e
movl $0x20, %edi
callq 0x2220
jmp 0x2794
leal -0x10(%r15), %ecx
cmpl $0x8, %ecx
ja 0x279e
movslq (%rbp,%rcx,4), %rcx
addq %rbp, %rcx
jmpq *%rcx
leaq 0x29361(%rip), %rdi     # 0x2babe
jmp 0x278b
movq %r12, %rdi
jmp 0x278b
leaq 0x29360(%rip), %rdi     # 0x2bacb
jmp 0x278b
movq %r13, %rdi
jmp 0x278b
leaq 0x2935f(%rip), %rdi     # 0x2bad8
jmp 0x278b
leaq 0x29363(%rip), %rdi     # 0x2bae5
jmp 0x278b
leaq 0x29367(%rip), %rdi     # 0x2baf2
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
incl %r15d
cmpl $0x19, %r15d
jne 0x26f3
leaq 0x2a80b(%rip), %rdi     # 0x2cfbd
callq 0x2280
movl $0xa, %edi
callq 0x2220
movl %ebx, %edi
movl $0x1e8, %esi            # imm = 0x1E8
callq 0x2200
leaq 0x29352(%rip), %rdi     # 0x2bb26
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x2a7e1(%rip), %rdi     # 0x2cfcf
callq 0x2280
movl $0xa, %edi
callq 0x2220
movl $0x1e, %r15d
leaq 0x2932f(%rip), %r14     # 0x2bb39
movl %ebx, %edi
movl $0x8018, %esi           # imm = 0x8018
callq 0x2030
movl %eax, %ebp
movq %r14, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
cmpl $-0x1, %ebp
je 0x2998
decl %r15d
jne 0x280a
leaq 0x2a79d(%rip), %rdi     # 0x2cfe0
callq 0x2280
movl $0xa, %edi
callq 0x2220
movl %ebx, %edi
movl $0x806c, %esi           # imm = 0x806C
callq 0x2030
leaq 0x292e4(%rip), %rdi     # 0x2bb49
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x11013c, %edx         # imm = 0x11013C
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2889
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
movl %eax, %ebx
leaq 0x292b4(%rip), %rdi     # 0x2bb62
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl $0x1c, %esi
andl $0x1, %esi
leaq 0x292ab(%rip), %rdi     # 0x2bb7b
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl $0x19, %esi
andl $0x7, %esi
leaq 0x292b1(%rip), %rdi     # 0x2bba1
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl $0x12, %esi
andl $0x7f, %esi
leaq 0x292b7(%rip), %rdi     # 0x2bbc7
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl $0xd, %esi
andl $0x1f, %esi
leaq 0x292bd(%rip), %rdi     # 0x2bbed
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl $0xa, %esi
andl $0x1f, %esi
leaq 0x292c3(%rip), %rdi     # 0x2bc13
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %ebp
shrl $0x7, %ebp
andl $0x7, %ebp
leaq 0x292c9(%rip), %rdi     # 0x2bc39
movl %ebp, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
cmpl $0x3, %ebp
jne 0x29a7
leaq 0x292cf(%rip), %rdi     # 0x2bc5e
xorl %eax, %eax
callq 0x2050
jmp 0x29b1
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0x2220
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl $0x5, %esi
andl $0x3, %esi
leaq 0x292a9(%rip), %rdi     # 0x2bc73
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl %esi
andl $0xf, %esi
leaq 0x292b0(%rip), %rdi     # 0x2bc99
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
andl $0x1, %ebx
leaq 0x292bb(%rip), %rdi     # 0x2bcbf
movl %ebx, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x11013b, %edx         # imm = 0x11013B
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2a28
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
movl %eax, %ebx
leaq 0x29298(%rip), %rdi     # 0x2bce5
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl %esi
andl $0x3f, %esi
leaq 0x29290(%rip), %rdi     # 0x2bcfe
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
andl $0x1, %ebx
leaq 0x2929c(%rip), %rdi     # 0x2bd25
movl %ebx, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110131, %edx         # imm = 0x110131
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2aad
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
movl %eax, %edx
shrl %edx
andl $0x1, %edx
movl %eax, %ecx
andl $0x1, %ecx
leaq 0x29270(%rip), %rdi     # 0x2bd4c
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110134, %edx         # imm = 0x110134
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2b00
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x2926b(%rip), %rdi     # 0x2bd8e
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110135, %edx         # imm = 0x110135
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2b47
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x2923e(%rip), %rdi     # 0x2bda8
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110136, %edx         # imm = 0x110136
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2b8e
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x29211(%rip), %rdi     # 0x2bdc2
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110137, %edx         # imm = 0x110137
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2bd5
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x291e4(%rip), %rdi     # 0x2bddc
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x11013a, %edx         # imm = 0x11013A
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2c1c
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x291b6(%rip), %rdi     # 0x2bdf5
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110139, %edx         # imm = 0x110139
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2c63
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
movl %eax, %ebx
leaq 0x29186(%rip), %rdi     # 0x2be0e
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl $0x2, %esi
andl $0x1, %esi
leaq 0x2917d(%rip), %rdi     # 0x2be27
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl %esi
andl $0x1, %esi
leaq 0x2917d(%rip), %rdi     # 0x2be46
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
andl $0x1, %ebx
leaq 0x29181(%rip), %rdi     # 0x2be65
movl %ebx, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110164, %edx         # imm = 0x110164
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2d08
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x29159(%rip), %rdi     # 0x2be84
movl %eax, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110169, %edx         # imm = 0x110169
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2d51
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x29142(%rip), %rdi     # 0x2beb6
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x11016a, %edx         # imm = 0x11016A
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2d98
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x29114(%rip), %rdi     # 0x2becf
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x11016c, %edx         # imm = 0x11016C
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2ddf
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
movl %eax, %ebx
leaq 0x290e4(%rip), %rdi     # 0x2bee8
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebx, %esi
shrl %esi
andl $0x1f, %esi
leaq 0x290dc(%rip), %rdi     # 0x2bf01
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
andl $0x1, %ebx
leaq 0x290e4(%rip), %rdi     # 0x2bf24
movl %ebx, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110184, %edx         # imm = 0x110184
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2e64
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x290c0(%rip), %rdi     # 0x2bf47
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110187, %edx         # imm = 0x110187
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2eab
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x29092(%rip), %rdi     # 0x2bf60
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110110, %edx         # imm = 0x110110
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2ef2
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x29064(%rip), %rdi     # 0x2bf79
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110111, %edx         # imm = 0x110111
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2f39
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x29036(%rip), %rdi     # 0x2bf92
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110113, %edx         # imm = 0x110113
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2f80
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x29008(%rip), %rdi     # 0x2bfab
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8074, %esi           # imm = 0x8074
movl $0x110114, %edx         # imm = 0x110114
callq 0x2070
xorl %edi, %edi
movl $0x807c, %esi           # imm = 0x807C
callq 0x2030
testb $0x1, %al
je 0x2fc7
xorl %edi, %edi
movl $0x8078, %esi           # imm = 0x8078
callq 0x2030
leaq 0x28fd8(%rip), %rdi     # 0x2bfc2
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8040, %esi           # imm = 0x8040
callq 0x2030
leaq 0x28fc7(%rip), %rdi     # 0x2bfd7
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8044, %esi           # imm = 0x8044
callq 0x2030
leaq 0x28fbc(%rip), %rdi     # 0x2bff2
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8048, %esi           # imm = 0x8048
callq 0x2030
leaq 0x28fb1(%rip), %rdi     # 0x2c00d
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x804c, %esi           # imm = 0x804C
callq 0x2030
leaq 0x28fa4(%rip), %rdi     # 0x2c026
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8050, %esi           # imm = 0x8050
callq 0x2030
leaq 0x28f97(%rip), %rdi     # 0x2c03f
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8068, %esi           # imm = 0x8068
callq 0x2030
leaq 0x28f8c(%rip), %rdi     # 0x2c05a
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x806c, %esi           # imm = 0x806C
callq 0x2030
leaq 0x28a55(%rip), %rdi     # 0x2bb49
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8054, %esi           # imm = 0x8054
callq 0x2030
leaq 0x28f59(%rip), %rdi     # 0x2c073
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x8058, %esi           # imm = 0x8058
callq 0x2030
leaq 0x28f4e(%rip), %rdi     # 0x2c08e
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x805c, %esi           # imm = 0x805C
callq 0x2030
leaq 0x28f43(%rip), %rdi     # 0x2c0a9
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl $0x8080, %r15d          # imm = 0x8080
movl $0x1, %ebx
leaq 0x28f39(%rip), %r14     # 0x2c0c4
xorl %edi, %edi
movl %r15d, %esi
callq 0x2030
leal -0x1(%rbx), %edx
movl %eax, %ecx
shrl $0x10, %ecx
movzwl %ax, %r9d
movq %r14, %rdi
movl %eax, %esi
movl %ebx, %r8d
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leal 0x4(%r15), %eax
addl $0xffff8000, %r15d      # imm = 0xFFFF8000
addl $0x2, %ebx
cmpl $0x9c, %r15d
movl %eax, %r15d
jb 0x318b
xorl %edi, %edi
movl $0x80a0, %esi           # imm = 0x80A0
callq 0x2030
movl %eax, %edx
shrl $0x10, %edx
movl $0xffff, %ebx           # imm = 0xFFFF
movl %eax, %ecx
andl %ebx, %ecx
leaq 0x28f11(%rip), %rdi     # 0x2c106
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x80a4, %esi           # imm = 0x80A4
callq 0x2030
leaq 0x28f30(%rip), %rdi     # 0x2c14b
movl %eax, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x80a8, %esi           # imm = 0x80A8
callq 0x2030
leaq 0x28f33(%rip), %rdi     # 0x2c176
movl %eax, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x80ac, %esi           # imm = 0x80AC
callq 0x2030
movl %eax, %edx
shrl $0x10, %edx
andl %eax, %ebx
leaq 0x28f2f(%rip), %rdi     # 0x2c1a1
movl %eax, %esi
movl %ebx, %ecx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl $0x5, %ebp
leaq 0x28f56(%rip), %rbx     # 0x2c1e9
xorl %edi, %edi
movl $0x80b0, %esi           # imm = 0x80B0
callq 0x2030
movl %eax, %edx
shrl $0x10, %edx
movzwl %ax, %ecx
movq %rbx, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
decl %ebp
jne 0x3293
xorl %edi, %edi
movl $0x80b4, %esi           # imm = 0x80B4
callq 0x2030
leaq 0x28f65(%rip), %rdi     # 0x2c239
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x80b8, %esi           # imm = 0x80B8
callq 0x2030
leaq 0x28f58(%rip), %rdi     # 0x2c252
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x80bc, %esi           # imm = 0x80BC
callq 0x2030
leaq 0x28f49(%rip), %rdi     # 0x2c269
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x88f0, %esi           # imm = 0x88F0
callq 0x2030
leaq 0x28f3a(%rip), %rdi     # 0x2c280
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
movl $0x88f4, %esi           # imm = 0x88F4
callq 0x2030
leaq 0x28f2f(%rip), %rdi     # 0x2c29b
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x29c6b(%rip), %rdi     # 0x2cff1
callq 0x2280
movl $0xa, %edi
callq 0x2220
movl $0xfffffff8, %r14d      # imm = 0xFFFFFFF8
leaq 0x28f12(%rip), %rbx     # 0x2c2b4
leal 0x8(%r14), %ebp
leal 0xb08(%r14), %edx
xorl %edi, %edi
xorl %esi, %esi
callq 0x20a0
movl %eax, %r15d
leal 0xc(%r14), %r12d
addl $0xb0c, %r14d           # imm = 0xB0C
xorl %edi, %edi
xorl %esi, %esi
movl %r14d, %edx
callq 0x20a0
movq %rbx, %rdi
movl %ebp, %esi
movl %r15d, %edx
movl %r12d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %r14d
cmpl $0xbc, %ebp
jb 0x33a2
xorl %edi, %edi
xorl %esi, %esi
movl $0xbc8, %edx            # imm = 0xBC8
xorl %ecx, %ecx
callq 0x2300
leaq 0x28eda(%rip), %rbx     # 0x2c2eb
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbcc, %edx            # imm = 0xBCC
callq 0x20a0
leaq 0x28eea(%rip), %rdi     # 0x2c324
movl $0xcc, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd0, %edx            # imm = 0xBD0
callq 0x20a0
leaq 0x28edb(%rip), %rdi     # 0x2c342
movl $0xd0, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbcc, %edx            # imm = 0xBCC
callq 0x20a0
movl %eax, %ebx
xorl %edi, %edi
xorl %esi, %esi
movl $0xbcc, %edx            # imm = 0xBCC
callq 0x20a0
movl %ebx, %ecx
shrl $0x5, %ecx
andl $0x1, %ecx
movl %ebx, %r8d
shrl $0x4, %r8d
andl $0x1, %r8d
movl %ebx, %r9d
shrl $0x3, %r9d
andl $0x1, %r9d
movl %ebx, %r10d
shrl $0x2, %r10d
andl $0x1, %r10d
movl %ebx, %r11d
shrl %r11d
andl $0x1, %r11d
andl $0x1, %ebx
subq $0x8, %rsp
leaq 0x28e5a(%rip), %rdi     # 0x2c360
movl $0xcc, %esi
movl %eax, %edx
xorl %eax, %eax
pushq %rbx
pushq %r11
pushq %r10
callq 0x2050
addq $0x20, %rsp
movl $0xa, %edi
callq 0x2220
leaq 0x28e7f(%rip), %rdi     # 0x2c3ad
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbc8, %edx            # imm = 0xBC8
xorl %ecx, %ecx
callq 0x2300
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
movl $0xffff, %ebx           # imm = 0xFFFF
andl %ebx, %eax
leaq 0x28e7a(%rip), %r14     # 0x2c3f8
movq %r14, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
andl %ebx, %eax
leaq 0x28e5c(%rip), %r15     # 0x2c41c
movq %r15, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
andl %ebx, %eax
leaq 0x28e3e(%rip), %r12     # 0x2c440
movq %r12, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
andl %ebx, %eax
leaq 0x28e20(%rip), %r13     # 0x2c464
movq %r13, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe4, %edx            # imm = 0xBE4
callq 0x20a0
leaq 0x28e17(%rip), %rdi     # 0x2c488
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe8, %edx            # imm = 0xBE8
callq 0x20a0
leaq 0x28e0c(%rip), %rbp     # 0x2c4a5
movq %rbp, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbec, %edx            # imm = 0xBEC
callq 0x20a0
movq %rbp, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x28de3(%rip), %rdi     # 0x2c4bd
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbc8, %edx            # imm = 0xBC8
movl $0x1, %ecx
callq 0x2300
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
leaq 0x28de6(%rip), %rdi     # 0x2c4f9
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
leaq 0x28dd0(%rip), %rdi     # 0x2c50b
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
leaq 0x28dba(%rip), %rdi     # 0x2c51d
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
leaq 0x28da4(%rip), %rdi     # 0x2c52f
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe4, %edx            # imm = 0xBE4
callq 0x20a0
leaq 0x28d8e(%rip), %rdi     # 0x2c541
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe8, %edx            # imm = 0xBE8
callq 0x20a0
leaq 0x28d78(%rip), %rdi     # 0x2c553
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbec, %edx            # imm = 0xBEC
callq 0x20a0
leaq 0x28d62(%rip), %rdi     # 0x2c565
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x28d60(%rip), %rdi     # 0x2c57d
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbc8, %edx            # imm = 0xBC8
movl $0x2, %ecx
callq 0x2300
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
movl %eax, %ebp
leaq 0x28d67(%rip), %rdi     # 0x2c5bf
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x1b, %esi
leaq 0x28d54(%rip), %rdi     # 0x2c5cb
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x1a, %esi
andl $0x1, %esi
leaq 0x28d55(%rip), %rdi     # 0x2c5ec
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x19, %esi
andl $0x1, %esi
leaq 0x28d56(%rip), %rdi     # 0x2c60d
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x18, %esi
andl $0x1, %esi
leaq 0x28d57(%rip), %rdi     # 0x2c62e
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x17, %esi
andl $0x1, %esi
leaq 0x28d58(%rip), %rdi     # 0x2c64f
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x16, %esi
andl $0x1, %esi
leaq 0x28d59(%rip), %rdi     # 0x2c670
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x15, %esi
andl $0x1, %esi
leaq 0x28d5a(%rip), %rdi     # 0x2c691
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x10, %esi
andl $0x1f, %esi
leaq 0x28d5b(%rip), %rdi     # 0x2c6b2
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0xf, %esi
andl $0x1, %esi
leaq 0x28d5c(%rip), %rdi     # 0x2c6d3
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0xe, %esi
andl $0x1, %esi
leaq 0x28d5d(%rip), %rdi     # 0x2c6f4
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0xd, %esi
andl $0x1, %esi
leaq 0x28d5e(%rip), %rdi     # 0x2c715
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0xc, %esi
andl $0x1, %esi
leaq 0x28d5f(%rip), %rdi     # 0x2c736
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0xb, %esi
andl $0x1, %esi
leaq 0x28d60(%rip), %rdi     # 0x2c757
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0xa, %esi
andl $0x1, %esi
leaq 0x28d61(%rip), %rdi     # 0x2c778
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x9, %esi
andl $0x1, %esi
leaq 0x28d62(%rip), %rdi     # 0x2c799
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x8, %esi
andl $0x1, %esi
leaq 0x28d63(%rip), %rdi     # 0x2c7ba
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x6, %esi
andl $0x1, %esi
leaq 0x28d64(%rip), %rdi     # 0x2c7db
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
movl %ebp, %esi
shrl $0x5, %esi
andl $0x3, %esi
leaq 0x28d65(%rip), %rdi     # 0x2c7fc
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
andl $0xf, %ebp
leaq 0x28d6b(%rip), %rdi     # 0x2c81d
movl %ebp, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
leaq 0x28d64(%rip), %rbp     # 0x2c83e
movq %rbp, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
movq %rbp, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
movq %rbp, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
movq %rbp, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe4, %edx            # imm = 0xBE4
callq 0x20a0
movq %rbp, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe8, %edx            # imm = 0xBE8
callq 0x20a0
movq %rbp, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbec, %edx            # imm = 0xBEC
callq 0x20a0
movq %rbp, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x28c87(%rip), %rdi     # 0x2c856
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbc8, %edx            # imm = 0xBC8
movl $0x3, %ecx
callq 0x2300
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
leaq 0x28c87(%rip), %rdi     # 0x2c88f
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
leaq 0x28c6e(%rip), %rdi     # 0x2c89e
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
leaq 0x28c55(%rip), %rdi     # 0x2c8ad
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
leaq 0x28c3c(%rip), %rdi     # 0x2c8bc
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x28c31(%rip), %rdi     # 0x2c8cb
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbc8, %edx            # imm = 0xBC8
movl $0x4, %ecx
callq 0x2300
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
andl %ebx, %eax
movq %r14, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
andl %ebx, %eax
movq %r15, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
andl %ebx, %eax
movq %r12, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
andl %ebx, %eax
movq %r13, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x28b62(%rip), %rdi     # 0x2c913
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbc8, %edx            # imm = 0xBC8
movl $0x5, %ecx
callq 0x2300
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
leaq 0x28b71(%rip), %rdi     # 0x2c95b
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
leaq 0x28b6c(%rip), %rdi     # 0x2c97e
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
leaq 0x28b67(%rip), %rdi     # 0x2c9a1
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
leaq 0x28b62(%rip), %rdi     # 0x2c9c4
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe4, %edx            # imm = 0xBE4
callq 0x20a0
leaq 0x28b5d(%rip), %rdi     # 0x2c9e7
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe8, %edx            # imm = 0xBE8
callq 0x20a0
leaq 0x28b58(%rip), %rdi     # 0x2ca0a
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbec, %edx            # imm = 0xBEC
callq 0x20a0
leaq 0x28b52(%rip), %rdi     # 0x2ca2c
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x28b5a(%rip), %rdi     # 0x2ca4e
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbc8, %edx            # imm = 0xBC8
movl $0x6, %ecx
callq 0x2300
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
andl %ebx, %eax
movq %r14, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
andl %ebx, %eax
movq %r15, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
andl %ebx, %eax
movq %r13, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x28ad3(%rip), %rdi     # 0x2caa3
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
andl %ebx, %eax
movq %r14, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe4, %edx            # imm = 0xBE4
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe4, %edx            # imm = 0xBE4
callq 0x20a0
andl %ebx, %eax
movq %r15, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe8, %edx            # imm = 0xBE8
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe8, %edx            # imm = 0xBE8
callq 0x20a0
andl %ebx, %eax
movq %r12, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbec, %edx            # imm = 0xBEC
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbec, %edx            # imm = 0xBEC
callq 0x20a0
andl %ebx, %eax
movq %r13, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x28a24(%rip), %rdi     # 0x2caf8
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbc8, %edx            # imm = 0xBC8
movl $0x7, %ecx
callq 0x2300
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd4, %edx            # imm = 0xBD4
callq 0x20a0
andl %ebx, %eax
leaq 0x28a2e(%rip), %r15     # 0x2cb50
movq %r15, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbd8, %edx            # imm = 0xBD8
callq 0x20a0
andl %ebx, %eax
leaq 0x28a0e(%rip), %r12     # 0x2cb72
movq %r12, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbdc, %edx            # imm = 0xBDC
callq 0x20a0
andl %ebx, %eax
leaq 0x289ee(%rip), %r14     # 0x2cb94
movq %r14, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x289f1(%rip), %rdi     # 0x2cbb6
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe0, %edx            # imm = 0xBE0
callq 0x20a0
andl %ebx, %eax
movq %r15, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe4, %edx            # imm = 0xBE4
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe4, %edx            # imm = 0xBE4
callq 0x20a0
andl %ebx, %eax
movq %r12, %rdi
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe8, %edx            # imm = 0xBE8
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbe8, %edx            # imm = 0xBE8
callq 0x20a0
andl %ebx, %eax
leaq 0x28998(%rip), %rdi     # 0x2cc0e
movl %ebp, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbec, %edx            # imm = 0xBEC
callq 0x20a0
movl %eax, %ebp
shrl $0x10, %ebp
xorl %edi, %edi
xorl %esi, %esi
movl $0xbec, %edx            # imm = 0xBEC
callq 0x20a0
andl %eax, %ebx
movq %r14, %rdi
movl %ebp, %esi
movl %ebx, %edx
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x28963(%rip), %rdi     # 0x2cc30
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbf0, %edx            # imm = 0xBF0
callq 0x20a0
leaq 0x2896a(%rip), %rdi     # 0x2cc5d
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbf4, %edx            # imm = 0xBF4
callq 0x20a0
leaq 0x28951(%rip), %rdi     # 0x2cc6c
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
xorl %edi, %edi
xorl %esi, %esi
movl $0xbf8, %edx            # imm = 0xBF8
callq 0x20a0
leaq 0x28938(%rip), %rdi     # 0x2cc7b
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
leaq 0x2892d(%rip), %rdi     # 0x2cc8a
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2220
leaq 0x27796(%rip), %rdi     # 0x2bb19
movl %eax, %esi
xorl %eax, %eax
callq 0x2050
movl $0xa, %edi
callq 0x2220
jmp 0x27ab