undefined4 FUN_00476208(int param_1,int param_2)

{
  int iVar1;
  undefined4 uVar2;
  int *piVar3;
  int iVar4;
  int local_28 [2];
  
  if (**(char **)(param_1 + 0xc) == 'J') {
    *(char **)(param_1 + 0xc) = *(char **)(param_1 + 0xc) + 1;
    param_2 = 1;
  }
  local_28[0] = 0;
  piVar3 = local_28;
  iVar4 = 0;
  while ((**(char **)(param_1 + 0xc) != '\0' && (**(char **)(param_1 + 0xc) != 'E'))) {
    iVar1 = FUN_004754f4(param_1);
    if (iVar1 == 0) {
      return 0;
    }
    if (param_2 == 0) {
      iVar1 = FUN_00473000(param_1,0x27,iVar1,0);
      *piVar3 = iVar1;
      piVar3 = (int *)(iVar1 + 8);
      if (iVar1 == 0) {
        return 0;
      }
    }
    else {
      param_2 = 0;
      iVar4 = iVar1;
    }
  }
  if (local_28[0] == 0) {
    return 0;
  }
  if (((*(int *)(local_28[0] + 8) == 0) && (**(int **)(local_28[0] + 4) == 0x22)) &&
     (iVar1 = (*(int **)(local_28[0] + 4))[1], *(int *)(iVar1 + 0x10) == 9)) {
    local_28[0] = 0;
    *(int *)(param_1 + 0x30) = *(int *)(param_1 + 0x30) - *(int *)(iVar1 + 4);
  }
  uVar2 = FUN_00473000(param_1,0x24,iVar4,local_28[0]);
  return uVar2;
}