undefined1 *
FUN_0043a870(int param_1,undefined4 param_2,int param_3,undefined4 param_4,undefined4 param_5)

{
  undefined1 *puVar1;
  
  if (param_1 == 0) {
    if (0 < param_3) {
      DAT_004af810 = 0;
      if (DAT_004bb960 != (code *)0x0) {
        DAT_004af814 = 0;
        (*DAT_004bb960)(0,param_3,param_4,param_5,0);
      }
      puVar1 = (undefined1 *)(*(code *)PTR_thunk_FUN_0048470c_004af834)(param_3,param_4,param_5);
      if (DAT_004bb960 != (code *)0x0) {
        (*DAT_004bb960)(puVar1,param_3,param_4,param_5,1);
      }
      if (puVar1 == (undefined1 *)0x0) {
        return (undefined1 *)0x0;
      }
      if (param_3 < 0x801) {
        return puVar1;
      }
      *puVar1 = DAT_004bb970;
      return puVar1;
    }
  }
  else if (0 < param_3) {
    if (DAT_004bb95c != (code *)0x0) {
      (*DAT_004bb95c)(param_1,0,param_3,param_4,param_5,0);
    }
    puVar1 = (undefined1 *)(*(code *)PTR_thunk_FUN_0048470c_004af834)(param_3,param_4,param_5);
    if (puVar1 != (undefined1 *)0x0) {
      FUN_00483c90(puVar1,param_1,param_2);
      FUN_0043aa60(param_1,param_2);
      (*(code *)PTR_FUN_004af820)(param_1);
    }
    if (DAT_004bb95c == (code *)0x0) {
      return puVar1;
    }
    (*DAT_004bb95c)(param_1,puVar1,param_3,param_4,param_5,1);
    return puVar1;
  }
  return (undefined1 *)0x0;
}