Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- signed int __stdcall sub_1000BB10(int a1, int a2, int a3, int a4, int a5, int a6, int a7)
- {
- unsigned int v7; // edi@2
- unsigned int v8; // ecx@5
- unsigned int v9; // eax@5
- int v10; // edx@6
- unsigned int v11; // ecx@7
- char v12; // cl@8
- int v13; // edx@12
- unsigned int v14; // ecx@12
- int v15; // eax@13
- int v16; // ebx@13
- int v17; // esi@14
- DWORD v18; // eax@14
- unsigned int v19; // edi@19
- unsigned int v20; // esi@19
- int v21; // eax@19
- int v22; // ecx@20
- int v23; // edi@23
- int v24; // ebx@24
- unsigned int v25; // eax@24
- int v26; // edx@24
- int v27; // eax@32
- unsigned int v28; // eax@39
- int v29; // ebx@47
- int v30; // esi@48
- DWORD v31; // eax@48
- int v32; // eax@50
- int v33; // ebx@50
- int v34; // esi@51
- DWORD v35; // eax@51
- char v36; // cl@52
- unsigned int v37; // eax@52
- char v38; // dl@53
- int v39; // eax@56
- char *v40; // ecx@56
- signed int v41; // edx@56
- char v42; // bl@62
- signed int v43; // eax@67
- unsigned __int8 v44; // cl@69
- unsigned int v46; // [sp+Ch] [bp-9Ch]@15
- __int64 v47; // [sp+10h] [bp-98h]@20
- unsigned int v48; // [sp+1Ch] [bp-8Ch]@20
- unsigned int v49; // [sp+20h] [bp-88h]@19
- __int16 *v50; // [sp+24h] [bp-84h]@23
- __int16 *v51; // [sp+28h] [bp-80h]@19
- unsigned int v52; // [sp+2Ch] [bp-7Ch]@22
- int v53; // [sp+30h] [bp-78h]@1
- int v54; // [sp+34h] [bp-74h]@1
- int v55; // [sp+38h] [bp-70h]@24
- int v56; // [sp+3Ch] [bp-6Ch]@1
- int v57; // [sp+40h] [bp-68h]@1
- int v58; // [sp+44h] [bp-64h]@20
- int v59; // [sp+48h] [bp-60h]@1
- int v60; // [sp+4Ch] [bp-5Ch]@1
- unsigned __int8 v61; // [sp+50h] [bp-58h]@15
- int v62; // [sp+51h] [bp-57h]@15
- int v63; // [sp+55h] [bp-53h]@15
- int v64; // [sp+59h] [bp-4Fh]@15
- __int16 v65; // [sp+5Dh] [bp-4Bh]@15
- __int16 v66; // [sp+60h] [bp-48h]@12
- char v67; // [sp+62h] [bp-46h]@12
- v53 = a2;
- v59 = a3;
- v57 = a4;
- v60 = a5;
- v56 = a6;
- v54 = a7;
- if ( a1 )
- {
- if ( wcslen((const unsigned __int16 *)a1) == 25 )
- {
- v8 = 0;
- v9 = 0;
- do
- {
- v10 = *(_WORD *)(a1 + 2 * v9++);
- v8 += v10;
- }
- while ( v9 < 0x18 );
- v11 = v8 % 0x24;
- if ( v11 < 0x24 )
- v12 = byte_10029730[v11];
- else
- v12 = 0;
- if ( *(_WORD *)(a1 + 48) == v12 )
- {
- v66 = 0;
- memset(&v67, 0, 0x3Eu);
- v7 = sub_10019570(&v66, 32, a1);
- if ( v7 & 0x3FF )
- {
- v15 = sub_100026C0(v14, v13);
- v16 = v15;
- if ( v15 )
- {
- v17 = *(_DWORD *)v15 + 24;
- v18 = GetLastError();
- (*(void (__cdecl **)(int, signed int, signed int, _DWORD, _DWORD, signed int, DWORD, unsigned int, unsigned int))v17)(
- v16,
- 1,
- 43008,
- L"FUN-->%s,LINE-->%d. Err=%d,Ret=0x%x(line:%d)\n",
- L"CLicense::GetSerialNoInfo",
- 116,
- v18,
- v7,
- v7 >> 20);
- }
- }
- else
- {
- v62 = 0;
- v63 = 0;
- v64 = 0;
- v65 = 0;
- v46 = 0;
- v61 = 0;
- if ( &v61 )
- {
- v14 = (unsigned int)&v66;
- if ( &v66 )
- {
- v19 = 0;
- v20 = 0;
- v13 = 0;
- v49 = 0;
- v21 = 0;
- v51 = &v66;
- while ( 1 )
- {
- v22 = v21 + 8;
- v47 = 0i64;
- v48 = 8;
- v58 = v21 + 8;
- if ( (unsigned int)(v21 + 8) > 0x18 )
- {
- v22 = 24 - v21;
- v48 = 24 - v21;
- }
- v52 = 0;
- if ( v48 > 0 )
- {
- v23 = 0;
- v50 = v51;
- do
- {
- v24 = (unsigned __int16)*v50;
- v55 = v24;
- v25 = 0;
- v26 = (unsigned __int16)v24;
- while ( 1 )
- {
- v22 = byte_10029730[v25];
- if ( v26 == v22 || (unsigned __int16)(v24 - 97) <= 0x19u && v26 - 32 == v22 )
- break;
- ++v25;
- if ( v25 >= 36 )
- goto LABEL_36;
- LOWORD(v24) = v55;
- }
- if ( v25 == -1 )
- {
- LABEL_36:
- v46 = 0x10C0CC01;
- break;
- }
- if ( v25 < v20 )
- v27 = v25 - v20 + 36;
- else
- v27 = v25 - v20;
- v20 = (v27 + v20) % 0x24;
- v22 = v23;
- v47 |= (unsigned __int64)(unsigned int)v27 << v23;
- ++v50;
- v23 += 5;
- ++v52;
- }
- while ( v52 < v48 );
- v19 = v49;
- v13 = 0;
- }
- if ( v46 & 0x3FF )
- break;
- v14 = (5 * v48 + 7) >> 3;
- v28 = 0;
- if ( v14 > 0 )
- {
- while ( v19 < 0xF )
- {
- *(&v61 + v19++) = *((_BYTE *)&v47 + v28++);
- if ( v28 >= v14 )
- goto LABEL_44;
- }
- v46 = 0x1210C80D;
- LABEL_44:
- v49 = v19;
- }
- v21 = v58;
- v51 += 8;
- if ( (unsigned int)v58 >= 0x18 )
- goto LABEL_49;
- }
- v29 = sub_100026C0(v22, 0);
- if ( v29 )
- {
- v30 = *(_DWORD *)v29 + 24;
- v31 = GetLastError();
- (*(void (__cdecl **)(int, signed int, signed int, _DWORD, _DWORD, signed int, DWORD, unsigned int, unsigned int))v30)(
- v29,
- 1,
- 51200,
- L"FUN-->%s,LINE-->%d. Err=%d,Ret=0x%x(line:%d)\n",
- L"DeCodeString",
- 284,
- v31,
- v46,
- v46 >> 20);
- }
- }
- else
- {
- v46 = 0xF40C809;
- }
- }
- else
- {
- v46 = 0xF30C809;
- }
- LABEL_49:
- v7 = v46;
- if ( v46 & 0x3FF )
- {
- v32 = sub_100026C0(v14, v13);
- v33 = v32;
- if ( v32 )
- {
- v34 = *(_DWORD *)v32 + 24;
- v35 = GetLastError();
- (*(void (__cdecl **)(int, signed int, signed int, _DWORD, _DWORD, signed int, DWORD, unsigned int, unsigned int))v34)(
- v33,
- 1,
- 43008,
- L"FUN-->%s,LINE-->%d. Err=%d,Ret=0x%x(line:%d)\n",
- L"CLicense::GetSerialNoInfo",
- 126,
- v35,
- v46,
- v46 >> 20);
- }
- }
- else
- {
- v36 = 0;
- v37 = 0;
- do
- {
- v38 = *(&v61 + v37++);
- v36 += v38;
- }
- while ( v37 < 0xE );
- if ( HIBYTE(v65) == v36 )
- {
- v39 = 0;
- v40 = (char *)&v61;
- v41 = 11;
- do
- {
- v39 = (unsigned __int16)word_10029758[(unsigned __int8)(*v40++ ^ BYTE1(v39))] ^ (v39 << 8);
- --v41;
- }
- while ( v41 );
- if ( BYTE2(v64) == (_BYTE)v39 )
- {
- if ( (_BYTE)v65 == BYTE1(v39) )
- {
- v42 = ((unsigned __int8)v62 >> 5) & 1;
- if ( v62 & 0x40 )
- v42 |= 2u;
- if ( BYTE3(v64) & 0x80 )
- v42 |= 4u;
- if ( v42 == 1 )
- {
- LOWORD(v47) = 0;
- *(_DWORD *)((char *)&v47 + 2) = 0;
- WORD3(v47) = 0;
- sub_10019D60(v40);
- v43 = (unsigned __int8)(v47 + 48);
- if ( BYTE2(v62) > v43 )
- return 0xA90A80B;
- v44 = BYTE1(v62);
- if ( BYTE2(v62) == v43 && (unsigned __int8)(BYTE1(v62) & 0xF) > BYTE2(v47) )
- return 0xAF0A80B;
- }
- else
- {
- v44 = BYTE1(v62);
- }
- *(_WORD *)v53 = v61 | (unsigned __int16)(BYTE3(v64) << 8);
- *(_WORD *)v59 = BYTE1(v63);
- if ( v57 )
- *(_BYTE *)v57 = v42;
- if ( v60 )
- *(_WORD *)v60 = BYTE3(v62);
- if ( v54 )
- *(_BYTE *)v54 = (v44 >> 4) + (BYTE3(v63) & 0xF0);
- if ( v56 )
- *(_DWORD *)v56 = (unsigned int)(unsigned __int8)v62 >> 7;
- }
- else
- {
- v7 = 0x930A80B;
- }
- }
- else
- {
- v7 = 0x8E0A80B;
- }
- }
- else
- {
- v7 = 0x870A80B;
- }
- }
- }
- }
- else
- {
- v7 = 0x6E0A80B;
- }
- }
- else
- {
- v7 = 0x640A809;
- }
- }
- else
- {
- v7 = 0x620A809;
- }
- return v7;
- }
Advertisement
Add Comment
Please, Sign In to add comment