نمایش نتایج: از شماره 1 تا 3 , از مجموع 3

موضوع: دوستان اشنا به زبان c لطفا مطالعه کنید

  1. #1
    کاربر اخراج شده
    تاریخ عضویت
    Nov 2014
    نوشته ها
    0
    تشکر تشکر کرده 
    0
    تشکر تشکر شده 
    0
    تشکر شده در
    0 پست

    پیش فرض دوستان اشنا به زبان c لطفا مطالعه کنید

    با سلام

    خوب برای تشخیص و ساخت جنرتور لایسنس نیاز به همکاری سایر دوستان هست.

    خوب ابتدا در فایل پیوست من فایل دکامپایل شده لایت اسپید رو میزارم اگر نیاز شد ببینید

    ولی در کل سیستم لایسنس بر پایه این چند فنکشین هستت

    کد PHP:

    License
    ::License(void )(
        
    _unknown_ __eax                        // r0
    )
    {
    // addr = 0x08060A70
        
    signed int __ebp; // r6

        
    __eax = __eax;
        return 
    __eax;
    }

    License::License(void )(
        
    _unknown_ __eax                        // r0
    )
    {
    // addr = 0x08060A78
        
    signed int __ebp; // r6

        
    __eax = __eax;
        return 
    __eax;
    }

    License::~License, void ?...?(
        
    _unknown_ __eax                        // r0
    )
    {
    // addr = 0x08060A80
        
    signed int __ebp; // r6

        
    __eax = __eax;
        return 
    __eax;
    }

    License::~License(void )(
        
    _unknown_ __eax                        // r0
    )
    {
    // addr = 0x08060A88
        
    signed int __ebp; // r6

        
    __eax = __eax;
        return 
    __eax;
    }

    perr(char * )(
        
    _unknown_ __eax                        // r0
    )
    {
    // addr = 0x08060A90
        
    signed int __ebp; // r6

        
    __eax = __eax;
        
    _push(__eax);
        
    _push("[ERROR] %s\n");
        
    _push(__imp__stderr);
        
    fprintf();
        return 
    __eax;
    }

    createHostId(char & * , int )(
        
    intOrPtr __edx                         // r3
    )
    {
    // addr = 0x08060AAC
        
    char _v16;                             // _cfa_fffffff0
        
    signed int _v36;                       // _cfa_ffffffdc
        
    signed int _v52;                       // _cfa_ffffffcc
        
    char _v124;                            // _cfa_ffffff84
        
    char _v140;                            // _cfa_ffffff74
        
    char _v156;                            // _cfa_ffffff64
        
    char _v252;                            // _cfa_ffffff04
        
    intOrPtr _v256;                        // _cfa_ffffff00
        
    intOrPtr _v260;                        // _cfa_fffffefc
        
    intOrPtr _v264;                        // _cfa_fffffef8
        
    intOrPtr _v268;                        // _cfa_fffffef4
        
    signed int _v272;                      // _cfa_fffffef0
        
    signed int _v276;                      // _cfa_fffffeec
        
    intOrPtr _v280;                        // _cfa_fffffee8
        
    signed int __ebx;                      // r1
        
    _unknown_ __edi;                       // r4
        
    _unknown_ __esi;                       // r5
        
    signed int __ebp; // r6
        
    intOrPtr _t55;                         // _t55
        
    intOrPtr _t56;                         // _t56
        
    intOrPtr _t57;                         // _t57
        
    intOrPtr _t58;                         // _t58
        
    intOrPtr* _t62;                        // _t62
        
    intOrPtr _t66;                         // _t66
        
    _unknown_ _t73;                        // _t73
        
    char* _t75;                            // _t75
        
    _unknown_ _t86;                        // _t86
        
    char* _t88;                            // _t88

        
    __esp = __esp - 272;
        
    _push(384);
        
    _push(0);
        
    _push(ZcreateHostId);
        
    _v256 = _t55;
        
    _v260 = __edx;
        
    _v272 = 0;
        
    open64();
        
    _v264 = _t55;
        
    __esp = __esp + 16;
        
    _t56 = _t55 + 1;
        if(
    _t56 == 0) {
            
    _push(_t86);
            
    _push(384);
            
    _push(65);
            
    _push(ZcreateHostId);
            
    open64();
            
    _v264 = _t56;
            
    __esp = __esp + 16;
            
    __eflags = _v264 - 255;
            
    _t57 = -1;
            if(
    _v264 != 255) {
                
    _v272 = 1;
                goto 
    L1;
            }
        } else {
    L1:
            
    _t58 =  &_v124;
            
    _push(_t88);
            
    _push(_t58);
            
    _push(_v264);
            
    _push(3);
            
    __fxstat64();
            
    _v268 = _t58;
            
    __esp = __esp + 16;
            if(
    _t58 + 1 != 0) {
                
    _t66 = (_v272 << 2) + _v272 + (_v272 << 2) + _v272 + 1;
                
    _v276 = 0;
                if(
    _t66 > 0) {
                    
    _v280 = _t66;
                    goto 
    L6;
                    do {
                        while(
    1) {
    L6:
                            
    __esp = __esp - 12;
                            
    MD5_Init( &_v252);
                            
    __esp = __esp + 8;
                            
    _push(8);
                            
    _push( &_v36);
                            
    _push( &_v252);
                            
    MD5_Update();
                            
    __esp = __esp + 12;
                            
    _push(4);
                            
    _push( &_v52);
                            
    _push( &_v252);
                            
    MD5_Update();
                            
    _pop(__ecx);
                            
    _pop(__ebx);
                            
    _push( &_v252);
                            
    _push( &_v156);
                            
    _t73 = MD5_Final();
                            
    __esp = __esp + 16;
                            if(
    _v272 != 0) {
                                break;
                            }
                            
    _push(_t73);
                            
    _push(16);
                            
    _t75 =  &_v140;
                            
    _push(_t75);
                            
    _push(_v264);
                            
    read();
                            
    __esp = __esp + 16;
                            if(
    _t75 == 16) {
                                
    __ecx = 16;
                                
    asm("cld ");
                                
    _t88 =  &_v156;
                                
    asm("rep cmpsb ");
                                if(
    __eflags == 0) {
                                    goto 
    L5;
                                } else {
                                    goto 
    L8;
                                }
    L19:
                            } else {
    L8:
                                
    _v276 = _v276 + 1;
                                
    _v268 = -1;
                                if(
    _v280 > _v276) {
                                    continue;
                                } else {
                                }
                            }
                            goto 
    L10;
                        }
                        
    _push(0);
                        
    _push(0);
                        
    _push(0);
                        
    _push(_v264);
                        
    __ebx = _v52;
                        
    lseek64();
                        
    __esp = __esp + 12;
                        
    _push(16);
                        
    _push( &_v156);
                        
    _push(_v264);
                        
    write();
                        
    __esp = __esp + 12;
                        
    _push( &_v124);
                        
    _push(_v264);
                        
    _push(3);
                        
    __fxstat64();
                        
    __esp = __esp + 16;
                        
    __eflags = _v52 - _v52;
                        if(
    _v52 != _v52) {
                            goto 
    L5;
                        }
                        goto 
    L10;
    L5:
                        
    _v276 = _v276 + 1;
                        
    __eflags = _v280 - _v276;
                    } while(
    _v280 > _v276);
                }
            }
    L10:
            
    __esp = __esp - 12;
            
    _push(_v264);
            
    close();
            
    __esp = __esp + 16;
            if(
    _v268 == 255) {
                
    __esp = __esp - 12;
                
    _push(ZcreateHostId);
                
    unlink();
            } else {
                
    _push(_v52 ^ _v36);
                
    _push(136099744);
                
    _push(_v260);
                
    _t62 = _v256;
                
    _push( *_t62);
                
    snprintf();
                 *
    _v256 =  *_v256 + _t62;
            }
            
    __esp = __esp + 16;
            
    _t57 = _v268;
        }
        
    __esp =  &_v16;
        return 
    _t57;
        goto 
    L19;
    }

    isXEN(void )(
        
    _unknown_ __ebx,                       // r1
        
    _unknown_ __eflags                     // r9
    )
    {
    // addr = 0x08060D04
        
    _unknown_ _v8;                         // _cfa_fffffff8
        
    char _v4108;                           // _cfa_ffffeff4
        
    signed int __ebp; // r6
        
    _unknown_ _t5;                         // _t5
        
    _unknown_ _t9;                         // _t9

        
    _push(__ebx);
        
    __esp = __esp - 4100;
        
    _push(136083489);
        
    _push("/proc/xen/capabilities");
        
    _push(4096);
        
    _push( &_v4108);
        
    _t5 = __ecx->readFile(char * , int , char * , 2)(__edx, __eflags);
        
    _t9 = 0;
        
    __esp = __esp + 16;
        if(
    _t5 != 0) {
            
    __esp = __esp - 12;
            
    _push("find /proc/irq/ | grep xenbus");
            
    system();
            
    __esp = __esp + 16;
            
    __eflags = _t5;
            if(
    _t5 != 0) {
                goto 
    L2;
            } else {
                return 
    2;
            }
        } else {
            
    _t9 = 2;
    L2:
            return 
    _t9;
        }
    }

    handler(int )(
        
    _unknown_ __eax,                       // r0
        
    _unknown_ __esi                        // r5
    )
    {
    // addr = 0x08060D5C
        
    _unknown_ _v12;                        // _cfa_fffffff4
        
    intOrPtr _v16;                         // _cfa_fffffff0
        
    intOrPtr _v40;                         // _cfa_ffffffd8
        
    signed int __ebp; // r6
        
    _unknown_ _t14;                        // _t14

        
    _push(1);
        
    _push( &no_vmware);
        
    longjmp();
        
    _push(_t14);
        
    _push(__esi);
        
    __esp = __esp - 12;
        
    _v40 = 1;
        
    _push(handler(int ));
        
    _push(11);
        
    signal();
         *
    __esp =  &no_vmware;
        
    _setjmp();
        
    __esp = __esp + 16;
        if(
    __eax != 0) {
            
    __esp = __esp - 8;
            
    _v16 = 0;
            
    _push(0);
            
    _push(11);
            
    signal();
            return 
    _v16;
        } else {
            
    asm("in eax, dx");
            
    __esp = __esp - 8;
            
    _push(0);
            
    _push(11);
            
    signal();
            return 
    _v16;
        }
    }

    isVMware(void )(
        
    _unknown_ __eax,                       // r0
        
    _unknown_ __esi                        // r5
    )
    {
    // addr = 0x08060D70
        
    _unknown_ _v8;                         // _cfa_fffffff8
        
    intOrPtr _v12;                         // _cfa_fffffff4
        
    signed int __ebp; // r6

        
    _push(__esi);
        
    __esp = __esp - 12;
        
    _v12 = 1;
        
    _push(handler(int ));
        
    _push(11);
        
    signal();
         *
    __esp =  &no_vmware;
        
    _setjmp();
        
    __esp = __esp + 16;
        if(
    __eax != 0) {
            
    __esp = __esp - 8;
            
    _v12 = 0;
            
    _push(0);
            
    _push(11);
            
    signal();
            return 
    _v12;
        } else {
            
    asm("in eax, dx");
            
    __esp = __esp - 8;
            
    _push(0);
            
    _push(11);
            
    signal();
            return 
    _v12;
        }
    }

    License::detectVMWare(void )(
        
    signed int __ebx,                      // r1
        
    _unknown_ __ecx,                       // r2
        
    _unknown_ __edx,                       // r3
        
    char* __edi,                           // r4
        
    _unknown_ __esi,                       // r5
        
    _unknown_ __eflags                     // r9
    )
    {
    // addr = 0x08060DE0
        
    char _v16;                             // _cfa_fffffff0
        
    intOrPtr _v32;                         // _cfa_ffffffe0
        
    intOrPtr _v36;                         // _cfa_ffffffdc
        
    intOrPtr _v40;                         // _cfa_ffffffd8
        
    char _v44;                             // _cfa_ffffffd4
        
    signed char _v48;                      // _cfa_ffffffd0
        
    char _v4112;                           // _cfa_ffffeff0
        
    char _v4280;                           // _cfa_ffffef48
        
    signed int __ebp; // r6
        
    signed int _t20;                       // _t20
        
    signed char _t21;                      // _t21
        
    signed int _t23;                       // _t23
        
    signed int _t24;                       // _t24
        
    signed int _t26;                       // _t26
        
    char* _t35;                            // _t35
        
    _unknown_ _t38;                        // _t38
        
    _unknown_ _t43;                        // _t43
        
    signed int* _t44;                      // _t44

        
    _t37 = __esi;
        
    __edi = __edi;
        
    __edx = __edx;
        
    __ecx = __ecx;
        
    _t34 = __ebx;
        
    _push(__edi);
        
    _push(__esi);
        
    _push(__ebx);
        
    __esp = __esp - 44;
        
    _t20 = isXEN(void )(__ebx, __eflags);
        if(
    _t20 == 0) {
            
    fork();
            
    __eflags = _t20;
            
    _t34 = _t20;
            if(
    __eflags < 0) {
                
    __esp = __esp - 12;
                
    _push("fork() failed");
                
    _t21 = _t20->error(char * , ... )();
                
    __esp =  &(__esp[4]);
                goto 
    L10;
            } else {
                if(
    __eflags == 0) {
                    
    __esp = __esp - 8;
                    
    _v36 = 0;
                    
    _v32 = 0;
                    
    _v44 = 0;
                    
    _v40 = 0;
                    
    _push( ?_? ( &_v44));
                    
    _push(4);
                    
    setrlimit64();
                    
    _t23 = isVMware(void )( &_v44, __esi);
                     *
    __esp = _t23;
                    exit();
                    
    _push(_t43);
                    
    _t44 = __esp;
                    
    _push(_t37);
                    
    _push(_t34);
                    
    __esp = __esp - 4196;
                    
    _t35 =  &_v4280;
                    
    _push(_t35);
                    
    _push("/proc/vz/vestat");
                    
    _push(3);
                    
    __xstat64();
                    
    _t38 = 0;
                    
    __esp =  &(__esp[4]);
                    
    __eflags = _t23;
                    if(
    __eflags != 0) {
    L15:
                        
    _t24 = isXEN(void )(_t35, __eflags);
                        
    __eflags = _t24;
                        if(
    _t24 != 0) {
                            
    __esp =  &_v16;
                            
    _pop(__ebx);
                            
    _pop(__esi);
                            return 
    2;
                        } else {
                            
    _t36 = _isVMWare;
                            
    __eflags = _isVMWare;
                            if(
    __eflags == 0) {
                                
    _push(136083489);
                                
    _push("/proc/cpuinfo");
                                
    _push(4096);
                                
    _t36 =  &_v4112;
                                
    _push(_t36);
                                
    _t26 = __ecx->readFile(char * , int , char * , 2)(__edx, __eflags);
                                
    _pop(__edx);
                                
    _pop(__ecx);
                                 *((
    char*)(_t44 + _t26 + -4104)) = 0;
                                
    _push("User Mode Linux");
                                
    _push(_t36);
                                
    strstr();
                                
    __esp =  &(__esp[4]);
                                
    __eflags = _t26;
                                if(
    _t26 == 0) {
                                    goto 
    L18;
                                } else {
                                    
    __esp =  &_v16;
                                    
    _pop(__ebx);
                                    
    _pop(__esi);
                                    return 
    4;
                                }
                            } else {
                                
    _t38 = 3;
    L18:
                                
    __esp =  &_v16;
                                
    _pop(__ebx);
                                
    _pop(__esi);
                                return 
    _t38;
                            }
                        }
                    } else {
                        
    _push(_t23);
                        
    _push(_t35);
                        
    _push("/proc/vz/vzquota");
                        
    _push(3);
                        
    __xstat64();
                        
    __esp =  &(__esp[4]);
                        
    __eflags = _t23 + 1;
                        if(
    __eflags == 0) {
                            
    __esp =  &_v16;
                            
    _pop(__ebx);
                            
    _pop(__esi);
                            return 
    0;
                        } else {
                            goto 
    L15;
                        }
                    }
                } else {
                    
    __edi =  &_v48;
                    do {
                        
    __esp = __esp - 12;
                        
    _t21 = my_sleep(100);
                        
    __esp =  &(__esp[2]);
                        
    _push(1);
                        
    _push(__edi);
                        
    _push(_t34);
                        
    waitpid();
                        
    __esp =  &(__esp[4]);
                        
    __eflags = _t21 - _t34;
                        if(
    _t21 != _t34) {
                            goto 
    L5;
                        } else {
                            
    _t21 = _v48;
                            
    __eflags = _t21 & 127;
                            if(
    __eflags != 0) {
                                goto 
    L5;
                            } else {
                                
    _t20 = __eflags == 0 & 255;
                                
    _isVMWare = _t20;
                                goto 
    L1;
                            }
                        }
                        goto 
    L23;
    L5:
                        
    _t37 = 1;
                        
    __eflags = 1 - 9;
                    } while(
    1 <= 9);
                    
    __esp = __esp - 8;
                    
    _push(9);
                    
    _push(_t34);
                    
    kill();
                    
    __esp =  &(__esp[4]);
    L10:
                    
    __esp =  &_v16;
                    
    _pop(__ebx);
                    
    _pop(__esi);
                    
    _pop(__edi);
                    return 
    _t21;
                }
            }
        } else {
    L1:
            
    __esp =  &_v16;
            
    _pop(__ebx);
            
    _pop(__esi);
            
    _pop(__edi);
            return 
    _t20;
        }
    L23:
    }

    detectVPS(void )(
        
    _unknown_ __ebx,                       // r1
        
    _unknown_ __ecx,                       // r2
        
    _unknown_ __edx,                       // r3
        
    _unknown_ __eflags                     // r9
    )
    {
    // addr = 0x08060EAC
        
    char _v12;                             // _cfa_fffffff4
        
    char _v4108;                           // _cfa_ffffeff4
        
    char _v4204;                           // _cfa_ffffef94
        
    _unknown_ __esi;                       // r5
        
    signed int __ebp; // r6
        
    _unknown_ _t9;                         // _t9
        
    _unknown_ _t12;                        // _t12
        
    char* _t18;                            // _t18
        
    _unknown_ _t20;                        // _t20

        
    __edx = __edx;
        
    __ecx = __ecx;
        
    _push(__ebx);
        
    __esp = __esp - 4196;
        
    _t18 =  &_v4204;
        
    _push(_t18);
        
    _push("/proc/vz/vestat");
        
    _push(3);
        
    __xstat64();
        
    _t20 = 0;
        
    __esp = __esp + 16;
        if(
    _t9 != 0) {
    L2:
            if(
    isXEN(void )(_t18, _t26) != 0) {
                
    __esp =  &_v12;
                
    _pop(__ebx);
                return 
    2;
            } else {
                
    _t19 = _isVMWare;
                if(
    _isVMWare == 0) {
                    
    _push(136083489);
                    
    _push("/proc/cpuinfo");
                    
    _push(4096);
                    
    _t19 =  &_v4108;
                    
    _push(_t19);
                    
    _t12 = __ecx->readFile(char * , int , char * , 2)(__edx, __eflags);
                    
    _pop(__edx);
                    
    _pop(__ecx);
                     *((
    char*)(__ebp + _t12 + -4104)) = 0;
                    
    _push("User Mode Linux");
                    
    _push(_t19);
                    
    strstr();
                    
    __esp = __esp + 16;
                    
    __eflags = _t12;
                    if(
    _t12 == 0) {
                        goto 
    L5;
                    } else {
                        
    __esp =  &_v12;
                        
    _pop(__ebx);
                        return 
    4;
                    }
                } else {
                    
    _t20 = 3;
    L5:
                    
    __esp =  &_v12;
                    
    _pop(__ebx);
                    return 
    _t20;
                }
            }
        } else {
            
    _push(_t9);
            
    _push(_t18);
            
    _push("/proc/vz/vzquota");
            
    _push(3);
            
    __xstat64();
            
    __esp = __esp + 16;
            
    _t26 = _t9 + 1;
            if(
    _t9 + 1 == 0) {
                
    __esp =  &_v12;
                
    _pop(__ebx);
                return 
    0;
            } else {
                goto 
    L2;
            }
        }
    }

    getMAC(ifi_infochar * * , int , int * )(
        
    _unknown_ __ebx,                       // r1
        
    intOrPtr __ecx,                        // r2
        
    intOrPtr __edx,                        // r3
        
    _unknown_ __eflags,                    // r9
        
    intOrPtr _a4                           // _cfa_4
    )
    {
    // addr = 0x08060F70
        
    _unknown_ _v16;                        // _cfa_fffffff0
        
    intOrPtr _v20;                         // _cfa_ffffffec
        
    intOrPtr _v24;                         // _cfa_ffffffe8
        
    intOrPtr _v28;                         // _cfa_ffffffe4
        
    intOrPtr _v32;                         // _cfa_ffffffe0
        
    signed int __ebp; // r6
        
    intOrPtr _t46;                         // _t46
        
    _unknown_ _t66;                        // _t66
        
    intOrPtr _t68;                         // _t68
        
    intOrPtr _t80;                         // _t80
        
    short _t83;                            // _t83

        
    _t68 = _t46;
        
    _v20 = __edx;
        
    _v28 = __edx;
        
    _v24 = __ecx;
         *
    _a4 = detectVPS(void )(_t68, __ecx, __edx, __eflags);
        if(
    _t68 == 0) {
            
    _v32 = _v20;
            goto 
    L8;
        } else {
            
    _v32 = _v20;
            do {
                
    _t83 =  *((short*)(_t68 + 24));
                if(
    _t83 != 0) {
                    
    asm("cld ");
                    
    asm("rep cmpsb ");
                    if(
    _t83 != 0) {
                        
    __esp = __esp - 8;
                        
    _push( *(_t68 + 21) & 255);
                        
    _push( *(_t68 + 20) & 255);
                        
    _push( *(_t68 + 19) & 255);
                        
    _push( *(_t68 + 18) & 255);
                        
    _push( *(_t68 + 17) & 255);
                        
    _push( *(_t68 + 16) & 255);
                        
    _t66 = 136083489;
                        if(
    _v32 != _v28) {
                            
    _t66 = 136055055;
                        }
                        
    _push(_t66);
                        
    _push("%s%02X:%02X:%02X:%02X:%02X:%02X");
                        
    _push(_v24);
                        
    _push(_v32);
                        
    snprintf();
                        
    _t80 = _v20 + _t66;
                        
    _v32 = _t80;
                        
    _v20 = _t80;
                        
    _v24 = _v24 - _t66;
                        
    __esp = __esp + 48;
                    }
                }
                
    _t68 =  *((intOrPtr*)(_t68 + 44));
            } while(
    _t68 != 0);
    L8:
            if(
    _v32 == _v28) {
    L11:
                if(
    createHostId(char & * , int )(_v24) + 1 == 0) {
                    
    createHostId(char & * , int )(_v24);
                    
    _v32 = _v20;
                } else {
                    
    _v32 = _v20;
                }
    L13:
                
    _v32 = _v32 - _v28;
                return 
    _v32;
            }
            if( *
    _a4 == 0) {
                goto 
    L13;
            }
             *
    _v32 = 44;
            
    _v20 = _v20 + 1;
            goto 
    L11;
        }
    }

    License::readSerialNum(char * , char * , int )(
        
    _unknown_ __eflags,                    // r9
        
    intOrPtr _a4,                          // _cfa_4
        
    intOrPtr _a8,                          // _cfa_8
        
    intOrPtr _a12                          // _cfa_c
    )
    {
    // addr = 0x08061070
        
    _unknown_ _v16;                        // _cfa_fffffff0
        
    char __ebx;                            // r1
        
    _unknown_ __edi;                       // r4
        
    intOrPtr __esi;                        // r5
        
    signed int __ebp; // r6
        
    char _t9;                              // _t9
        
    char _t11;                             // _t11
        
    _unknown_ _t14;                        // _t14

        
    _push(_a4);
        
    _push("conf/serial.no");
        
    _t14 = _a12 - 1;
        
    _push(_t14);
        
    __esi = _a8;
        
    _push(__esi);
        
    _t9 = __ecx->readFile(char * , int , char * , 2)(__edx, __eflags);
        
    __esp = __esp + 16;
        
    __ebx = _t9;
        if(
    _t9 == 255) {
            
    _push(_a4);
            
    _push( &M081C2AF1);
            
    _push(_t14);
            
    _push(__esi);
            
    __ebx = __ecx->readFile(char * , int , char * , 2)(__edx, __eflags);
            
    __esp = __esp + 16;
        }
        if(
    __ebx >= 0) {
            while(
    1) {
                
    __esp = __esp - 12;
                
    _t11 =  *((char*)(__esi + __ebx - 1));
                
    _push(_t11);
                
    isspace();
                
    __esp = __esp + 16;
                
    __eflags = _t11;
                if(
    _t11 == 0) {
                    break;
                }
                
    __ebx = __ebx - 1;
                
    __eflags = __ebx;
            }
             *((
    char*)(__esi + __ebx)) = 0;
        } else {
        }
        return 
    __ebx;
    }

    getSerialNum(char * , char * , int )(
        
    _unknown_ __ecx,                       // r2
        
    signed int __edx,                      // r3
        
    _unknown_ __eflags                     // r9
    )
    {
    // addr = 0x080610DC
        
    char _v16;                             // _cfa_fffffff0
        
    unsigned int _v60;                     // _cfa_ffffffc4
        
    signed int _v64;                       // _cfa_ffffffc0
        
    _unknown_ __ebx;                       // r1
        
    _unknown_ __edi;                       // r4
        
    _unknown_ __esi;                       // r5
        
    signed int __ebp; // r6
        
    _unknown_ _t47;                        // _t47
        
    signed int _t48;                       // _t48
        
    signed int _t50;                       // _t50
        
    char _t51;                             // _t51
        
    _unknown_ _t53;                        // _t53
        
    char* _t54;                            // _t54
        
    signed int _t56;                       // _t56
        
    signed char _t62;                      // _t62
        
    signed int _t64;                       // _t64
        
    signed int _t69;                       // _t69
        
    signed int _t81;                       // _t81
        
    char* _t82;                            // _t82
        
    _unknown_ _t91;                        // _t91
        
    signed char _t105;                     // _t105
        
    signed int _t112;                      // _t112
        
    signed int _t113;                      // _t113
        
    char _t114;                            // _t114
        
    signed int _t124;                      // _t124
        
    _unknown_ _t125;                       // _t125
        
    signed int _t126;                      // _t126
        
    _unknown_ _t127;                       // _t127

        
    _push(_t127);
        
    _push(_t81);
        
    __esp = __esp - 64;
        
    _push(__ecx);
        
    _push(__edx);
        
    _push(_t47);
        
    _t128 = __edx;
        
    _t48 = __eflags->readSerialNum(char * , char * , int )();
        
    __esp = __esp + 16;
        
    _t112 = _t48;
        if(
    _t48 >= 0) {
             *((
    char*)(__edx + _t48)) = 0;
            
    _t82 = __edx + _t48;
            while(
    _t128 != _t82) {
                
    __esp = __esp - 12;
                
    _t50 =  *_t128;
                
    _push(_t50);
                
    isspace();
                
    __esp = __esp + 16;
                
    __eflags = _t50;
                if(
    _t50 == 0) {
    L8:
                    if(
    _t82 > _t128) {
    L6:
                        
    __esp = __esp - 12;
                        
    _t51 =  *((char*)(_t82 - 1));
                        
    _push(_t51);
                        
    isspace();
                        
    __esp = __esp + 16;
                        if(
    _t51 != 0) {
                            
    _t82 = _t82 - 1;
                            goto 
    L8;
                        }
                    }
                } else {
                    
    _t128 = _t128 + 1;
                    
    __eflags = _t128;
                    continue;
                }
    L9:
                 *
    _t82 = 0;
                
    asm("cld ");
                
    asm("repne scasb ");
                
    _t53 = 0xfffffffffffffffe;
                
    _t81 = 4;
                if( !-
    1 - 16 > 4) {
    L27:
                    
    _t54 = ERR_INV_SERIAL;
                    goto 
    L28;
                } else {
                    if(
    _t53 == 19) {
                        
    __eflags =  *((char*)(_t128 + 4)) - 45;
                        if( *((
    char*)(_t128 + 4)) != 45) {
                            goto 
    L27;
                        } else {
                            
    __eflags =  *((char*)(_t128 + 9)) - 45;
                            if( *((
    char*)(_t128 + 9)) == 45) {
                                
    __eflags =  *((char*)(_t128 + 14)) - 45;
                                if( *((
    char*)(_t128 + 14)) != 45) {
                                    goto 
    L27;
                                } else {
                                    
    _t81 = 5;
                                    goto 
    L11;
                                }
    L33:
                            } else {
                                goto 
    L27;
                            }
                        }
                    } else {
    L11:
                        
    _t124 = 0;
                        
    _t91 = _t81 + _t81 * 2 + _t128;
                        
    _t113 = _t128;
                        
    _t128 = _t128;
                        do {
                             *((
    char*)(__ebp + _t124 - 40)) =  *_t113;
                             *((
    char*)(__ebp + _t124 - 36)) =  *((intOrPtr*)(_t113 + _t81));
                             *((
    char*)(__ebp + _t124 - 32)) =  *((intOrPtr*)(_t113 + _t81 * 2));
                             *((
    char*)(__ebp + _t124 - 28)) =  *((intOrPtr*)(_t91 + _t124));
                            
    _t124 = _t124 + 1;
                            
    _t113 = _t113 + 1;
                        } while(
    _t124 <= 3);
                        
    _t125 = 0;
                        while(
    1) {
                            
    _t62 =  *((intOrPtr*)(__ebp + _t125 - 40));
                            if(
    _t62 < 0) {
                                goto 
    L27;
                            }
                            
    _t114 =  *((intOrPtr*)((_t62 & 255) +  &Base64::s_decodeTable));
                            if(
    _t114 == 255) {
                                goto 
    L27;
                            } else {
                                
    _t64 =  *(_t125 +  &s_achLocSwitch) & 255;
                                
    _t125 = _t125 + 1;
                                 *((
    char*)(__ebp + _t64 - 56)) = _t114;
                                if(
    _t125 <= 15) {
                                    continue;
                                } else {
                                    
    _t126 = 0;
                                    do {
                                        
    _v64 = _t126 + 1;
                                        
    _t69 =  *(__ebp + _t126 - 48) & 255;
                                        
    _t128 = (_t69 << _t126 + 2 | _t69 >> 4 - _t126) & 63;
                                        
    _t105 = (_t126 << _t126) + 42 ^ (( *(__ebp + _t126 - 56) & 255) << _t126 | ( *(__ebp + _t126 - 56) & 255) >> 6 - _t126) & 63 ^ (( *(__ebp + _t126 - 52) & 255) << _v64 | ( *(__ebp + _t126 - 52) & 255) >> 5 - _t126) & 63 ^ (_t69 << _t126 + 2 | _t69 >> 4 - _t126) & 63;
                                        
    _t81 = 0;
                                        while(
    _t81 < _t126) {
                                            
    _t105 = (_t105 & 3) << 1 | (_t105 & 0xc) << 2 | (_t105 & 0x20) >> 5 | (_t105 & 0x10) >> 1;
                                            
    _t81 = _t81 + 1;
                                            
    __eflags = _t81;
                                        }
                                        if(
    _t105 !=  *((intOrPtr*)(__ebp + _t126 - 44))) {
                                            goto 
    L27;
                                        } else {
                                            goto 
    L22;
                                        }
                                        goto 
    L29;
    L22:
                                        
    _t126 = _v64;
                                    } while(
    _t126 <= 3);
                                    
    _t56 = _v60 >> 3 & 255;
                                    if(
    _t56 < 1) {
                                        
    _t54 = "Serial number type does not match server's edition!";
    L28:
                                        
    perr(char * )(_t54);
                                        
    _t56 = -1;
                                    }
                                }
                            }
                            goto 
    L29;
                        }
                        goto 
    L27;
                    }
                }
    L29:
                
    _t112 = _t56;
                goto 
    L30;
            }
            if(
    _t82 > _t128) {
                goto 
    L6;
            }
            goto 
    L9;
        }
    L30:
        
    __esp =  &_v16;
        
    _pop(__ebx);
        
    _pop(__esi);
        return 
    _t112;
        goto 
    L33;
    }

    getDecryptedKey(unsigned char * , int )(
        
    intOrPtr __eax,                        // r0
        
    _unknown_ __edx                        // r3
    )
    {
    // addr = 0x080612C4
        
    char _v29;                             // _cfa_ffffffe3
        
    char _v30;                             // _cfa_ffffffe2
        
    char _v31;                             // _cfa_ffffffe1
        
    char _v32;                             // _cfa_ffffffe0
        
    char _v33;                             // _cfa_ffffffdf
        
    char _v34;                             // _cfa_ffffffde
        
    char _v35;                             // _cfa_ffffffdd
        
    char _v36;                             // _cfa_ffffffdc
        
    char _v37;                             // _cfa_ffffffdb
        
    char _v38;                             // _cfa_ffffffda
        
    char _v39;                             // _cfa_ffffffd9
        
    char _v40;                             // _cfa_ffffffd8
        
    char _v41;                             // _cfa_ffffffd7
        
    char _v42;                             // _cfa_ffffffd6
        
    char _v43;                             // _cfa_ffffffd5
        
    char _v44;                             // _cfa_ffffffd4
        
    intOrPtr _v48;                         // _cfa_ffffffd0
        
    signed int _v64;                       // _cfa_ffffffc0
        
    signed int _v80;                       // _cfa_ffffffb0
        
    signed int __ebx;                      // r1
        
    signed int __edi;                      // r4
        
    _unknown_ __esi;                       // r5
        
    signed int __ebp; // r6
        
    signed int _t35;                       // _t35
        
    signed char _t37;                      // _t37
        
    signed int _t43;                       // _t43

        
    _v48 = __eax;
        
    _v44 = 134;
        
    _v43 = 33;
        
    _v42 = 216;
        
    _v41 = 16;
        
    _v40 = 193;
        
    _v39 = 31;
        
    _v38 = 129;
        
    _v37 = 96;
        
    _v36 = 169;
        
    _v35 = 104;
        
    _v34 = 103;
        
    _v33 = 21;
        
    _v32 = 112;
        
    _v31 = 110;
        
    _v30 = 238;
        
    _v29 = 184;
        if(
    __edx <= 450 || __edx < 451) {
            return -
    1;
        } else {
            
    __edi = 0;
            do {
                
    __esi = 0;
                if(
    __edi >= 451) {
                    goto 
    L7;
                }
                
    __ebx = __edi;
                while(
    1) {
                    
    _t35 = __ebx;
                    
    asm("cdq ");
                    
    _t43 = _t35 % 226;
                    
    _v64 = _t43;
                    
    _v80 = _t35 / 226;
                    
    _t37 =  *((intOrPtr*)(__ebp + __esi - 40));
                    
    __esi = __esi + 1;
                     *(
    _v48 + __ebx) = _t37 ^  *(_v80 + _t43 * 2 +  &s_achKey);
                    if(
    __esi >= 16) {
                        goto 
    L7;
                    }
                    
    __ebx = __edi + __esi;
                    if(
    __ebx < 451) {
                        continue;
                    }
                    goto 
    L7;
                }
    L7:
                
    __edi = __edi + 16;
            } while(
    __edi < 451);
            return 
    451;
        }
    }

    buildLicenseRequest(char * , char * , int )(
        
    _unknown_ __ebx,                       // r1
        
    intOrPtr __ecx,                        // r2
        
    intOrPtr __edx,                        // r3
        
    _unknown_ __esi,                       // r5
        
    _unknown_ __eflags                     // r9
    )
    {
    // addr = 0x08061384
        
    _unknown_ _v16;                        // _cfa_fffffff0
        
    char _v852;                            // _cfa_fffffcac
        
    char _v1052;                           // _cfa_fffffbe4
        
    char _v1308;                           // _cfa_fffffae4
        
    char _v1564;                           // _cfa_fffff9e4
        
    char _v1704;                           // _cfa_fffff958
        
    char _v1834;                           // _cfa_fffff8d6
        
    char _v1964;                           // _cfa_fffff854
        
    char _v4012;                           // _cfa_fffff054
        
    intOrPtr _v4016;                       // _cfa_fffff050
        
    intOrPtr _v4020;                       // _cfa_fffff04c
        
    intOrPtr _v4024;                       // _cfa_fffff048
        
    _unknown_ __edi;                       // r4
        
    signed int __ebp; // r6
        
    _unknown_ _t18;                        // _t18
        
    intOrPtr _t22;                         // _t22
        
    char* _t23;                            // _t23
        
    char* _t27;                            // _t27
        
    _unknown_ _t30;                        // _t30
        
    _unknown_ _t34;                        // _t34
        
    intOrPtr _t35;                         // _t35
        
    char* _t36;                            // _t36
        
    char* _t41;                            // _t41
        
    char* _t44;                            // _t44
        
    char* _t45;                            // _t45
        
    _unknown_ _t47;                        // _t47
        
    intOrPtr _t49;                         // _t49
        
    _unknown_ _t51;                        // _t51

        
    _v4020 = __edx;
        
    _v4024 = __ecx;
        
    _t41 =  &_v1308;
        
    _t47 = getSerialNum(char * , char * , int )(256, _t41, __eflags);
        
    _t51 = _t47 - 255;
        
    _t18 = -1;
        if(
    _t51 != 0) {
            
    __esp = __esp - 8;
            
    _push(0);
            
    _push(2);
            
    _t34 = 256->get_ifi_info(int , int )(_t41, _t51);
            
    _t44 =  &_v1564;
            
    _t22 = getMAC(ifi_infochar * * , int , int * )(_t34, 256, _t44, _t51,  &_v4016);
            
    __esp = __esp + 16;
            if(
    _t22 <= 0) {
    L14:
                
    _t23 = "Network configuration is invalid, at least one working network interface is required.\n";
                goto 
    L12;
            } else {
                if(
    _t34 != 0) {
                    
    __esp = __esp - 12;
                    
    _t22 = _t34->free_ifi_info(ifi_info)();
                    
    __esp = __esp + 12;
                }
                if(
    _t47 == 1) {
                    
    _t22 = _v4016;
                    
    __eflags = _t22;
                    if(
    _t22 != 0) {
                        goto 
    L5;
                    } else {
                        
    _t23 = "VPS serial number can only be used on a VPS machine.\n";
    L12:
                        
    perr(char * )(_t23);
                        
    _t18 = -2;
                    }
                } else {
    L5:
                    
    _push(_t22);
                    
    _push(390);
                    
    _push(0);
                    
    _t35 =  &_v1964;
                    
    _push(_t35);
                    
    memset();
                     *
    __esp = _t35;
                    
    uname();
                     *
    __esp =  &_v1704;
                    
    _push( &_v1834);
                    
    _push(_t35);
                    
    _push(_t44);
                    
    _push( &M081C96DE);
                    
    _t27 =  &_v1308;
                    
    _push(_t27);
                    
    _push("Serial: %s\nRelease: %s\nMAC: %s\nOS: %s %s\nMachine: %s\n");
                    
    _push(1024);
                    
    _t45 =  &_v1052;
                    
    _push(_t45);
                    
    snprintf();
                    
    __esp = __esp + 48;
                    
    _t36 = _t27;
                    if(
    _t27 > 200) {
                        
    _t36 = 200;
                        
    _v852 = 0;
                    }
                    
    _t49 =  &_v4012;
                    
    SSLContext::initSSL(void )();
                    
    _t30 = getDecryptedKey(unsigned char * , int )(_t49, 2048);
                    if(
    _t30 == 255) {
    L13:
                        
    perr(char * )("Failed to encrpyt request!");
                        
    __esp = __esp - 12;
                        
    _push(1);
                        exit();
                        goto 
    L14;
                    } else {
                        
    __esp = __esp - 8;
                        
    _push(_v4024);
                        
    _push(_v4020);
                        
    _push(_t36);
                        
    _push(_t45);
                        
    _push(_t30);
                        
    _push(_t49);
                        
    _t18 = 2048->publickey_encrypt, unsigned char * , int , char * , int , char * , int ?...?(_t49);
                        
    __esp = __esp + 32;
                        if(
    _t18 == 255) {
                            goto 
    L13;
                        }
                    }
                }
            }
        }
        return 
    _t18;
    }

    License::generateLicenseRequest(char * )(
        
    char* __ebx,                           // r1
        
    _unknown_ __ecx,                       // r2
        
    _unknown_ __edx,                       // r3
        
    _unknown_ __esi,                       // r5
        
    _unknown_ __eflags,                    // r9
        
    intOrPtr _a4                           // _cfa_4
    )
    {
    // addr = 0x080614F4
        
    intOrPtr _v0;                          // _cfa_0
        
    char _v20;                             // _cfa_ffffffec
        
    char _v1052;                           // _cfa_fffffbe4
        
    char _v1564;                           // _cfa_fffff9e4
        
    char _v2080;                           // _cfa_fffff7e0
        
    char _v3672;                           // _cfa_fffff1a8
        
    _unknown_ __edi;                       // r4
        
    signed int __ebp; // r6
        
    _unknown_ _t12;                        // _t12
        
    char* _t13;                            // _t13
        
    char* _t14;                            // _t14
        
    _unknown_ _t17;                        // _t17
        
    _unknown_ _t20;                        // _t20
        
    _unknown_ _t21;                        // _t21
        
    char* _t22;                            // _t22
        
    char* _t23;                            // _t23
        
    char* _t28;                            // _t28
        
    _unknown_ _t30;                        // _t30
        
    intOrPtr _t31;                         // _t31
        
    char* _t32;                            // _t32
        
    _unknown_ _t34;                        // _t34
        
    char* _t35;                            // _t35
        
    _unknown_ _t36;                        // _t36
        
    _unknown_ _t39;                        // _t39

        
    _t23 = __ebx;
        
    __esp = __esp - 1548;
        
    _t31 = _a4;
        
    _t28 =  &_v1052;
        
    _t12 = buildLicenseRequest(char * , char * , int )(__ebx, 1024, _t28, __esi, __eflags);
        
    _t39 = _t12;
        
    _t34 = _t12;
        if(
    _t39 < 0) {
            
    __esp = __esp - 12;
            
    _push(1);
            goto 
    L5;
        } else {
            
    _push("lic_req.bin");
            
    _push(_t31);
            
    _push(512);
            
    _push( &_v1564);
            
    _t20 = 1024->getAbsoluteFile(char * , unsigned int , char * , 2)(_t28, _t39);
            
    __esp = __esp + 16;
            
    _t21 = _t20 + 1;
            if(
    _t21 == 0) {
    L3:
                
    _push(_t34);
                
    _push(_t31);
                
    _push("[ERROR] Failed to create license key request file - lic_req.bin under %s!\n");
                
    _push(__imp__stderr);
                
    fprintf();
                
    _pop(__ebx);
    L4:
                
    _push(1);
    L5:
                exit();
            } else {
                
    _push(_t21);
                
    _push(438);
                
    _push(65);
                
    _t22 =  &_v1564;
                
    _push(_t22);
                
    open64();
                
    __esp = __esp + 16;
                
    _t23 = _t22;
                if(
    _t22 == 255) {
                    goto 
    L3;
                }
            }
        }
        
    _push(1024);
        
    _push(_t34);
        
    _t13 =  &_v1052;
        
    _push(_t13);
        
    _push(_t23);
        
    write();
        
    __esp = __esp + 16;
        if(
    _t13 != _t34) {
            
    __esp = __esp - 12;
            
    _push("write()");
            
    perror();
            
    _pop(__ebx);
            goto 
    L4;
        }
        
    __esp = __esp - 12;
        
    _push(_t23);
        
    close();
        
    _pop(__eax);
        
    _pop(__edx);
        
    _t14 =  &_v1564;
        
    _push(_t14);
        
    _push("[OK] You license key request has been created at %s.\n");
        
    printf();
         *
    __esp = 0;
        exit();
        
    _push(_t36);
        
    _push(_t31);
        
    _push(_t34);
        
    _push(_t23);
        
    __esp = __esp - 2060;
        
    _t32 = _t14;
        
    _t35 = _t28;
        
    _t30 = getDecryptedKey(unsigned char * , int )( &_v3672, 2048);
        
    __eflags = _t30 - 255;
        
    _t17 = -1;
        if(
    _t30 != 255) {
            
    __esp = __esp - 8;
            
    _push(_v0);
            
    _push(1024);
            
    _push(_t35);
            
    _push(_t32);
            
    _push(_t30);
            
    _push( &_v2080);
            
    _t17 = _t30->publickey_decrypt(unsigned char * , int , char * , int , char * , int )(_t35);
            
    __esp = __esp + 32;
        }
        
    __esp =  &_v20;
        return 
    _t17;
    }

    decrypt_license_key(char * , int , char * , int )(
        
    _unknown_ __ecx,                       // r2
        
    _unknown_ __edx,                       // r3
        
    _unknown_ __esi,                       // r5
        
    intOrPtr _a4                           // _cfa_4
    )
    {
    // addr = 0x080615C8
        
    _unknown_ _v16;                        // _cfa_fffffff0
        
    char _v2076;                           // _cfa_fffff7e4
        
    _unknown_ __ebx;                       // r1
        
    _unknown_ __edi;                       // r4
        
    signed int __ebp; // r6
        
    _unknown_ _t5;                         // _t5
        
    _unknown_ _t8;                         // _t8
        
    _unknown_ _t12;                        // _t12

        
    __ecx = __ecx;
        
    __edi = _t5;
        
    __ebx = __ecx;
        
    _t12 = getDecryptedKey(unsigned char * , int )( &_v2076, 2048);
        
    _t8 = -1;
        if(
    _t12 != 255) {
            
    __esp = __esp - 8;
            
    _push(_a4);
            
    _push(__ebx);
            
    _push(__edx);
            
    _push(__edi);
            
    _push(_t12);
            
    _push( &_v2076);
            
    _t8 = _t12->publickey_decrypt(unsigned char * , int , char * , int , char * , int )(__edx);
            
    __esp = __esp + 32;
        }
        return 
    _t8;
    }

    build_format_string(int , char * )(
        
    _unknown_ __eax,                       // r0
        
    char* __edx                            // r3
    )
    {
    // addr = 0x08061618
        
    signed int __ebp; // r6
        
    char* _t2;                             // _t2
        
    char* _t3;                             // _t3
        
    _unknown_ _t5;                         // _t5

        
    __ecx = __eax;
        
    __ebp = __esp;
        
    _t2 = __edx;
        
    _t5 = 0;
        while(
    _t5 < __ecx) {
             *
    _t2 = 37;
            
    _t3 = _t2 + 1;
             *
    _t3 = 99;
            
    _t5 = _t5 + 1;
            
    _t2 = _t3 + 1;
        }
        
    __esp = __ebp;
        return 
    _t2;
    }

    License::checkLicenseKey(char * , long & , 2, char * , int , ifi_info)(
        
    _unknown_ __ebx,                       // r1
        
    _unknown_ __ecx,                       // r2
        
    _unknown_ __edx,                       // r3
        
    _unknown_ __eflags,                    // r9
        
    _unknown_ _a4,                         // _cfa_4
        
    signed int _a8,                        // _cfa_8
        
    signed int _a12,                       // _cfa_c
        
    signed int _a16,                       // _cfa_10
        
    intOrPtr _a20,                         // _cfa_14
        
    signed int _a24                        // _cfa_18
    )
    {
    // addr = 0x08061634
        
    char _v16;                             // _cfa_fffffff0
        
    char _v284;                            // _cfa_fffffee4
        
    char _v540;                            // _cfa_fffffde4
        
    char _v604;                            // _cfa_fffffda4
        
    char _v860;                            // _cfa_fffffca4
        
    signed int _v864;                      // _cfa_fffffca0
        
    signed int _v868;                      // _cfa_fffffc9c
        
    signed int* _v872;                     // _cfa_fffffc98
        
    signed int _v876;                      // _cfa_fffffc94
        
    signed int _v880;                      // _cfa_fffffc90
        
    signed int _v884;                      // _cfa_fffffc8c
        
    signed int _v888;                      // _cfa_fffffc88
        
    signed int _v892;                      // _cfa_fffffc84
        
    signed int _v896;                      // _cfa_fffffc80
        
    signed int _v900;                      // _cfa_fffffc7c
        
    signed int _v904;                      // _cfa_fffffc78
        
    signed int _v908;                      // _cfa_fffffc74
        
    signed int _v912;                      // _cfa_fffffc70
        
    signed int _v916;                      // _cfa_fffffc6c
        
    signed int _v917;                      // _cfa_fffffc6b
        
    _unknown_ __edi;                       // r4
        
    _unknown_ __esi;                       // r5
        
    signed int __ebp; // r6
        
    signed int _t117;                      // _t117
        
    _unknown_ _t118;                       // _t118
        
    signed int _t120;                      // _t120
        
    signed int _t123;                      // _t123
        
    signed int _t127;                      // _t127
        
    signed int _t130;                      // _t130
        
    char* _t134;                           // _t134
        
    char* _t138;                           // _t138
        
    _unknown_ _t141;                       // _t141
        
    char* _t143;                           // _t143
        
    char* _t147;                           // _t147
        
    char* _t151;                           // _t151
        
    char* _t153;                           // _t153
        
    char* _t155;                           // _t155
        
    signed int _t162;                      // _t162
        
    signed int _t163;                      // _t163
        
    signed int _t168;                      // _t168
        
    signed int _t169;                      // _t169
        
    signed int _t172;                      // _t172
        
    signed int _t174;                      // _t174
        
    signed int _t176;                      // _t176
        
    signed int _t178;                      // _t178
        
    signed int _t182;                      // _t182
        
    char* _t185;                           // _t185
        
    char* _t186;                           // _t186
        
    char* _t187;                           // _t187
        
    signed int _t188;                      // _t188
        
    char* _t189;                           // _t189
        
    signed int _t193;                      // _t193
        
    signed int _t194;                      // _t194
        
    signed int _t195;                      // _t195
        
    signed int _t197;                      // _t197
        
    signed int _t215;                      // _t215
        
    signed int _t217;                      // _t217
        
    signed int _t219;                      // _t219
        
    signed int _t221;                      // _t221
        
    signed int _t222;                      // _t222
        
    char* _t223;                           // _t223

        
    __esp = __esp - 920;
        
    _t219 = _a16;
        
    _t193 = _a20 + _t219;
        
    _t117 = _a8;
        
    _v864 = 1;
        
    _v876 = 0;
        
    _v880 = _t193;
        
    _v884 = 0;
        
    _v888 = 0;
        
    _v892 = 0;
        
    _v896 = 0;
        
    _v900 = 1;
        
    _v904 = 0;
        
    _v868 = _t117;
        
    _push(0);
        
    _v872 = _a12;
        
    time();
        
    __esp = __esp + 16;
        
    _v908 = _t117;
         *
    _v872 = 1158167400;
        if(
    _t219 == _v880) {
    L66:
            
    _push(_t117);
            
    _push(_v900);
            
    _push("[WARNING] Server signature does not match the license key #%d.\n          Please request a new license key! \n");
            goto 
    L67;
        } else {
            do {
                
    _t120 = _v880 - _t219;
                
    _push(_t193);
                
    _push(_t120);
                
    _push(10);
                
    _push(_t219);
                
    memchr();
                
    __esp = __esp + 16;
                
    _v912 = _t120;
                if(
    _t120 == 0) {
                    
    _v912 = _v880;
                }
                
    _t201 = _v912;
                 *
    _t201 = 0;
                
    _t123 = _t201 - _t219;
                
    _push(_t201);
                
    _push(_t123);
                
    _push(58);
                
    _push(_t219);
                
    memchr();
                
    __esp = __esp + 16;
                
    _t181 = _t123;
                if(
    _t123 == 0) {
                    goto 
    L9;
                } else {
                     *
    _t123 = 0;
                    
    _t181 = _t181 + 1;
                    
    _t193 =  *_t181;
                    
    _v917 = _t193;
                    if(
    _t193 == 32) {
                        do {
                            
    _t181 = _t181 + 1;
                            
    _t123 =  *_t181;
                            
    _v917 = _t123;
                        } while(
    _t123 == 32);
                    }
                    
    __esp = __esp - 8;
                    
    _push( &M081C0791);
                    
    _push(_t219);
                    
    strcasecmp();
                    
    __esp = __esp + 16;
                    if(
    _t123 == 0) {
                        
    _push(0);
                        
    _push(10);
                        
    _push(0);
                        
    _push(_t181);
                        
    __strtol_internal();
                        
    __esp = __esp + 16;
                        
    __eflags = _t123;
                        if(
    _t123 <= 0) {
                            
    _t201 = _v868;
                             *
    _v868 = 0;
                        } else {
                            
    _t193 = _v868;
                             *
    _t193 = _t123;
                        }
                        
    _t181 = _v868;
                        
    HttpGlobals::s_expire =  *_v868;
                        goto 
    L9;
                    } else {
                        
    __esp = __esp - 8;
                        
    _push("Serial");
                        
    _push(_t219);
                        
    strcasecmp();
                        
    __esp = __esp + 16;
                        if(
    _t123 != 0) {
                            
    __esp = __esp - 8;
                            
    _push(136353553);
                            
    _push(_t219);
                            
    strcasecmp();
                            
    __esp = __esp + 16;
                            
    __eflags = _t123;
                            if(
    __eflags == 0) {
                                
    __esp = __esp - 12;
                                
    _push( &_v864);
                                
    _t219 =  &_v540;
                                
    _t193 = 256;
                                
    _t201 = _t219;
                                
    _t168 = getMAC(ifi_infochar * * , int , int * )(_t181, 256, _t219, __eflags);
                                
    __esp = __esp + 16;
                                
    __eflags = _t168;
                                if(
    _t168 <= 0) {
                                    break;
                                } else {
                                    
    _t169 = _t219 + _t168;
                                    
    __eflags = _t219 - _t169;
                                    
    _t217 = _t219;
                                    
    _v916 = _t169;
                                    
    _v896 = 0;
                                    if(
    _t219 < _t169) {
                                        
    __esp = __esp - 8;
                                        
    _push(44);
                                        
    _push(_t217);
                                        
    strchr();
                                        
    __esp = __esp + 16;
                                        
    __eflags = _t169;
                                        
    _t222 = _t169;
                                        if(
    _t169 == 0) {
    L51:
                                            
    _t222 = _v916;
                                        } else {
    L47:
                                             *
    _t169 = 0;
                                        }
    L48:
                                        
    __esp = __esp - 8;
                                        
    _push(_t217);
                                        
    _push(_t181);
                                        
    strstr();
                                        
    __esp = __esp + 16;
                                        
    __eflags = _t169;
                                        if(
    _t169 == 0) {
                                            
    _v896 = 0;
                                        } else {
                                            
    _t217 = _t222 + 1;
                                            
    _v896 = 1;
                                            
    __eflags = _t217 - _v916;
                                            if(
    _t217 < _v916) {
                                                
    __esp = __esp - 8;
                                                
    _push(44);
                                                
    _push(_t217);
                                                
    strchr();
                                                
    __esp = __esp + 16;
                                                
    __eflags = _t169;
                                                
    _t222 = _t169;
                                                if(
    _t169 != 0) {
                                                    goto 
    L47;
                                                } else {
                                                    goto 
    L51;
                                                }
                                                goto 
    L48;
                                            }
                                        }
                                    }
                                    goto 
    L9;
                                }
                            } else {
                                
    __esp = __esp - 8;
                                
    _push(136101539);
                                
    _push(_t219);
                                
    strcasecmp();
                                
    __esp = __esp + 16;
                                
    __eflags = _t123;
                                if(
    __eflags == 0) {
                                    
    __esp = __esp - 12;
                                    
    _t223 =  &_v604;
                                    
    _push(_t223);
                                    
    _t181->AccessControl(void )();
                                    
    __esp = __esp + 12;
                                    
    _push(0);
                                    
    _push(136116393);
                                    
    _push(_t223);
                                    
    _t181->addSubNetControl(char * , int )(_t193, _t201, __eflags);
                                    
    __esp = __esp + 12;
                                    
    _push(1);
                                    
    _push(_t181);
                                    
    _push(_t223);
                                    
    _t172 = _t181->addList(char * , int )(_t193, __eflags);
                                    
    __esp = __esp + 16;
                                    
    __eflags = _t172;
                                    if(
    __eflags > 0) {
                                        
    _t181 = _a24;
                                        while(
    1) {
                                            
    __eflags = _t181;
                                            if(
    __eflags == 0) {
                                                break;
                                            }
                                            
    __esp = __esp - 8;
                                            
    _push( *((intOrPtr*)(_t181 + 32)));
                                            
    _push(_t223);
                                            
    _t172->hasAccess(sockaddr)();
                                            
    __esp = __esp + 16;
                                            
    __eflags = _t172;
                                            if(
    __eflags != 0) {
                                                
    _t174 = 1;
                                            } else {
                                                
    _t181 =  *(_t181 + 44);
                                                continue;
                                            }
    L80:
                                            
    _v896 = _t174;
                                            goto 
    L81;
                                        }
                                        
    _t174 = 0;
                                        goto 
    L80;
                                    }
    L81:
                                    
    __esp = __esp - 12;
                                    
    _push(_t223);
                                    
    _t181->~AccessControl(void )(_t193, _t201, __eflags);
                                    
    __esp = __esp + 16;
                                } else {
                                    
    __esp = __esp - 8;
                                    
    _push(136312636);
                                    
    _push(_t219);
                                    
    strcasecmp();
                                    
    __esp = __esp + 16;
                                    
    __eflags = _t123;
                                    if(
    _t123 == 0) {
                                        
    _push(0);
                                        
    _push(10);
                                        
    _push(0);
                                        
    _push(_t181);
                                        
    __strtol_internal();
                                        
    __esp = __esp + 16;
                                        
    _v900 = _t123;
                                    } else {
                                        
    __esp = __esp - 8;
                                        
    _push("UPG");
                                        
    _push(_t219);
                                        
    strcasecmp();
                                        
    __esp = __esp + 16;
                                        
    __eflags = _t123;
                                        if(
    _t123 == 0) {
                                            
    _push(0);
                                            
    _push(10);
                                            
    _push(0);
                                            
    _push(_t181);
                                            
    __strtol_internal();
                                            
    __esp = __esp + 16;
                                            
    __eflags = _t123;
                                            if(
    _t123 != 0) {
                                                
    _t201 = _v872;
                                                 *
    _v872 = _t123;
                                            }
                                        } else {
                                            
    __esp = __esp - 8;
                                            
    _push("PROC");
                                            
    _push(_t219);
                                            
    strcasecmp();
                                            
    __esp = __esp + 16;
                                            
    __eflags = _t123;
                                            if(
    _t123 == 0) {
                                                
    __eflags = _v917 - 86;
                                                if(
    _v917 == 86) {
    L77:
                                                    
    _t181 = _t181 + 1;
                                                    
    _v876 = 1;
                                                } else {
                                                    
    __eflags = _v917 - 118;
                                                    if(
    _v917 == 118) {
                                                        goto 
    L77;
                                                    }
                                                }
                                                
    _push(0);
                                                
    _push(10);
                                                
    _push(0);
                                                
    _push(_t181);
                                                
    __strtol_internal();
                                                
    __esp = __esp + 16;
                                                
    __eflags = _t123;
                                                
    _v904 = _t123;
                                                if(
    _t123 == 0) {
                                                    
    _v904 = 1;
                                                }
                                            }
                                        }
                                    }
                                }
                                goto 
    L9;
                            }
                        } else {
                            
    __esp = __esp - 8;
                            
    _push("TRIAL");
                            
    _push(_t181);
                            
    strcasecmp();
                            
    __esp = __esp + 16;
                            if(
    _t123 != 0) {
                                
    __esp = __esp - 8;
                                
    _push("PERM");
                                
    _push(_t181);
                                
    strcasecmp();
                                
    __esp = __esp + 16;
                                
    __eflags = _t123;
                                
    _v884 = 1;
                                if(
    __eflags == 0) {
                                    goto 
    L9;
                                } else {
                                    
    _t201 =  ?_? ( &_v284);
                                    
    _t176 = getSerialNum(char * , char * , int )(256,  &_v284, __eflags);
                                    
    _v888 = _t176;
                                    
    __eflags = _t176 + 1;
                                    if(
    __eflags == 0) {
    L68:
                                        
    _t118 = -1;
    L69:
                                        
    __esp =  &_v16;
                                        return 
    _t118;
                                    } else {
                                        
    _t193 = 20;
                                        
    asm("cld ");
                                        
    asm("rep cmpsb ");
                                        if(
    __eflags == 0) {
                                            goto 
    L68;
                                        } else {
                                            
    __esp = __esp - 8;
                                            
    _t178 =  &_v284;
                                            
    _push(_t178);
                                            
    _push(_t181);
                                            
    strcmp();
                                            
    __esp = __esp + 16;
                                            
    __eflags = _t178;
                                            if(
    _t178 != 0) {
                                                
    __esp = __esp - 8;
                                                
    _push("[ERROR] Serial number does not match!\n");
    L67:
                                                
    _push(__imp__stderr);
                                                
    fprintf();
                                                goto 
    L68;
                                            } else {
                                                
    _v884 = 1;
                                                goto 
    L9;
                                            }
                                        }
                                    }
                                }
                            } else {
                                
    _v892 = 1;
                                goto 
    L9;
                            }
                        }
                    }
                }
                goto 
    L88;
    L9:
                
    _t219 = _v912 + 1;
            } while(
    _t219 != _v880);
            if(
    _v892 != 0) {
    L13:
                if(
    _v876 != 0 || _v888 == 1) {
                    
    __eflags = _v864;
                    if(
    __eflags == 0) {
                        
    _t127 = detectVPS(void )(_t181, _t193, _t201, __eflags);
                        
    __eflags = _t127;
                        
    _v864 = _t127;
                        if(
    _t127 != 0) {
                            goto 
    L60;
                        } else {
                            
    __esp = __esp - 8;
                            
    _push("[ERROR] VPS license cannot be used on non-VPS server. \n       Please upgrade your license! \n");
                            goto 
    L67;
                        }
                    } else {
    L60:
                        
    _t182 = _v868;
                        
    asm("cdq ");
                        
    _t194 =  *_t182;
                        
    __eflags = _t194;
                        
    HttpGlobals::s_maxServerConns = 500 / _v904;
                        if(
    _t194 != 0) {
                            goto 
    L16;
                        } else {
                            goto 
    L61;
                        }
                    }
                } else {
                    
    _t182 = _v868;
                    
    _t194 =  *_t182;
                    if(
    _t194 == 0) {
    L61:
                        
    _t197 =  *_v872;
                        
    _t162 = _t197 - _v908;
                        
    asm("cdq ");
                        
    _t163 = _t162 / 86400;
                        
    _t215 = _t162 % 86400;
                        
    __eflags = _t197 - 1239431912;
                        if(
    _t197 <= 1239431912) {
                            
    __esp = __esp - 12;
                            
    _push("[ERROR] You are not authorized to use this binary, please purchase upgrades.");
                            
    puts();
                            
    _t118 = -1;
                            goto 
    L69;
                        } else {
                            
    __eflags = _t197 - _v908;
                            if(
    _t197 >= _v908) {
                                
    _push(_t215);
                                
    _push(_t163);
                                
    _push(_v900);
                                
    _push("[OK] License key #%d verification passed! Software upgrade expires in %d days.\n");
                                
    printf();
                            } else {
                                
    __esp = __esp - 8;
                                
    _push(_v900);
                                
    _push("[OK] License key #%d verification passed! Software upgrade has expired.\n");
                                
    printf();
                            }
                            goto 
    L22;
                        }
                    } else {
    L16:
                        
    _t130 = _v872;
                        if(
    _t194 >  *_t130) {
                             *
    _t130 = _t194;
                            
    _t194 =  *_t182;
                        }
                        if(
    _t194 < _v908) {
                            
    _t195 = _t194 - _v908;
                            
    asm("cdq ");
                            
    __eflags = _v892;
                            
    _t221 = _t195 / 86400;
                            if(
    _v892 != 0) {
                                
    _t185 =  &_v860;
                                
    _t134 = build_format_string(int , char * )(43, _t185);
                                 *
    _t134 = 37;
                                 *((
    char*)(_t134 + 1)) = 100;
                                
    _t138 = build_format_string(int , char * )(6, _t134 + 2);
                                 *
    _t138 = 10;
                                 *((
    char*)(_t138 + 1)) = 0;
                                
    _push(_t195);
                                
    _push(33);
                                
    _push(115);
                                
    _push(121);
                                
    _push(97);
                                
    _push(100);
                                
    _push(32);
                                
    _push(_t221);
                                
    _push(32);
                                
    _push(110);
                                
    _push(105);
                                
    _push(32);
                                
    _push(101);
                                
    _push(114);
                                
    _push(105);
                                
    _push(112);
                                
    _push(120);
                                
    _push(101);
                                
    _push(32);
                                
    _push(108);
                                
    _push(108);
                                
    _push(105);
                                
    _push(119);
                                
    _push(32);
                                
    _push(121);
                                
    _push(101);
                                
    _push(107);
                                
    _push(32);
                                
    _push(101);
                                
    _push(115);
                                
    _push(110);
                                
    _push(101);
                                
    _push(99);
                                
    _push(105);
                                
    _push(108);
                                
    _push(32);
                                
    _push(108);
                                
    _push(97);
                                
    _push(105);
                                
    _push(114);
                                
    _push(116);
                                
    _push(32);
                                
    _push(114);
                                
    _push(117);
                                
    _push(111);
                                
    _push(89);
                                
    _push(32);
                                
    _push(93);
                                
    _push(75);
                                
    _push(79);
                                
    _push(91);
                                
    _push(_t185);
                                
    printf();
                                
    __esp = __esp + 208;
                            } else {
                                
    _t186 =  &_v860;
                                
    _t143 = build_format_string(int , char * )(23, _t186);
                                 *
    _t143 = 37;
                                 *((
    char*)(_t143 + 1)) = 100;
                                
    _t147 = build_format_string(int , char * )(16, _t143 + 2);
                                 *
    _t147 = 37;
                                 *((
    char*)(_t147 + 1)) = 100;
                                
    _t151 = build_format_string(int , char * )(6, _t147 + 2);
                                 *
    _t151 = 10;
                                 *((
    char*)(_t151 + 1)) = 0;
                                
    _push(33);
                                
    _push(115);
                                
    _push(121);
                                
    _push(97);
                                
    _push(100);
                                
    _push(32);
                                
    _push(_t221);
                                
    _push(32);
                                
    _push(110);
                                
    _push(105);
                                
    _push(32);
                                
    _push(101);
                                
    _push(114);
                                
    _push(105);
                                
    _push(112);
                                
    _push(120);
                                
    _push(101);
                                
    _push(32);
                                
    _push(108);
                                
    _push(108);
                                
    _push(105);
                                
    _push(119);
                                
    _push(32);
                                
    _push(_v900);
                                
    _push(32);
                                
    _push(121);
                                
    _push(101);
                                
    _push(107);
                                
    _push(32);
                                
    _push(101);
                                
    _push(115);
                                
    _push(110);
                                
    _push(101);
                                
    _push(99);
                                
    _push(105);
                                
    _push(108);
                                
    _push(32);
                                
    _push(101);
                                
    _push(115);
                                
    _push(97);
                                
    _push(101);
                                
    _push(76);
                                
    _push(32);
                                
    _push(93);
                                
    _push(75);
                                
    _push(79);
                                
    _push(91);
                                
    _push(_t186);
                                
    printf();
                                
    __esp = __esp + 192;
                            }
                            goto 
    L23;
                        } else {
                            if(
    _v892 != 0) {
                                
    _t187 =  &_v860;
                                
    _t153 = build_format_string(int , char * )(42, _t187);
                                 *
    _t153 = 10;
                                 *((
    char*)(_t153 + 1)) = 0;
                                
    _push(33);
                                
    _push(100);
                                
    _push(101);
                                
    _push(114);
                                
    _push(105);
                                
    _push(112);
                                
    _push(120);
                                
    _push(101);
                                
    _push(32);
                                
    _push(115);
                                
    _push(97);
                                
    _push(104);
                                
    _push(32);
                                
    _push(121);
                                
    _push(101);
                                
    _push(107);
                                
    _push(32);
                                
    _push(101);
                                
    _push(115);
                                
    _push(110);
                                
    _push(101);
                                
    _push(99);
                                
    _push(105);
                                
    _push(108);
                                
    _push(32);
                                
    _push(108);
                                
    _push(97);
                                
    _push(105);
                                
    _push(114);
                                
    _push(116);
                                
    _push(32);
                                
    _push(114);
                                
    _push(117);
                                
    _push(111);
                                
    _push(121);
                                
    _push(32);
                                
    _push(44);
                                
    _push(121);
                                
    _push(114);
                                
    _push(114);
                                
    _push(111);
                                
    _push(83);
                                
    _push(_t187);
                                
    _push(__imp__stderr);
                                
    fprintf();
                                
    _t118 = -1;
                                goto 
    L69;
                            } else {
                                
    _t188 = _t194 + 86400;
                                if(
    _v908 > _t188) {
                                    
    _t189 =  &_v860;
                                    
    _t155 = build_format_string(int , char * )(36, _t189);
                                    
    __esp = __esp - 8;
                                     *
    _t155 = 10;
                                     *((
    char*)(_t155 + 1)) = 0;
                                    
    _push(33);
                                    
    _push(100);
                                    
    _push(101);
                                    
    _push(114);
                                    
    _push(105);
                                    
    _push(112);
                                    
    _push(120);
                                    
    _push(101);
                                    
    _push(32);
                                    
    _push(115);
                                    
    _push(97);
                                    
    _push(104);
                                    
    _push(32);
                                    
    _push(121);
                                    
    _push(101);
                                    
    _push(107);
                                    
    _push(32);
                                    
    _push(101);
                                    
    _push(115);
                                    
    _push(110);
                                    
    _push(101);
                                    
    _push(99);
                                    
    _push(105);
                                    
    _push(108);
                                    
    _push(32);
                                    
    _push(114);
                                    
    _push(117);
                                    
    _push(111);
                                    
    _push(121);
                                    
    _push(32);
                                    
    _push(44);
                                    
    _push(121);
                                    
    _push(114);
                                    
    _push(114);
                                    
    _push(111);
                                    
    _push(83);
                                    
    _push(_t189);
                                    
    _push(__imp__stderr);
                                    
    fprintf();
                                    
    _t141 = -2;
                                } else {
                                    
    _push(_t219);
                                    
    asm("cdq ");
                                    
    _push((_t188 - _v908) / 86400);
                                    
    _push("[WARNING] Your license key has expired, please renew you license key in %ld days!\n");
                                    
    _push(__imp__stderr);
                                    
    fprintf();
                                     *
    _v868 = _t188;
    L22:
                                    
    __esp = __esp + 16;
    L23:
                                    if(
    _v904 <= 0) {
                                        
    _v904 = 2;
                                    }
                                    
    HttpGlobals::s_children = 8;
                                    
    _t141 = 0;
                                }
                                
    __esp =  &_v16;
                                return 
    _t141;
                            }
                        }
                    }
                }
            } else {
                
    _t117 = _v896;
                if(
    _t117 == 0) {
                    goto 
    L66;
                } else {
                    if(
    _v884 == 0) {
                        
    __esp = __esp - 8;
                        
    _push("[WARNING] Serial number is invalid. \n         Please request a new license key! \n");
                        goto 
    L67;
                    } else {
                        goto 
    L13;
                    }
                }
            }
        }
    L88:
    }

    License::verifyLicenseKey(char * , long & , 2, int , char * , int * )(
        
    _unknown_ __ebx,                       // r1
        
    _unknown_ __ecx,                       // r2
        
    _unknown_ __edx,                       // r3
        
    _unknown_ __esi,                       // r5
        
    _unknown_ __eflags,                    // r9
        
    intOrPtr _a4,                          // _cfa_4
        
    intOrPtr _a8,                          // _cfa_8
        
    intOrPtr _a12,                         // _cfa_c
        
    intOrPtr _a16,                         // _cfa_10
        
    intOrPtr _a20,                         // _cfa_14
        
    intOrPtr _a24                          // _cfa_18
    )
    {
    // addr = 0x08061F3C
        
    char _v16;                             // _cfa_fffffff0
        
    char _v540;                            // _cfa_fffffde4
        
    char _v1564;                           // _cfa_fffff9e4
        
    char _v2588;                           // _cfa_fffff5e4
        
    char* __edi;                           // r4
        
    signed int __ebp; // r6
        
    _unknown_ _t20;                        // _t20
        
    _unknown_ _t21;                        // _t21
        
    _unknown_ _t22;                        // _t22
        
    intOrPtr _t23;                         // _t23
        
    _unknown_ _t24;                        // _t24
        
    intOrPtr _t25;                         // _t25
        
    _unknown_ _t27;                        // _t27
        
    intOrPtr _t28;                         // _t28
        
    _unknown_ _t29;                        // _t29
        
    intOrPtr _t30;                         // _t30
        
    _unknown_ _t32;                        // _t32
        
    _unknown_ _t33;                        // _t33
        
    _unknown_ _t35;                        // _t35
        
    char* _t40;                            // _t40
        
    intOrPtr _t41;                         // _t41
        
    _unknown_ _t42;                        // _t42
        
    _unknown_ _t43;                        // _t43
        
    _unknown_ _t44;                        // _t44
        
    char* _t45;                            // _t45
        
    _unknown_ _t46;                        // _t46
        
    intOrPtr _t47;                         // _t47
        
    intOrPtr _t49;                         // _t49
        
    _unknown_ _t50;                        // _t50
        
    _unknown_ _t52;                        // _t52
        
    _unknown_ _t57;                        // _t57

        
    _t46 = __edx;
        
    _t44 = __ecx;
        
    __esp = __esp - 2584;
        
    _push(0);
        
    time();
        
    __esp = __esp + 16;
        
    _t52 = _t20 - 1239345512;
        if(
    _t52 <= 0) {
            
    __esp = __esp - 8;
            
    _push("[ERROR] Clock on your server is not accurate, fix it first.\n");
            goto 
    L20;
        } else {
            
    _push("conf/license.key");
            
    _push(_a4);
            
    _push(512);
            
    _t40 =  &_v540;
            
    _push(_t40);
            
    _t22 = __ecx->getAbsoluteFile(char * , unsigned int , char * , 2)(__edx, _t52);
            
    __esp = __esp + 16;
            
    _t23 = _t22 + 1;
            if(
    _t23 == 0) {
    L10:
                
    _push( &M081C2B5E);
                
    _push(_a4);
                
    _push(512);
                
    _push(_t40);
                
    _t24 = _t44->getAbsoluteFile(char * , unsigned int , char * , 2)(_t46, __eflags);
                
    __esp = __esp + 16;
                
    _t25 = _t24 + 1;
                
    __eflags = _t25;
                if(
    _t25 == 0) {
    L13:
                    
    __eflags = _a16;
                    if(
    __eflags != 0) {
    L19:
                        
    _push(_a4);
                        
    _push(_a4);
                        
    _push("[ERROR] Failed to find your license key under - %s or %sconf/!\n");
                        goto 
    L20;
                    } else {
                        
    _push("conf/trial.key");
                        
    _push(_a4);
                        
    _push(512);
                        
    _push(_t40);
                        
    _t27 = _t44->getAbsoluteFile(char * , unsigned int , char * , 2)(_t46, __eflags);
                        
    __esp = __esp + 16;
                        
    _t28 = _t27 + 1;
                        
    __eflags = _t28;
                        if(
    __eflags == 0) {
    L16:
                            
    _push( &M081C2B6F);
                            
    _push(_a4);
                            
    _push(512);
                            
    _push(_t40);
                            
    _t29 = _t44->getAbsoluteFile(char * , unsigned int , char * , 2)(_t46, __eflags);
                            
    __esp = __esp + 16;
                            
    _t28 = _t29 + 1;
                            
    __eflags = _t28;
                            if(
    _t28 == 0) {
                                goto 
    L19;
                            } else {
                                
    __esp = __esp - 8;
                                
    _push(0);
                                
    _push(_t40);
                                
    open64();
                                
    __esp = __esp + 16;
                                
    __eflags = _t28 - 255;
                                
    _t49 = _t28;
                                if(
    _t28 != 255) {
                                    goto 
    L3;
                                } else {
                                    goto 
    L19;
                                }
                            }
                        } else {
                            
    __esp = __esp - 8;
                            
    _push(0);
                            
    _push(_t40);
                            
    open64();
                            
    __esp = __esp + 16;
                            
    __eflags = _t28 - 255;
                            
    _t49 = _t28;
                            if(
    __eflags != 0) {
                                goto 
    L3;
                            } else {
                                goto 
    L16;
                            }
                        }
                    }
                } else {
                    
    __esp = __esp - 8;
                    
    _push(0);
                    
    _push(_t40);
                    
    open64();
                    
    __esp = __esp + 16;
                    
    __eflags = _t25 - 255;
                    
    _t49 = _t25;
                    if(
    _t25 != 255) {
                        goto 
    L3;
                    } else {
                        goto 
    L13;
                    }
                }
            } else {
                
    __esp = __esp - 8;
                
    _push(0);
                
    _push(_t40);
                
    open64();
                
    __esp = __esp + 16;
                
    _t49 = _t23;
                if(
    _t23 == 255) {
                    goto 
    L10;
                } else {
    L3:
                    
    _push(_t28);
                    
    _push(1024);
                    
    __edi =  &_v1564;
                    
    _push(__edi);
                    
    _push(_t49);
                    
    read();
                    
    __esp = __esp + 16;
                    
    _t41 = _t28;
                    if(
    _t28 <= 0) {
                        
    __esp = __esp - 12;
                        
    _push("read()");
                        
    perror();
                        
    _t21 = -1;
                        goto 
    L21;
                    } else {
                        
    __esp = __esp - 12;
                        
    _push(_t49);
                        
    close();
                        
    _t30 = _a20;
                        
    __esp = __esp + 16;
                        if(
    _t30 != 0) {
                            
    _push(_t30);
                            
    _push(_t41);
                            
    _push(__edi);
                            
    _push(_a20);
                            
    memmove();
                             *
    _a24 = _t41;
                            
    __esp = __esp + 16;
                        }
                        
    __esp = __esp - 12;
                        
    _push(1024);
                        
    _t47 = _t41;
                        
    _t45 =  &_v2588;
                        
    _t32 = decrypt_license_key(char * , int , char * , int )(_t45, _t47, _t49);
                        
    __esp = __esp + 16;
                        
    _t57 = _t32 - 255;
                        
    _t42 = _t32;
                        if(
    _t57 == 0) {
                            
    __esp = __esp - 8;
                            
    _push("[ERROR] Failed to decrypt your license key.\n");
    L20:
                            
    _push(__imp__stderr);
                            
    fprintf();
                            
    _t21 = -1;
    L21:
                            
    __esp =  &_v16;
                            return 
    _t21;
                        } else {
                            
    __esp = __esp - 8;
                            
    _push(0);
                            
    _push(2);
                            
    _t33 = _t45->get_ifi_info(int , int )(_t47, _t57);
                            
    _pop(__edi);
                            
    _t50 = _t33;
                            
    _pop(__eax);
                            
    _push(_t50);
                            
    _push(_t42);
                            
    _push( &_v2588);
                            
    _push(_a12);
                            
    _push(_a8);
                            
    _push(_a4);
                            
    _t35 = _t42->checkLicenseKey(char * , long & , 2, char * , int , ifi_info)(_t45, _t47, _t57);
                            
    __esp = __esp + 32;
                            
    _t43 = _t35;
                            if(
    _t50 != 0) {
                                
    __esp = __esp - 12;
                                
    _t50->free_ifi_info(ifi_info)();
                                
    __esp = __esp + 12;
                            }
                            
    __esp =  &_v16;
                            return 
    _t43;
                        }
                    }
                }
            }
        }
    }

    registerCallback(void * , HttpFetch)()
    {
    // addr = 0x08062138
        
    signed int __ebp; // r6

        
    return 0;
    }

    startRegister(char * , 0, int )(
        
    _unknown_ __ebx,                       // r1
        
    intOrPtr __ecx,                        // r2
        
    intOrPtr __edx,                        // r3
        
    _unknown_ __edi,                       // r4
        
    _unknown_ __eflags                     // r9
    )
    {
    // addr = 0x08062140
        
    char _v16;                             // _cfa_fffffff0
        
    char _v1007;                           // _cfa_fffffc11
        
    char _v1052;                           // _cfa_fffffbe4
        
    intOrPtr _v1056;                       // _cfa_fffffbe0
        
    intOrPtr _v1060;                       // _cfa_fffffbdc
        
    char* __esi;                           // r5
        
    signed int __ebp; // r6
        
    _unknown_ _t10;                        // _t10
        
    _unknown_ _t14;                        // _t14
        
    _unknown_ _t16;                        // _t16
        
    _unknown_ _t19;                        // _t19
        
    _unknown_ _t28;                        // _t28

        
    __edx = __edx;
        
    __esp = __esp - 1056;
        
    asm("cld ");
        
    _v1060 = __ecx;
        
    __esi = "http://license.litespeedtech.com/lic_reg.php";
        
    _v1056 = __edx;
        
    _push(11 << 2);
        
    _push(__esi);
        
    _push( &_v1052);
        
    memcpy();
        
    __esp = __esp + 12;
        
    asm("movsb ");
        
    _push(979);
        
    _push(0);
        
    _t19 = _t10;
        
    _push( &_v1007);
        
    memset();
         *
    __esp =  &s_fetch;
        
    _t19->reset(void )(__eflags);
        
    __esp = __esp + 12;
        
    _push(_t19);
        
    _push(0);
        
    _push(_v1060);
        
    _push(_v1056);
        
    _push(0);
        
    _push( &_v1052);
        
    _push( &s_fetch);
         *
    136614424 = registerCallback(void * , HttpFetch);
         *
    136614428 = 0;
        
    _t14 = _t19->startReq, char * , int , 1, int , 1, 1?...?(0, __edx, __esi + 0x16, __eflags);
        
    __esp = __esp + 32;
        
    _t28 = _t14;
        if(
    _t28 != 0) {
            
    __esp = __esp - 12;
            
    _push("Failed to send registration request.\n");
            
    _t14->error(char * , ... )();
            
    _t16 = -1;
        } else {
            
    __esp = __esp - 12;
            
    _push( &s_fetch);
            
    _t19->process(void )(__edx, _t28);
            
    _t16 = 0;
        }
        
    __esp =  &_v16;
        return 
    _t16;
    }

    checkResult(char * , int )(
        
    char* __ebx,                           // r1
        
    _unknown_ __ecx,                       // r2
        
    intOrPtr __edx,                        // r3
        
    _unknown_ __esi,                       // r5
        
    _unknown_ __eflags                     // r9
    )
    {
    // addr = 0x080621F8
        
    char _v16;                             // _cfa_fffffff0
        
    char _v540;                            // _cfa_fffffde4
        
    char _v1052;                           // _cfa_fffffbe4
        
    char _v2076;                           // _cfa_fffff7e4
        
    intOrPtr _v2080;                       // _cfa_fffff7e0
        
    intOrPtr _v2084;                       // _cfa_fffff7dc
        
    intOrPtr _v2088;                       // _cfa_fffff7d8
        
    intOrPtr __edi;                        // r4
        
    signed int __ebp; // r6
        
    intOrPtr _t33;                         // _t33
        
    intOrPtr _t37;                         // _t37
        
    _unknown_ _t38;                        // _t38
        
    _unknown_ _t40;                        // _t40
        
    _unknown_ _t44;                        // _t44
        
    intOrPtr _t45;                         // _t45
        
    _unknown_ _t47;                        // _t47
        
    intOrPtr _t48;                         // _t48
        
    _unknown_ _t51;                        // _t51
        
    intOrPtr _t52;                         // _t52
        
    char* _t54;                            // _t54
        
    _unknown_ _t56;                        // _t56
        
    intOrPtr _t57;                         // _t57
        
    _unknown_ _t59;                        // _t59
        
    _unknown_ _t61;                        // _t61
        
    intOrPtr _t62;                         // _t62
        
    _unknown_ _t65;                        // _t65
        
    char* _t66;                            // _t66
        
    _unknown_ _t68;                        // _t68
        
    _unknown_ _t73;                        // _t73

        
    _t65 = __ecx;
        
    __ebx = __ebx;
        
    _push(__esi);
        
    _push(__ebx);
        
    __esp = __esp - 2076;
        
    _t73 =  *136614376 - 200;
        
    _v2084 = _t33;
        
    _t71 = __edx;
        if(
    _t73 != 0) {
    L3:
            
    __esp = __esp - 12;
            
    _push("[LICENSE] Failed to communicate with licensing server: license.litespeedtech.com");
            
    _t33->error(char * , ... )();
    L4:
            
    _t68 = -1;
    L5:
            
    __esp =  &_v16;
            
    _pop(__ebx);
            
    _pop(__esi);
            return 
    _t68;
        }
        
    __esp = __esp - 8;
        
    _push( &_v2080);
        
    _push( *136614372);
        
    __ebx =  *136614412;
        
    _t33 = __ebx->getReadBuffer(unsigned int & )(__edx, _t73);
        
    __esp = __esp - 8;
        
    _push("text/plain");
        
    _push(__ebx);
        
    __edi = _t33;
        
    strcasecmp();
        
    __esp = __esp + 32;
        if(
    _t33 != 0) {
            
    __esp = __esp - 8;
            
    _push(__edi);
            
    _push("[LICENSE] License key operation failure: %s");
            
    _t37 = _t33->error(char * , ... )();
            
    __esp = __esp - 8;
            
    _push("EXCEPTION");
            
    _push(__edi);
            
    strstr();
            
    __esp = __esp + 32;
            
    _t68 = 0;
            
    __eflags = _t37;
            if(
    _t37 != 0) {
                goto 
    L5;
            }
            
    __eflags = __edx - 2;
            if(
    __eflags == 0) {
                
    _push("conf/license.key");
                
    _push(_v2084);
                
    _push(512);
                
    _t71 =  &_v540;
                
    _push(_t71);
                
    _t38 = __ecx->getAbsoluteFile(char * , unsigned int , char * , 2)(0, __eflags);
                
    __esp = __esp + 16;
                
    __eflags = _t38 + 1;
                if(
    __eflags != 0) {
                    
    _push("conf/license.key.bad");
                    
    _push(_v2084);
                    
    _push(512);
                    
    __ebx =  &_v1052;
                    
    _push(__ebx);
                    
    __ecx->getAbsoluteFile(char * , unsigned int , char * , 2)(0, __eflags);
                    
    _pop(__eax);
                    
    _pop(__edx);
                    
    _push(__ebx);
                    
    _push(_t71);
                    
    rename();
                    
    __esp = __esp + 16;
                }
                
    _push("conf/trial.key");
                
    _push(_v2084);
                
    _push(512);
                
    _push(_t71);
                
    _t40 = _t65->getAbsoluteFile(char * , unsigned int , char * , 2)(_t68, __eflags);
                
    __esp = __esp + 16;
                
    __eflags = _t40 + 1;
                if(
    _t40 + 1 == 0) {
                    goto 
    L8;
                } else {
                    
    __esp = __esp - 12;
                    
    _push(_t71);
                    
    unlink();
                    
    __esp = __esp + 16;
                    
    _t68 = 100;
                    goto 
    L5;
                }
            }
    L8:
            
    _t68 = 100;
            goto 
    L5;
        }
        
    __esp = __esp - 8;
        
    _push("application/license-key");
        
    _push(__ebx);
        
    strcasecmp();
        
    __esp = __esp + 16;
        if(
    _t33 == 0) {
            
    __esp = __esp - 12;
            
    __ebx =  &_v2076;
            
    _push(1024);
            
    _t66 = __ebx;
            
    _t44 = decrypt_license_key(char * , int , char * , int )(_t66, _v2080, __edx);
            
    __esp = __esp + 16;
            
    _t45 = _t44 + 1;
            
    __eflags = _t45;
            if(
    _t45 == 0) {
                
    __esp = __esp - 12;
                
    _push("[LICENSE] Failed to decrypt license key received!");
                
    _t45->error(char * , ... )();
                goto 
    L4;
            }
            
    _push(_t45);
            
    _push(2);
            
    _push("OK");
            
    _push(__ebx);
            
    strncasecmp();
            
    __esp = __esp + 16;
            
    _t68 = 0;
            
    __eflags = _t45;
            if(
    _t45 == 0) {
                goto 
    L5;
            }
            
    _push(_t45);
            
    _push(3);
            
    _push("BAN");
            
    _push(__ebx);
            
    strncasecmp();
            
    __esp = __esp + 16;
            
    __eflags = _t45;
            if(
    __eflags == 0) {
                
    _push("conf/license.key");
                
    _push(_v2084);
                
    _push(512);
                
    __ebx =  &_v540;
                
    _push(__ebx);
                
    _t47 = _t66->getAbsoluteFile(char * , unsigned int , char * , 2)(0, __eflags);
                
    __esp = __esp + 16;
                
    _t48 = _t47 + 1;
                
    __eflags = _t48;
                if(
    _t48 != 0) {
                    
    __esp = __esp - 12;
                    
    _push(__ebx);
                    
    unlink();
                    
    __esp = __esp + 16;
                }
                
    __esp = __esp - 12;
                
    _push("[LICENSE] Your license key has been revoked!");
                
    _t48->error(char * , ... )();
                goto 
    L4;
            }
            
    _push(_t45);
            
    _push(8);
            
    _push("Serial: ");
            
    _push(__ebx);
            
    strncasecmp();
            
    __esp = __esp + 16;
            
    __eflags = _t45;
            if(
    _t45 != 0) {
                
    __esp = __esp - 12;
                
    _push("[LICENSE] Currupted License key has been received!");
                
    _t45->error(char * , ... )();
                goto 
    L4;
            }
            
    __eflags = __edx;
            if(
    __eflags == 0) {
                
    _push( &M081C2B5E);
                
    _push(_v2084);
                
    _push(512);
                
    __ebx =  &_v540;
                
    _push(__ebx);
                
    _t51 = _t66->getAbsoluteFile(char * , unsigned int , char * , 2)(0, __eflags);
                
    __esp = __esp + 16;
                
    _t52 = _t51 + 1;
                
    __eflags = _t52;
                if(
    _t52 == 0) {
    L29:
                    
    __esp = __esp - 8;
                    
    _push(_v2084);
                    
    _push("[LICENSE] Failed to create license key file - license.key under %s!\n");
                    
    _t52->error(char * , ... )();
                    goto 
    L4;
                }
                
    _push(__edx);
                
    _push(384);
                
    _push(65);
                
    _push(__ebx);
                
    open64();
                
    _v2088 = _t52;
                
    __esp = __esp + 16;
                
    _t52 = _t52 + 1;
                
    __eflags = _t52;
                if(
    _t52 != 0) {
    L16:
                    
    _push(_t66);
                    
    _push(_v2080);
                    
    _push(__edi);
                    
    _push(_v2088);
                    
    write();
                    
    __esp = __esp + 16;
                    
    __eflags = _t52 - _v2080;
                    if(
    _t52 != _v2080) {
                        
    __esp = __esp - 12;
                        
    _push("write()");
                        
    perror();
                        goto 
    L4;
                    }
                    
    __esp = __esp - 12;
                    
    _push(_v2088);
                    
    close();
                    
    _pop(__eax);
                    
    _pop(__edx);
                    
    _t54 =  &_v540;
                    
    _push(_t54);
                    
    _push("[OK] Updated license key has been created at %s.\n");
                    
    _t54->notice(char * , ... )();
                    
    _t68 = 1;
                    goto 
    L5;
                }
                goto 
    L29;
            }
            
    __eflags = __edx - 1;
            if(
    __eflags == 0) {
                
    _push("conf/license.key");
                
    _push(_v2084);
                
    _push(512);
                
    __ebx =  &_v540;
                
    _push(__ebx);
                
    _t56 = _t66->getAbsoluteFile(char * , unsigned int , char * , 2)(0, __eflags);
                
    __esp = __esp + 16;
                
    _t57 = _t56 + 1;
                
    __eflags = _t57;
                if(
    _t57 == 0) {
    L32:
                    
    __esp = __esp - 8;
                    
    _push(_v2084);
                    
    _push("[LICENSE] License key has been migrated, failed to create a temp license key file - license.key under %s/conf!\n");
                    
    _t57->error(char * , ... )();
                    goto 
    L4;
                }
                
    _push(_t66);
                
    _push(384);
                
    _push(65);
                
    _push(__ebx);
                
    open64();
                
    _v2088 = _t57;
                
    __esp = __esp + 16;
                
    _t52 = _t57 + 1;
                
    __eflags = _t52;
                if(
    _t52 != 0) {
                    goto 
    L16;
                }
                goto 
    L32;
            }
            
    __eflags = __edx - 2;
            if(
    __eflags == 0) {
                
    _push("conf/license.key");
                
    _push(_v2084);
                
    _push(512);
                
    _t71 =  &_v540;
                
    _push(_t71);
                
    _t59 = _t66->getAbsoluteFile(char * , unsigned int , char * , 2)(0, __eflags);
                
    __esp = __esp + 16;
                
    __eflags = _t59 + 1;
                if(
    __eflags != 0) {
                    
    _push("conf/license.key.old");
                    
    _push(_v2084);
                    
    _push(512);
                    
    __ebx =  &_v1052;
                    
    _push(__ebx);
                    
    _t66->getAbsoluteFile(char * , unsigned int , char * , 2)(0, __eflags);
                    
    _pop(__eax);
                    
    _pop(__edx);
                    
    _push(__ebx);
                    
    _push(_t71);
                    
    rename();
                    
    __esp = __esp + 16;
                }
                
    _push("conf/license.key");
                
    _push(_v2084);
                
    _push(512);
                
    _push(_t71);
                
    _t61 = _t66->getAbsoluteFile(char * , unsigned int , char * , 2)(_t68, __eflags);
                
    __esp = __esp + 16;
                
    _t62 = _t61 + 1;
                
    __eflags = _t62;
                if(
    _t62 == 0) {
    L22:
                    
    __esp = __esp - 8;
                    
    _push(_v2084);
                    
    _push("[LICENSE] License key update is available, failed to create updated license key file - license.key under %s/conf!\n");
                    
    _t62->error(char * , ... )();
                    goto 
    L4;
                } else {
                    
    _push(__ebx);
                    
    _push(384);
                    
    _push(65);
                    
    _push(_t71);
                    
    open64();
                    
    _v2088 = _t62;
                    
    __esp = __esp + 16;
                    
    _t52 = _t62 + 1;
                    
    __eflags = _t52;
                    if(
    _t52 != 0) {
                        goto 
    L16;
                    }
                    goto 
    L22;
                }
            }
            goto 
    L16;
        }
        goto 
    L3;
    }

    buildRegisterReqBody(char * , char * , int , 1, int , 0, int , 0, int )(
        
    char __eax,                            // r0
        
    intOrPtr __ecx,                        // r2
        
    _unknown_ __edx,                       // r3
        
    intOrPtr _a4,                          // _cfa_4
        
    intOrPtr _a8,                          // _cfa_8
        
    intOrPtr _a12,                         // _cfa_c
        
    intOrPtr _a16,                         // _cfa_10
        
    intOrPtr _a20,                         // _cfa_14
        
    intOrPtr _a24                          // _cfa_18
    )
    {
    // addr = 0x080625D0
        
    char _v16;                             // _cfa_fffffff0
        
    intOrPtr _v20;                         // _cfa_ffffffec
        
    _unknown_ __ebx;                       // r1
        
    _unknown_ __edi;                       // r4
        
    _unknown_ __esi;                       // r5
        
    signed int __ebp; // r6
        
    _unknown_ _t28;                        // _t28
        
    _unknown_ _t32;                        // _t32
        
    _unknown_ _t36;                        // _t36
        
    _unknown_ _t38;                        // _t38
        
    intOrPtr _t39;                         // _t39
        
    _unknown_ _t40;                        // _t40
        
    _unknown_ _t46;                        // _t46
        
    _unknown_ _t47;                        // _t47
        
    _unknown_ _t48;                        // _t48
        
    _unknown_ _t49;                        // _t49

        
    __edx = __edx;
        
    _push(_t38);
        
    __esp = __esp - 24;
        
    _push(0);
        
    __edi = __edx;
        
    _v20 = __ecx;
        
    _t39 = _a4;
        
    time();
         *
    __esp = __eax;
        
    srand();
        
    rand();
         *
    __esp = __eax;
        
    rand();
        
    _push(__eax);
        
    _push("multipart/form-data; boundary=---------------------------%d%d");
        
    _push(_a8);
        
    _push(_t39);
        
    snprintf();
        
    __esp = __esp + 20;
        
    _push(__eax);
        
    _t40 = _t39 + 30;
        
    _push(_t40);
        
    _push("--%s
    \nContent-Disposition: form-data; name="
    sel_action"
    \n
    \n%s
    \n"
    );
        
    _push(_v20);
        
    _push(__edx);
        
    snprintf();
        
    _t44 = __eax;
        
    __esp = __esp + 32;
        if(
    _a12 != 0) {
            
    _push(_t40);
            
    _push("--%s
    \nContent-Disposition: form-data; name="
    lic_req"; filename="lic_req.bin"
    \nContent-Type: application/octet-stream
    \n
    \n"
    );
            
    _push(_v20 - __eax);
            
    _t36 = __edx + __eax;
            
    _push(_t36);
            
    snprintf();
            
    __esp = __esp + 12;
            
    _push(_a16);
            
    _t48 = __eax + _t36;
            
    _push(_a12);
            
    _push(__edx + _t48);
            
    memmove();
            
    _t49 = _t48 + _a16;
             *((
    short*)(__edx + _t49)) = 2573;
            
    __esp = __esp + 16;
            
    _t44 = _t49 + 2;
        }
        if(
    _a20 != 0) {
            
    _push(_t40);
            
    _push("--%s
    \nContent-Disposition: form-data; name="
    license_key"; filename="license.key"
    \nContent-Type: application/octet-stream
    \n
    \n"
    );
            
    _push(_v20 - _t44);
            
    _t32 = __edi + _t44;
            
    _push(_t32);
            
    snprintf();
            
    __esp = __esp + 12;
            
    _push(_a24);
            
    _t46 = _t44 + _t32;
            
    _push(_a20);
            
    _push(__edi + _t46);
            
    memmove();
            
    _t47 = _t46 + _a24;
             *((
    short*)(__edi + _t47)) = 2573;
            
    __esp = __esp + 16;
            
    _t44 = _t47 + 2;
        }
        
    __esp = __esp - 12;
        
    _push(_t40);
        
    _push(_t40);
        
    _push("--%s
    \nContent-Disposition: form-data; name="
    Submit"
    \n
    \nSend
    \n--%s--
    \n"
    );
        
    _v20 = _v20 - _t44;
        
    _push(_v20);
        
    _t28 = __edi + _t44;
        
    _push(_t28);
        
    snprintf();
        
    __esp =  &_v16;
        
    _pop(__ebx);
        return 
    _t44 + _t28;
    }

    License::registerLicense(char * )(
        
    _unknown_ __ebx,                       // r1
        
    _unknown_ __ecx,                       // r2
        
    _unknown_ __edx,                       // r3
        
    _unknown_ __edi,                       // r4
        
    _unknown_ __esi,                       // r5
        
    _unknown_ __eflags,                    // r9
        
    _unknown_ _a4                          // _cfa_4
    )
    {
    // addr = 0x080626CC
        
    char _v12;                             // _cfa_fffffff4
        
    char _v4108;                           // _cfa_ffffeff4
        
    char _v5132;                           // _cfa_ffffebf4
        
    char _v6156;                           // _cfa_ffffe7f4
        
    signed int __ebp; // r6
        
    _unknown_ _t8;                         // _t8
        
    _unknown_ _t11;                        // _t11
        
    _unknown_ _t24;                        // _t24

        
    __edi = __edi;
        
    _push(__ebx);
        
    __esp = __esp - 6144;
        
    _t17 =  &_v5132;
        
    _t8 = buildLicenseRequest(char * , char * , int )(_t17, 1024, _t17, __esi, __eflags);
        
    _t31 = _t8;
        
    _t24 = -1;
        if(
    _t8 >= 0) {
            
    __esp = __esp - 8;
            
    _push(0);
            
    _push(0);
            
    _push(_t8);
            
    _push(_t17);
            
    _push(1024);
            
    _t29 =  ?_? ( &_v4108);
            
    _t17 =  ?_? ( &_v6156);
            
    _push( ?_? ( &_v6156));
            
    _t11 = buildRegisterReqBody(char * , char * , int , 1, int , 0, int , 0, int )(136390719, 4096,  ?_? ( &_v4108));
            
    __esp = __esp + 32;
            
    startRegister(char * , 0, int )( &_v6156, _t11,  &_v4108, __edi, _t31);
            
    _t24 = checkResult(char * , int )(_t17, _t11, 0, _t29, 0);
        }
        
    __esp =  &_v12;
        
    _pop(__ebx);
        return 
    _t24;
    }

    License::migrateLicense(char * )(
        
    _unknown_ __ebx,                       // r1
        
    _unknown_ __ecx,                       // r2
        
    _unknown_ __edx,                       // r3
        
    _unknown_ __edi,                       // r4
        
    _unknown_ __esi,                       // r5
        
    _unknown_ __eflags,                    // r9
        
    intOrPtr _a4                           // _cfa_4
    )
    {
    // addr = 0x08062744
        
    char _v16;                             // _cfa_fffffff0
        
    char _v4124;                           // _cfa_ffffefe4
        
    char _v5148;                           // _cfa_ffffebe4
        
    char _v6172;                           // _cfa_ffffe7e4
        
    intOrPtr _v6176;                       // _cfa_ffffe7e0
        
    char _v6180;                           // _cfa_ffffe7dc
        
    char _v6184;                           // _cfa_ffffe7d8
        
    signed int __ebp; // r6
        
    _unknown_ _t15;                        // _t15
        
    _unknown_ _t17;                        // _t17
        
    char* _t22;                            // _t22
        
    intOrPtr _t28;                         // _t28

        
    __esp = __esp - 6180;
        
    _push( &_v6176);
        
    _t22 =  &_v5148;
        
    _push(_t22);
        
    _push(1);
        
    _push( &_v6180);
        
    _push( &_v6184);
        
    _t33 = _a4;
        
    _push(_a4);
        
    _v6176 = 0;
        
    _t22->verifyLicenseKey(char * , long & , 2, int , char * , int * )(__ecx, __edx, __esi, __eflags);
        
    _t28 = _v6176;
        
    __esp = __esp + 32;
        
    _t37 = _t28;
        
    _t15 = -1;
        if(
    _t28 != 0) {
            
    __esp = __esp - 8;
            
    _push(_t28);
            
    _push(_t22);
            
    _push(0);
            
    _push(0);
            
    _push(1024);
            
    _t35 =  ?_? ( &_v4124);
            
    _t23 =  ?_? ( &_v6172);
            
    _push( ?_? ( &_v6172));
            
    _t17 = buildRegisterReqBody(char * , char * , int , 1, int , 0, int , 0, int )(136292018, 4096,  ?_? ( &_v4124));
            
    __esp = __esp + 32;
            
    startRegister(char * , 0, int )( &_v6172, _t17,  &_v4124, _t33, _t37);
            
    _t15 = checkResult(char * , int )(_t23, _t17, 1, _t35, _t37);
        }
        
    __esp =  &_v16;
        return 
    _t15;
    }

    License::autoMigrateLicense(char * , char * , int )(
        
    _unknown_ __ebx,                       // r1
        
    _unknown_ __ecx,                       // r2
        
    _unknown_ __edx,                       // r3
        
    _unknown_ __edi,                       // r4
        
    _unknown_ __esi,                       // r5
        
    _unknown_ __eflags,                    // r9
        
    _unknown_ _a4,                         // _cfa_4
        
    intOrPtr _a8,                          // _cfa_8
        
    intOrPtr _a12                          // _cfa_c
    )
    {
    // addr = 0x080627E4
        
    char _v12;                             // _cfa_fffffff4
        
    char _v4108;                           // _cfa_ffffeff4
        
    char _v5132;                           // _cfa_ffffebf4
        
    char _v6156;                           // _cfa_ffffe7f4
        
    signed int __ebp; // r6
        
    _unknown_ _t10;                        // _t10
        
    _unknown_ _t13;                        // _t13
        
    _unknown_ _t26;                        // _t26

        
    __edi = __edi;
        
    _push(__ebx);
        
    __esp = __esp - 6144;
        
    _t19 =  &_v6156;
        
    _t10 = buildLicenseRequest(char * , char * , int )(_t19, 1024, _t19, __esi, __eflags);
        
    _t33 = _t10;
        
    _t26 = -1;
        if(
    _t10 >= 0) {
            
    __esp = __esp - 8;
            
    _push(_a12);
            
    _push(_a8);
            
    _push(_t10);
            
    _push(_t19);
            
    _push(1024);
            
    _t31 =  ?_? ( &_v4108);
            
    _t19 =  ?_? ( &_v5132);
            
    _push( ?_? ( &_v5132));
            
    _t13 = buildRegisterReqBody(char * , char * , int , 1, int , 0, int , 0, int )(136289991, 4096,  ?_? ( &_v4108));
            
    __esp = __esp + 32;
            
    startRegister(char * , 0, int )( &_v5132, _t13,  &_v4108, __edi, _t33);
            
    _t26 = checkResult(char * , int )(_t19, _t13, 1, _t31, _t33);
        }
        
    __esp =  &_v12;
        
    _pop(__ebx);
        return 
    _t26;
    }

    License::validateLicense(char * )(
        
    _unknown_ __ebx,                       // r1
        
    _unknown_ __ecx,                       // r2
        
    _unknown_ __edx,                       // r3
        
    _unknown_ __edi,                       // r4
        
    _unknown_ __esi,                       // r5
        
    _unknown_ __eflags,                    // r9
        
    intOrPtr _a4                           // _cfa_4
    )
    {
    // addr = 0x08062864
        
    char _v16;                             // _cfa_fffffff0
        
    char _v4124;                           // _cfa_ffffefe4
        
    char _v5148;                           // _cfa_ffffebe4
        
    char _v6172;                           // _cfa_ffffe7e4
        
    char _v7149;                           // _cfa_ffffe413
        
    char _v7196;                           // _cfa_ffffe3e4
        
    intOrPtr _v7200;                       // _cfa_ffffe3e0
        
    char _v7204;                           // _cfa_ffffe3dc
        
    char _v7208;                           // _cfa_ffffe3d8
        
    intOrPtr _v7212;                       // _cfa_ffffe3d4
        
    signed int __ebp; // r6
        
    _unknown_ _t24;                        // _t24
        
    intOrPtr _t26;                         // _t26
        
    _unknown_ _t31;                        // _t31
        
    _unknown_ _t36;                        // _t36
        
    char* _t38;                            // _t38
        
    char* _t39;                            // _t39
        
    char* _t45;                            // _t45
        
    intOrPtr _t47;                         // _t47
        
    char* _t53;                            // _t53
        
    _unknown_ _t55;                        // _t55
        
    _unknown_ _t56;                        // _t56

        
    __esp = __esp - 7204;
        
    _push( &_v7200);
        
    _t38 =  &_v5148;
        
    _push(_t38);
        
    _push(0);
        
    _push( &_v7204);
        
    _push( &_v7208);
        
    _push(_a4);
        
    _t24 = _t38->verifyLicenseKey(char * , long & , 2, int , char * , int * )(__ecx, __edx, __esi, __eflags);
        
    __esp = __esp + 32;
        
    _t55 = _t24;
        if(
    _t55 < 0) {
            
    __eflags = _t24 - 254;
            if(
    _t24 == 254) {
                goto 
    L1;
            } else {
                
    _t47 = _v7200;
                
    __eflags = _t47;
                
    _t33 = 100;
                if(
    __eflags <= 0) {
                    goto 
    L3;
                } else {
                    
    _push(100);
                    
    _push(_t47);
                    
    _push(_t38);
                    
    _push(_a4);
                    
    _t36 = _t38->autoMigrateLicense(char * , char * , int )(__ecx, _t47, __edi, __esi, __eflags);
                    
    __esp =  &_v16;
                    return 
    _t36;
                }
            }
        } else {
    L1:
            
    __esp = __esp - 8;
            
    _push(_v7200);
            
    _push(_t38);
            
    _push(0);
            
    _push(0);
            
    _push(1024);
            
    _t39 =  &_v6172;
            
    _t45 =  &_v4124;
            
    _push(_t39);
            
    _t26 = buildRegisterReqBody(char * , char * , int , 1, int , 0, int , 0, int )(136337948, 4096, _t45);
            
    asm("cld ");
            
    _t53 = "http://license.litespeedtech.com/lic_check.php";
            
    _v7212 = _t26;
            
    _push(11 << 2);
            
    _push(_t53);
            
    _push( &_v7196);
            
    memcpy();
            
    __esp = __esp + 12;
            
    __esp = __esp + 28;
            
    asm("movsw ");
            
    asm("movsb ");
            
    _push(977);
            
    _push(0);
            
    _push( &_v7149);
            
    memset();
             *
    __esp =  &s_fetch;
            
    _t39->reset(void )(_t55);
            
    __esp = __esp + 12;
             *
    136614424 = registerCallback(void * , HttpFetch);
             *
    136614428 = 0;
            
    _push(_t39);
            
    _push(0);
            
    _push(_v7212);
            
    _push( &_v4124);
            
    _push(0);
            
    _push( &_v7196);
            
    _push( &s_fetch);
            
    _t31 = _t39->startReq, char * , int , 1, int , 1, 1?...?(0, _t45, _t53 + 0x16, _t55);
            
    __esp = __esp + 32;
            
    _t56 = _t31;
            if(
    _t56 != 0) {
                
    __esp = __esp - 12;
                
    _push("[LICENSE] Failed to send registration request.\n");
                
    _t31->error(char * , ... )();
                
    _t33 = 2;
                
    __esp = __esp + 16;
                
    __eflags = 2;
                if(
    __eflags == 0) {
                    goto 
    L5;
                }
            } else {
                
    __esp = __esp - 12;
                
    _push( &s_fetch);
                
    _t39->process(void )(_t45, _t56);
                
    _t33 = 0;
                
    __esp = __esp + 16;
                if(
    0 == 0) {
    L5:
                    
    _t33 = checkResult(char * , int )(_t39, 0, 2, _t53, __eflags);
                    
    __eflags = _t33 - 255;
                    if(
    _t33 == 255) {
                        
    _t33 = 0;
                    }
                }
            }
    L3:
            
    __esp =  &_v16;
            return 
    _t33;
        }
    }

    __tcf_0(
        
    char __ebx,                            // r1
        
    intOrPtr _a4                           // _cfa_4
    )
    {
    // addr = 0x080629CC
        
    intOrPtr _v0;                          // _cfa_0
        
    char _v16;                             // _cfa_fffffff0
        
    intOrPtr* __esi;                       // r5
        
    char* __ebp;                           // r6
        
    intOrPtr _t9;                          // _t9
        
    intOrPtr _t12;                         // _t12
        
    intOrPtr _t13;                         // _t13

        
    __ebx = __ebx;
        
    _a4 =  &s_fetch;
        
    __esp = __ebp;
        
    _pop(__ebp);
        
    _push(__ebp);
        
    __ebp = __esp;
        
    _push(__esi);
        
    _push(__ebx);
        
    __esi = _a4;
        
    _t9 =  *__esi;
        if(
    _t9 != 255) {
            
    __esp = __esp - 12;
            
    _push(_t9);
            
    close();
            
    __esp = __esp + 16;
        }
        
    __ebx =  *((intOrPtr*)(__esi + 4));
        if(
    __ebx != 0) {
            
    __esp = __esp - 12;
            
    _push(__ebx);
            
    VMemBuf::~VMemBuf(void )();
             *
    __esp = __ebx;
            
    __ebx->operator deletevoid * ();
            
    __esp = __esp + 16;
        }
        
    _t12 =  *((intOrPtr*)(__esi + 12));
        if(
    _t12 != 0) {
            
    __esp = __esp - 12;
            
    _push(_t12);
            
    L1();
            
    __esp = __esp + 16;
        }
        
    _t13 =  *((intOrPtr*)(__esi + 44));
        if(
    _t13 != 0) {
            
    _v0 = _t13;
            
    __esp =  &_v16;
            
    _pop(__ebx);
            
    _pop(__esi);
            
    __esp = __ebp;
            
    _pop(__ebp);
            goto 
    __imp__free;
        }
        
    __esp =  &_v16;
        
    _pop(__ebx);
        
    _pop(__esi);
        return 
    _t13;
    }

    _GLOBAL__I__ZN7LicenseC2Ev()
    {
    // addr = 0x080629DC
        
    signed int __ebp; // r6

        
    __eax =  &s_fetch->HttpFetch(void )();
        
    __esp = __esp + 8;
        
    _push( &__dso_handle);
        
    _push(0);
        
    _push(__tcf_0);
        
    __cxa_atexit();
        
    __esp = __esp + 16;
        return 
    __eax;
    }

    GeoInfo::GeoInfo(void )(
        
    intOrPtr _a4                           // _cfa_4
    )
    {
    // addr = 0x08062A08
        
    _unknown_ __edi;                       // r4
        
    signed int __ebp; // r6
        
    intOrPtr* _t5;                         // _t5

        
    _t5 = _a4;
         *
    _t5 = -1;
        
    asm("cld ");
        
    _push(5 << 2);
        
    _push(0);
        
    _push(_t5 + 4);
        
    memset();
        
    __esp = __esp + 12;
        return 
    0;
    } 
    خوب در این کد تمام مراحل قابل رویت هست و فقط نیاز به بررسی توسط شخصی کاملا مسلط به این زبان داره فایل کامل دکامپایل نیز پیوست
    فایل های پیوست شده فایل های پیوست شده

  2. # ADS




     

  3. #2
    عضو انجمن hamid.soltani92 آواتار ها
    تاریخ عضویت
    Sep 2009
    نوشته ها
    930
    تشکر تشکر کرده 
    1,059
    تشکر تشکر شده 
    4,464
    تشکر شده در
    1,721 پست

    پیش فرض پاسخ : دوستان اشنا به زبان c لطفا مطالعه کنید

    عملا دارید حقوق سازنده رو زیر پا می‌گذارید. شرم آوره!
    قانون انجمن:
    36-2: ایجاد هر گونه تاپیک در خصوص قالب های ریپ شده ، اسکریپت و موارد دارای کپی رایت ممنوع می باشد.

  4. #3
    عضو جدید
    تاریخ عضویت
    Mar 2012
    نوشته ها
    68
    تشکر تشکر کرده 
    45
    تشکر تشکر شده 
    40
    تشکر شده در
    38 پست

    پیش فرض پاسخ : دوستان اشنا به زبان c لطفا مطالعه کنید

    دوست من وجدانا کارتون درست نیست.

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 0
    آخرين نوشته: November 29th, 2014, 09:45
  2. نظر سنجی از همه دوستان
    توسط behrooz در انجمن سوالات و مشکلات
    پاسخ ها: 0
    آخرين نوشته: August 21st, 2013, 20:12
  3. دوستان من گيج شدم !
    توسط shazo در انجمن مباحث دیگر
    پاسخ ها: 2
    آخرين نوشته: March 14th, 2012, 07:55

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •