Advertisement
GeeckoDev

Kernel_Library_FA835CDE

Mar 12th, 2013
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.73 KB | None | 0 0
  1. // Kernel_Library_FA835CDE
  2. void *Kernel_Library_FA835CDE(s32 arg0)
  3. {
  4.     void *ptr;
  5.     s32 *k0;
  6.  
  7.     // SceThread* ?
  8.     k0 = (s32*)pspGetK0();
  9.  
  10.     if (k0 == NULL) {
  11.         return NULL;
  12.     }
  13.  
  14.     if (!sceKernelIsCpuIntrEnable()) {
  15.         return NULL;
  16.     }
  17.  
  18.     // SceThread.unk2 ?
  19.     if (k0[49] != 0) {
  20.         return NULL;
  21.     }
  22.  
  23.     if (arg0 < 0) {
  24.         return NULL;
  25.     }
  26.  
  27.     // range k0[16-31]
  28.     ptr = (void*)k0[((arg0 >> 3) & 0xF) + 16];
  29.  
  30.     // this is why I think that a pointer is returned
  31.     if (ptr == NULL) { // loc_000004FC
  32.         s32 ret;
  33.  
  34.         ret = ThreadManForUser_65F54FFB(arg0, &ptr, 0);
  35.  
  36.         if (ret < 0) {
  37.             return NULL;
  38.         }
  39.     }
  40.  
  41.     return ptr;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement