Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- signed int __cdecl ProtoSSLUpdateRecvServerCert(int a1, unsigned __int8 *a2)
- {
- _DWORD *v2; // edi
- unsigned __int8 *v3; // eax
- int v4; // ecx
- int v5; // edx
- int v6; // ebx
- int v7; // edx
- int v8; // esi
- int v10; // eax
- size_t v11; // eax
- int v12; // edx
- signed int v13; // [esp+10h] [ebp-1468h]
- int v14; // [esp+14h] [ebp-1464h]
- const void *v15; // [esp+18h] [ebp-1460h]
- _DWORD *v16; // [esp+1Ch] [ebp-145Ch]
- int v17; // [esp+20h] [ebp-1458h]
- int v18; // [esp+24h] [ebp-1454h]
- char v19; // [esp+28h] [ebp-1450h]
- int v20; // [esp+610h] [ebp-E68h]
- int v21; // [esp+A30h] [ebp-A48h]
- char Dst; // [esp+A50h] [ebp-A28h]
- v2 = *(_DWORD **)(a1 + 296);
- v16 = *(_DWORD **)(a1 + 296);
- v13 = 0x1006;
- v14 = 0;
- memset(&Dst, 0, 0xA28u);
- memset(&v19, 0, 0xA28u);
- v3 = a2;
- v4 = a2[1];
- v5 = a2[2];
- v6 = v5 | ((v4 | (*a2 << 8)) << 8);
- v17 = v5 | ((v4 | (*a2 << 8)) << 8);
- if ( v6 > 3 )
- {
- while ( 1 )
- {
- v7 = v3[5];
- v8 = v7 | ((v3[4] | (v3[3] << 8)) << 8);
- v18 = v7 | ((v3[4] | (v3[3] << 8)) << 8);
- if ( v8 > v6 - 3 )
- return 0x1006;
- v15 = v2 + 529;
- if ( VerifyCertificate(v2 + 529, (int)(v3 + 6), v8) < 0 )
- return 0x1003;
- if ( v14 )
- {
- if ( !v2[1171] )
- return 0x1005;
- v10 = v2[1172];
- if ( v10 )
- {
- if ( v14 > v10 )
- return 0x1005;
- }
- if ( sub_9A67D0(v2 + 641, &v19, v21) )
- return 0x1005;
- v11 = v2[1037];
- if ( v11 != v20 || sub_9A79D0(v2 + 1038, v11, v2 + 1167, v2[1166]) )
- return 0x1005;
- v6 = v17;
- v8 = v18;
- v2 = v16;
- }
- else if ( sub_9A5C20(a1 + 16, v2 + 737) && sub_9A5D10(a1 + 16) && !*(_BYTE *)(a1 + 776) )
- {
- return 0x1004;
- }
- *(_BYTE *)(a1 + 778) = 0;
- if ( !sub_9A7B30(a1, v15, 0) )
- goto LABEL_30;
- if ( v6 == v8 + 3 )
- break;
- v12 = v14++;
- if ( !v12 )
- qmemcpy(&Dst, v15, 0xA28u);
- qmemcpy(&v19, v15, 0xA28u);
- v6 += -3 - v18;
- a2 += v18 + 3;
- v17 = v6;
- if ( v6 <= 3 )
- return 0x1006;
- v3 = a2;
- v2 = v16;
- }
- if ( !sub_9A8600() )
- {
- v13 = 4;
- goto LABEL_31;
- }
- v13 = 4101;
- if ( *(_BYTE *)(a1 + 776) )
- LABEL_30:
- v13 = 21;
- LABEL_31:
- if ( v14 && v13 != 4101 )
- qmemcpy(v2 + 529, &Dst, 0xA28u);
- }
- return v13;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement