Silicaly

Untitled

Mar 1st, 2019
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.28 KB | None | 0 0
  1. signed int __fastcall OpenNative(int a1, int a2, unsigned int *a3)
  2. {
  3.   int v3; // r4
  4.   unsigned int *v4; // r7
  5.   int v5; // r8
  6.   signed int result; // r0
  7.   unsigned int *v7; // r1
  8.   unsigned int v8; // r2
  9.   unsigned int *v9; // r1
  10.   unsigned int v10; // r2
  11.   unsigned int *v11; // r1
  12.   unsigned int v12; // r2
  13.   unsigned int *v13; // r1
  14.   unsigned int v14; // r2
  15.   _DWORD *v15; // r5
  16.   unsigned int v16; // r4
  17.   int v17; // r6
  18.   unsigned int v18; // r1
  19.   int v19; // r0
  20.   unsigned int *v20; // r1
  21.   unsigned int v21; // r2
  22.   int v22; // r0
  23.   unsigned int *v23; // r1
  24.   unsigned int v24; // r2
  25.   int v25; // r0
  26.   unsigned int *v26; // r1
  27.   unsigned int v27; // r2
  28.   int v28; // r0
  29.   unsigned int *v29; // r1
  30.   unsigned int v30; // r2
  31.   int v31; // r4
  32.   int v32; // r0
  33.   unsigned int *v33; // r1
  34.   unsigned int v34; // r2
  35.   int v35; // r0
  36.   unsigned int *v36; // r1
  37.   unsigned int v37; // r2
  38.   int v38; // r0
  39.   unsigned int *v39; // r1
  40.   unsigned int v40; // r2
  41.   int v41; // r0
  42.   unsigned int *v42; // r1
  43.   unsigned int v43; // r2
  44.   int v44; // r0
  45.   unsigned int *v45; // r1
  46.   unsigned int v46; // r2
  47.   int v47; // r0
  48.   unsigned int *v48; // r1
  49.   unsigned int v49; // r2
  50.   int v50; // r0
  51.   unsigned int *v51; // r1
  52.   unsigned int v52; // r2
  53.   int v53; // r0
  54.   unsigned int *v54; // r1
  55.   unsigned int v55; // r2
  56.   int v56; // r4
  57.   unsigned int *v57; // [sp+F8h] [bp-C8h]
  58.   int v58; // [sp+100h] [bp-C0h]
  59.   int v59; // [sp+10Ch] [bp-B4h]
  60.   int v60; // [sp+118h] [bp-A8h]
  61.   char *v61; // [sp+124h] [bp-9Ch]
  62.   int v62; // [sp+130h] [bp-90h]
  63.   char v63; // [sp+134h] [bp-8Ch]
  64.   int v64; // [sp+150h] [bp-70h]
  65.   int v65; // [sp+15Ch] [bp-64h]
  66.   int v66; // [sp+168h] [bp-58h]
  67.   char *v67; // [sp+174h] [bp-4Ch]
  68.   int v68; // [sp+180h] [bp-40h]
  69.   char v69; // [sp+184h] [bp-3Ch]
  70.   int v70; // [sp+198h] [bp-28h]
  71.   int *stackCookie; // [sp+1A0h] [bp-20h]
  72.  
  73.   stackCookie = dword_810BEF48;
  74.   v3 = a1;
  75.   v4 = a3;
  76.   sub_810B790C(&v57, a2);
  77.   v5 = (int)v57;
  78.   if ( !v57 )
  79.   {
  80.     result = 0x80580005;
  81.     goto LABEL_206;
  82.   }
  83.   switch ( v3 )
  84.   {
  85.     case 0x301:
  86.     case 0x201:
  87.       goto LABEL_74;
  88.     case 0x101:
  89.       if ( !v4 )
  90.       {
  91.         v13 = v57 + 1;
  92.         __dmb(0xFu);
  93.         do
  94.           v14 = __ldrex(v13);
  95.         while ( __strex(v14 - 1, v13) );
  96.         __dmb(0xFu);
  97.         if ( v14 == 1 && v5 )
  98.           (*(void (__fastcall **)(int))(*(_DWORD *)v5 + 4))(v5);
  99.         result = 0x80580002;
  100.         goto LABEL_206;
  101.       }
  102.       v15 = 0;
  103.       v16 = v4[1];
  104.       v17 = 0;
  105.       if ( v16 )
  106.         v15 = (_DWORD *)SceLibMono_7653B7FE_imp_(v4[1], 4, 0);
  107.       if ( v16 )
  108.         v17 = SceLibMono_5C260726_imp_(v16);
  109.       v18 = *v4;
  110.       if ( *v4 > 2 )
  111.       {
  112.         if ( v18 <= 3 )
  113.         {
  114.           if ( v17 != 1 )
  115.           {
  116.             v28 = (int)v57;
  117.             if ( v57 )
  118.             {
  119.               v29 = v57 + 1;
  120.               __dmb(0xFu);
  121.               do
  122.                 v30 = __ldrex(v29);
  123.               while ( __strex(v30 - 1, v29) );
  124.               __dmb(0xFu);
  125.               if ( v30 == 1 )
  126.               {
  127.                 if ( v28 )
  128.                   (*(void (**)(void))(*(_DWORD *)v28 + 4))();
  129.               }
  130.             }
  131.             result = 0x80580003;
  132.             goto LABEL_206;
  133.           }
Advertisement
Add Comment
Please, Sign In to add comment