کد 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;
} 
 خوب در این کد تمام مراحل  قابل رویت هست و فقط نیاز به بررسی توسط شخصی کاملا مسلط به این زبان داره فایل کامل  دکامپایل نیز پیوست