Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __cdecl fptr_get_model_name(SceMsif_subctx *subctx, char *name)
- {
- SceMsif_subctx *subctx_1; // r8@1
- char *name_1; // r4@1
- int v4; // r0@1
- signed int v5; // r2@3
- int v6; // r3@3
- uint32_t v7; // r0@8
- int v8; // r2@11
- int v9; // r1@11
- int v10; // r1@12
- unsigned int v11; // r2@12
- unsigned int v12; // r2@12
- char v13; // r0@13
- char v14; // r1@13
- uint32_t v15; // r3@17
- int v21; // r6@22
- char v23; // r0@27
- char v24; // r1@27
- char v25; // r2@27
- int v28; // r1@4
- int v29; // r2@4
- int v30; // r3@4
- signed int v31; // r5@4
- char v32; // r1@38
- int v33; // [sp+0h] [bp-38h]@22
- unsigned __int64 v34; // [sp+4h] [bp-34h]@22
- int v35; // [sp+Ch] [bp-2Ch]@1
- subctx_1 = subctx;
- name_1 = name;
- v4 = LOBYTE(subctx->unk_004[0x280]);
- v35 = vA6A004;
- if ( v4 )
- {
- if ( LOBYTE(subctx_1->unk_004[0x285]) == 0x15 )
- {
- v28 = 0x11;
- v29 = 0x12;
- v30 = 0x13;
- v31 = 0x10;
- }
- else
- {
- v5 = 0x10;
- v6 = 0;
- do
- {
- ++v6;
- v5 += 0xC;
- if ( v6 >= v4 )
- goto LABEL_7;
- v31 = v5;
- }
- while ( LOBYTE(subctx_1->unk_004[v5 / 4u + 0x281]) != 0x15 );
- v30 = v5 + 3;
- v28 = v5 + 1;
- v29 = v5 + 2;
- }
- v21 = *((_BYTE *)&subctx_1->unk_004[0x27F] + v30) | (*((_BYTE *)&subctx_1->unk_004[0x27F] + v29) << 8) | ((*((_BYTE *)&subctx_1->unk_004[0x27F] + v28) | (*((_BYTE *)&subctx_1->unk_004[0x27F] + v31) << 8)) << 0x10);
- get_paddr(subctx_1, (uintptr_t *)&v33);
- v34 = 0x8007010000000000LL;
- dcache_and_l2_inv_range(subctx_1, 0x400);
- JUMPOUT(loc_C29AFA);
- }
- LABEL_7:
- name[1] = 'e';
- name[9] = 'i';
- *name = 'M';
- name[2] = 'm';
- name[3] = 'o';
- name[4] = 'r';
- name[5] = 'y';
- name[6] = ' ';
- name[7] = 'S';
- name[8] = 't';
- name[0xA] = 'c';
- name[0xB] = 'k';
- if ( subctx_1->unk_C08 & 0x100 )
- {
- name[0xD] = 'X';
- name[0xC] = ' ';
- name[0xE] = 'C';
- v7 = subctx_1->unk_C08;
- if ( v7 & 4 )
- {
- name[0x11] = ' ';
- name[0x14] = 'o';
- name[0x15] = ' ';
- name[0x16] = ' ';
- name[0x17] = ' ';
- name[0xF] = '-';
- name[0x10] = 'R';
- name[0x12] = 'D';
- name[0x13] = 'u';
- }
- else if ( v7 & 2 )
- {
- name[0x12] = 'M';
- name[0x13] = ' ';
- name[0x16] = 'o';
- name[0x17] = ' ';
- name[0xF] = '-';
- name[0x10] = 'R';
- name[0x11] = 'O';
- name[0x14] = 'D';
- name[0x15] = 'u';
- }
- else
- {
- name[0xF] = ' ';
- name[0x12] = 'o';
- name[0x13] = ' ';
- name[0x14] = ' ';
- name[0x15] = ' ';
- name[0x16] = ' ';
- name[0x17] = ' ';
- name[0x10] = 'D';
- name[0x11] = 'u';
- }
- v8 = subctx_1->unk_BC3 | (subctx_1->unk_BC2 << 8) | ((subctx_1->unk_BC1 | (subctx_1->unk_BC0 << 8)) << 0x10);
- v9 = subctx_1->cluster_count2_1 | (subctx_1->cluster_count2_0 << 8) | ((subctx_1->cluster_count1_3 | (subctx_1->cluster_count1_2 << 8)) << 0x10);
- }
- else
- {
- name[0xC] = ' ';
- name[0xD] = 'P';
- name[0xE] = 'R';
- name[0xF] = 'O';
- v15 = subctx_1->unk_C08;
- if ( v15 & 0x8800 )
- {
- __asm { VLDR D16, aRDuoHgDuoRomDuoDuoS+8; "-HG Duo -ROM Duo Duo -T" }
- _R3 = name + 0x10;
- __asm { VST1.8 {D16}, [R3] }
- }
- else if ( v15 & 4 )
- {
- __asm { VLDR D16, aRDuoHgDuoRomDuoDuoS; "-R Duo -HG Duo -ROM Duo Duo -T" }
- _R3 = name + 0x10;
- __asm { VST1.8 {D16}, [R3] }
- }
- else if ( v15 & 2 )
- {
- __asm { VLDR D16, aRDuoHgDuoRomDuoDuoS+0x10; "-ROM Duo Duo -T" }
- _R3 = name + 0x10;
- __asm { VST1.8 {D16}, [R3] }
- }
- else
- {
- __asm { VLDR D16, aRDuoHgDuoRomDuoDuoS+0x18; " Duo -T" }
- _R3 = name + 0x10;
- __asm { VST1.8 {D16}, [R3] }
- }
- v8 = subctx_1->unk_BA3 | (subctx_1->unk_BA2 << 8);
- v9 = subctx_1->cluster_count1_3 | (subctx_1->cluster_count1_2 << 8);
- }
- v10 = v8 * v9;
- name_1[0x18] = ' ';
- v11 = subctx_1->unk_BCC;
- name_1[0x19] = 0x28;
- name_1[0x1A] = ' ';
- v12 = v10 * (v11 >> 1);
- if ( v12 >= 0x10000 )
- {
- if ( v12 >= 0x20000 )
- {
- if ( v12 >= 0x40000 )
- {
- if ( v12 < 0x80000 )
- {
- v23 = '2';
- v24 = '5';
- v25 = '6';
- }
- else
- {
- if ( v12 >= 0x100000 )
- {
- if ( v12 >= 0x200000 )
- {
- if ( v12 >= 0x400000 )
- {
- if ( v12 >= 0x800000 )
- {
- if ( v12 >= 0x1000000 )
- JUMPOUT(&loc_C29BFC);
- v32 = '8';
- }
- else
- {
- v32 = '4';
- }
- }
- else
- {
- v32 = '2';
- }
- }
- else
- {
- v32 = '1';
- }
- name_1[0x1B] = ' ';
- name_1[0x1C] = ' ';
- name_1[0x1D] = v32;
- name_1[0x1E] = 'G';
- JUMPOUT(&loc_C29A2A);
- }
- v23 = '5';
- v24 = '1';
- v25 = '2';
- }
- }
- else
- {
- v23 = '1';
- v24 = '2';
- v25 = '8';
- }
- name_1[0x1B] = v23;
- name_1[0x1C] = v24;
- name_1[0x1D] = v25;
- name_1[0x1E] = 'M';
- JUMPOUT(&loc_C29A2A);
- }
- v13 = '6';
- v14 = '4';
- }
- else
- {
- v13 = '3';
- v14 = '2';
- }
- name_1[0x1B] = ' ';
- name_1[0x1C] = v13;
- name_1[0x1D] = v14;
- name_1[0x1E] = 'M';
- JUMPOUT(loc_C29A2A);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement