Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char __fastcall sub_14002E040(__int64 a1, unsigned int a2, char a3, __int64 a4, char a5)
- {
- __int64 v5; // r14@1
- char v6; // si@1
- char v7; // di@1
- __int64 v8; // rbx@1
- __int64 v9; // rcx@3
- int v11; // eax@9
- __int64 v12; // rdx@11
- int v13; // er12@11
- unsigned int v14; // ebp@11
- char v15; // r8@19
- int v16; // ecx@19
- __int64 v17; // rdx@20
- v5 = a4;
- v6 = a3;
- v7 = a2;
- v8 = a1;
- *(_DWORD *)(a1 + 8) = 0;
- if ( !*(_BYTE *)(a1 + 12) )
- {
- *(_DWORD *)(a1 + 8) = 1;
- LABEL_3:
- v9 = *(_QWORD *)(a1 + 24);
- LABEL_4:
- if ( v9 )
- {
- sub_140294FC0(v9);
- *(_QWORD *)(v8 + 24) = 0i64;
- *(_DWORD *)(v8 + 16) = 1;
- }
- *(_DWORD *)(v8 + 16) = 1;
- return 0;
- }
- if ( a2 >= *(_DWORD *)(a1 + 288) )
- {
- *(_DWORD *)(a1 + 8) = 4;
- goto LABEL_3;
- }
- v11 = sub_14002E240();
- if ( (unsigned int)v11 <= 3 )
- {
- v9 = *(_QWORD *)(v8 + 24);
- goto LABEL_4;
- }
- v12 = *(_QWORD *)(v8 + 304);
- v13 = *(_DWORD *)(v8 + 296)
- + *(_BYTE *)((unsigned int)v11 + v12)
- + ((*(_BYTE *)((unsigned int)(v11 + 1) + v12)
- + ((*(_BYTE *)((unsigned int)(v11 + 2) + v12) + (*(_BYTE *)((unsigned int)(v11 + 3) + v12) << 8)) << 8)) << 8);
- v14 = *(_BYTE *)((unsigned int)(v11 + 4) + v12)
- + ((*(_BYTE *)((unsigned int)(v11 + 5) + v12)
- + ((*(_BYTE *)((unsigned int)(v11 + 6) + v12) + (*(_BYTE *)((unsigned int)(v11 + 7) + v12) << 8)) << 8)) << 8);
- if ( *(_DWORD *)(v8 + 16) == 1 )
- {
- *(_DWORD *)(v8 + 8) = 2;
- if ( sub_140295124(v8 + 24, v8 + 32, &unk_140C94B38) || !*(_QWORD *)(v8 + 24) )
- return 0;
- *(_DWORD *)(v8 + 8) = 0;
- *(_DWORD *)(v8 + 16) = 2;
- }
- sub_140295C24(*(_QWORD *)(v8 + 24), (unsigned int)v13, 0i64);
- if ( sub_140295404(v5, v14, 1i64, *(_QWORD *)(v8 + 24)) != 1 )
- return 0;
- if ( !a5 )
- {
- sub_14002E000(v8);
- *(_DWORD *)(v8 + 16) = 1;
- }
- v15 = 7 * (v6 & 0x5F) + 3 * (v7 & 0x7A) + ((v14 >> 3) & 0x5E);
- v16 = v14 - 1;
- if ( v14 != 1 )
- {
- v17 = v5 + (unsigned int)v16;
- do
- {
- --v17;
- *(_BYTE *)(v17 + 1) ^= v15 ^ v16-- & 0xE6;
- }
- while ( v16 );
- }
- *(_BYTE *)((unsigned int)v16 + v5) ^= v15 ^ v16 & 0xE6;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement