undefined ** FUN_0001ae14(void)

{
  uint *puVar1;
  uint *puVar2;
  int iVar3;
  undefined **ppuVar4;
  undefined *apuStackX_0 [4];
  
  ppuVar4 = &__pthread_initial_thread;
  if ((apuStackX_0 < __pthread_initial_thread_bos) &&
     ((apuStackX_0 < __pthread_manager_thread_bos ||
      (ppuVar4 = (undefined **)&__pthread_manager_thread,
      __pthread_manager_thread_tos <= apuStackX_0)))) {
    if (__pthread_nonstandard_stacks != 0) {
      iVar3 = 0x2d030;
      do {
        for (; puVar1 = (uint *)(iVar3 + 8), (undefined **)*puVar1 < apuStackX_0;
            iVar3 = iVar3 + 0x10) {
        }
        puVar2 = (uint *)(iVar3 + 0xc);
        iVar3 = iVar3 + 0x10;
      } while (apuStackX_0 < (undefined **)*puVar2);
      return (undefined **)*puVar1;
    }
    ppuVar4 = (undefined **)(((uint)apuStackX_0 | 0x1fffff) - 0x1df);
  }
  return ppuVar4;
}