Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char __cdecl ApplyMasksToRenderTarget(int a1, int a2)
- {
- int v2; // eax@1
- char *v4; // eax@3
- int v5; // esi@5
- int v6; // edi@5
- int v7; // ebp@5
- void *v8; // ST10_4@5
- signed int v9; // eax@5
- int v10; // ebp@6
- int v11; // edi@7
- int v12; // edx@7
- unsigned int v13; // eax@10
- float v14; // ST28_4@10
- float v15; // ST28_4@10
- float v16; // ST28_4@10
- int v17; // edi@14
- unsigned int v18; // edi@17
- void *v19; // ebp@18
- int v20; // esi@18
- void *v21; // ebp@20
- int v22; // edi@20
- unsigned int v23; // esi@20
- signed int v24; // edi@22
- int v25; // esi@22
- char result; // al@24
- int v27; // [sp+0h] [bp-1A0h]@10
- __int64 v28; // [sp+4h] [bp-19Ch]@10
- int v29; // [sp+Ch] [bp-194h]@10
- int v30; // [sp+24h] [bp-17Ch]@7
- int v31; // [sp+28h] [bp-178h]@2
- unsigned int v32; // [sp+2Ch] [bp-174h]@5
- float v33; // [sp+30h] [bp-170h]@1
- char v34; // [sp+34h] [bp-16Ch]@5
- void *Memory; // [sp+70h] [bp-130h]@5
- void *v36; // [sp+78h] [bp-128h]@5
- int v37; // [sp+7Ch] [bp-124h]@5
- char v38[2]; // [sp+A0h] [bp-100h]@6
- char v39; // [sp+A2h] [bp-FEh]@3
- void *v40; // [sp+1A0h] [bp+0h]@22
- LODWORD(_QCX) = *((_DWORD *)dword_1BA8280 + 2);
- v2 = *(_DWORD *)(_QCX + 372);
- _QCX = (unsigned int)_QCX;
- v33 = 1.0 / 255.0;
- if ( v2 && (v31 = v2 - 84, v2 != 84) )
- {
- LODWORD(_QCX) = 15;
- v4 = &v39;
- do
- {
- *(v4 - 2) = BYTE4(_QCX);
- *(v4 - 1) = BYTE4(_QCX);
- *v4 = BYTE4(_QCX);
- *(_DWORD *)(v4 + 2) = HIDWORD(_QCX);
- *(_DWORD *)(v4 + 6) = HIDWORD(_QCX);
- *(_DWORD *)(v4 + 10) = HIDWORD(_QCX);
- v4 += 16;
- LODWORD(_QCX) = _QCX - 1;
- }
- while ( (_DWORD)_QCX >= 0 );
- v5 = 0;
- sub_C9BCD0(&v34);
- v6 = *(_DWORD *)(*MK_FP(__FS__, 44) + 4 * TlsIndex);
- v7 = *(_DWORD *)(v6 + 1196);
- v8 = Memory;
- *(_DWORD *)(v6 + 1196) = 33;
- Heap__Free(v8, SBYTE4(_QCX));
- Heap__Free(v36, SBYTE4(_QCX));
- LODWORD(_QCX) = 0;
- v9 = 256;
- __asm { seto cl }
- v36 = (void *)Heap__Allocate(v9 | -(_DWORD)_QCX, SHIDWORD(_QCX), 0);
- *(_DWORD *)(v6 + 1196) = v7;
- v37 = 16;
- v32 = 0;
- if ( *(_DWORD *)(a1 + 8) > 0u )
- {
- v10 = (int)v38;
- do
- {
- v12 = *(_DWORD *)a1;
- v30 = HIDWORD(_QCX);
- v11 = *(_DWORD *)(v12 + 4 * v32);
- sub_CABFB0((void *)(v31 + 84), v5 + 1, v10, 0);
- if ( v11 )
- {
- if ( *(float *)(v11 + 8) > 0.0 )
- {
- sub_B02C80(*(const char **)(*(_DWORD *)v11 + 4), (int)&v30, 1, 0, 3, 0);
- if ( v30 )
- {
- sub_CABBE0(v10, v30);
- v13 = *(_DWORD *)(v11 + 4);
- v29 = *(_DWORD *)(v11 + 8);
- v14 = (double)(unsigned __int8)(v13 >> 16) * v33;
- *((float *)&v28 + 1) = v14;
- v15 = (double)BYTE1(v13) * v33;
- *(float *)&v28 = v15;
- v16 = v33 * (double)(unsigned __int8)v13;
- *(float *)&v27 = v16;
- }
- else
- {
- sub_CABBE0(v10, dword_1BA76D4);
- v29 = 0;
- v28 = 0i64;
- v27 = 0;
- }
- sub_C9BB30((int)&v34, v5, v27, v28, SHIDWORD(v28), v29);
- v10 += 16;
- ++v5;
- }
- }
- if ( v30 )
- {
- v17 = v30;
- if ( !InterlockedDecrement((volatile LONG *)(v30 + 4)) )
- (*(void (__thiscall **)(int))(*(_DWORD *)v17 + 4))(v17);
- }
- HIDWORD(_QCX) = 0;
- ++v32;
- }
- while ( v32 < *(_DWORD *)(a1 + 8) );
- }
- v18 = v5;
- if ( (unsigned int)v5 < 0x10 )
- {
- v19 = (void *)(v31 + 84);
- v20 = (int)&v38[16 * v5];
- do
- {
- sub_CABBE0(v20, dword_1BA76D4);
- sub_C9BB30((int)&v34, v18++, SHIDWORD(_QCX), SHIDWORD(_QCX), SHIDWORD(_QCX), SHIDWORD(_QCX));
- sub_CABFB0(v19, v18, v20, SHIDWORD(_QCX));
- v20 += 16;
- }
- while ( v18 < 0x10 );
- }
- sub_C7C650((int)dword_1BA8280, 93, (int)g_NiDX9Renderer, *(_DWORD *)a2, (int)&v34, 1);
- v23 = 0;
- v21 = (void *)(v31 + 84);
- v22 = (int)v38;
- do
- {
- sub_CABCA0(v22);
- ++v23;
- sub_CABFB0(v21, v23, SHIDWORD(_QCX), SHIDWORD(_QCX));
- v22 += 16;
- }
- while ( v23 < 0x10 );
- sub_C9BC60(&v34);
- v25 = (int)&v40;
- v24 = 15;
- do
- {
- v25 -= 16;
- sub_CABDB0(v25);
- --v24;
- }
- while ( v24 >= 0 );
- result = 1;
- }
- else
- {
- result = 0;
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement