int * FUN_004030f4(int param_1,int param_2)

{
  int *piVar1;
  int iVar2;
  int *piVar3;
  
  if (param_2 == 0) {
    piVar1 = (int *)0x0;
  }
  else {
    piVar1 = (int *)FUN_0048470c(0xe4);
    if (piVar1 != (int *)0x0) {
      FUN_00483cc0(piVar1,0,0xe4);
      iVar2 = FUN_004844a0(1,1,0);
      *piVar1 = iVar2;
      if (-1 < iVar2) {
        *(undefined2 *)(piVar1 + 2) = 1;
        FUN_004807c0((int)piVar1 + 10,0x6c,&DAT_0048b224,param_2);
        if (param_1 == 0) {
          *(undefined2 *)((int)piVar1 + 0x76) = 1;
          FUN_004807c0(piVar1 + 0x1e,0x6c,"%s_reply",param_2);
          FUN_0047f310(piVar1 + 0x1e);
          iVar2 = FUN_00484220(*piVar1,(int)piVar1 + 0x76,0x6e);
          if ((-1 < iVar2) && (iVar2 = FUN_00484280(*piVar1,piVar1 + 2,0x6e), -1 < iVar2)) {
            piVar1[1] = 0;
            return piVar1;
          }
        }
        else {
          FUN_0047f310((int)piVar1 + 10);
          iVar2 = FUN_00484220(*piVar1,piVar1 + 2,0x6e);
          if (-1 < iVar2) {
            piVar1[1] = 1;
            return piVar1;
          }
        }
      }
    }
  }
  if (0 < *piVar1) {
    FUN_0047ed20();
    piVar3 = piVar1 + 0x1e;
    if (param_1 != 0) {
      piVar3 = (int *)((int)piVar1 + 10);
    }
    FUN_0047f310(piVar3);
  }
  FUN_004859b0(piVar1);
  return (int *)0x0;
}