Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __int64 __fastcall sub_1400A9174(__int64 a1)
- {
- __int64 v1; // rbx
- int v2; // eax
- int v3; // eax
- const char *v4; // rdx
- int v5; // eax
- int v7; // [rsp+40h] [rbp+8h]
- v1 = a1;
- v2 = (*(__int64 (**)(void))(**(_QWORD **)(a1 + 16) + 24i64))();
- if ( (v2 != 129 || *(_QWORD *)(v1 + 64) <= 0i64) && (v2 != 130 || *(_QWORD *)(v1 + 64) <= 0i64) )
- {
- (*(void (__fastcall **)(_QWORD, _QWORD, _QWORD, int *))(**(_QWORD **)(v1 + 16) + 16i64))(
- *(_QWORD *)(v1 + 16),
- *(_QWORD *)(v1 + 120),
- *(unsigned int *)(v1 + 88),
- &v7);
- v3 = v7;
- }
- else
- {
- v3 = *(_DWORD *)(v1 + 64);
- v7 = *(_DWORD *)(v1 + 64);
- }
- if ( v3 > 0 )
- {
- if ( v3 <= *(_DWORD *)(v1 + 112) )
- {
- v5 = (*(__int64 (__fastcall **)(_QWORD, _QWORD, _QWORD, _QWORD, _QWORD))(**(_QWORD **)(v1 + 16) + 8i64))(
- *(_QWORD *)(v1 + 16),
- *(_QWORD *)(v1 + 120),
- *(signed int *)(v1 + 100),
- *(_QWORD *)(v1 + 128),
- v3);
- if ( v5 == v7 )
- {
- *(_DWORD *)(v1 + 108) = v7;
- *(_DWORD *)(v1 + 24) = 7;
- return 0i64;
- }
- v4 = "E2008090502:Decoded size is incorrect.";
- }
- else
- {
- v4 = "E2008082710:Buffer size is insufficient to decompress data.";
- }
- }
- else
- {
- v4 = "E2008090501:Failed to get compressed data size.";
- }
- sub_140093E20(0i64, v4);
- *(_DWORD *)(v1 + 24) = 8;
- *(_DWORD *)(v1 + 32) = 7;
- return 0i64;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement