/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Enum "__rlimit_resource": Some values do not have unique names */

void FUN_0001b63c(void)

{
  int iVar1;
  uint uVar2;
  rlimit local_128;
  sigset_t sStack_120;
  undefined4 local_a0;
  code *local_9c;
  sigset_t sStack_98;
  
  if (__pthread_initial_thread_bos == 0) {
    __pthread_initial_thread_bos = (uint)&stack0xffbffec0 & 0xffe00000;
    DAT_00031054 = getpid();
    PTR__h_errno_0003108c = &_h_errno;
    PTR__errno_00031084 = &_errno;
    __stdio_user_locking = 0;
    for (iVar1 = __stdio_openlist; iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x18)) {
      if (*(int *)(iVar1 + 0x30) != 1) {
        *(undefined4 *)(iVar1 + 0x30) = 0;
      }
    }
    getrlimit(RLIMIT_STACK,&local_128);
    iVar1 = getpagesize();
    uVar2 = (0x100000 - iVar1) * 2;
    if (uVar2 < local_128.rlim_cur) {
      local_128.rlim_cur = uVar2;
      setrlimit(RLIMIT_STACK,&local_128);
    }
    local_9c = FUN_0001bdd8;
    sigemptyset(&sStack_98);
    local_a0 = 0;
    __libc_sigaction(__pthread_sig_restart,&local_a0,0);
    local_9c = (code *)&LAB_0001bce8;
    sigaddset(&sStack_98,__pthread_sig_restart);
    __libc_sigaction(__pthread_sig_cancel,&local_a0,0);
    if (0 < __pthread_sig_debug) {
      local_9c = (code *)&LAB_0001aecc;
      sigemptyset(&sStack_98);
      __libc_sigaction(__pthread_sig_debug,&local_a0,0);
    }
    sigemptyset(&sStack_120);
    sigaddset(&sStack_120,__pthread_sig_restart);
    sigprocmask(1,&sStack_120,(sigset_t *)0x0);
    sigdelset(&sStack_120,__pthread_sig_restart);
    sigaddset(&sStack_120,__pthread_sig_cancel);
    sigprocmask(2,&sStack_120,(sigset_t *)0x0);
    on_exit(FUN_0001b12c,(void *)0x0);
  }
  return;
}