undefined4 FUN_00425a2c(int param_1,int param_2,int param_3)

{
  int iVar1;
  undefined4 uVar2;
  
  if (param_2 == 0) {
    uVar2 = 0x1005;
  }
  else {
    uVar2 = 0x1005;
    if (param_3 != 0) {
      if (*(int *)(param_1 + 0x18e) == 0) {
        uVar2 = FUN_004030f4(0,param_1 + 0xd);
        *(undefined4 *)(param_1 + 0x18e) = uVar2;
      }
      if ((*(int *)(param_1 + 0x18e) != 0) &&
         (iVar1 = FUN_00402ff4(*(int *)(param_1 + 0x18e),param_2,param_3,0x4000), param_3 <= iVar1))
      {
        return 0x1001;
      }
      uVar2 = 0x5401;
    }
  }
  return uVar2;
}