
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 s_align(int arg,int bytes_p)

{
  char *pcVar1;
  char cVar2;
  int iVar3;
  char *pcVar4;
  uint uVar5;
  uint n;
  uint len;
  byte bVar6;
  ulonglong uVar7;
  offsetT oVar8;
  valueT val;
  char local_4c;
  byte *local_40;
  char fill_char;
  undefined4 uStack_14;
  
  uStack_14 = 0x2d2e9;
  iVar3 = stdoutput->arch_info->bits_per_address;
  bVar6 = *input_line_pointer;
  uVar5 = (uint)bVar6;
  cVar2 = is_end_of_line[uVar5];
  local_40 = (byte *)input_line_pointer;
  if (flag_mri == 0) {
    bVar6 = 0;
    local_40 = (byte *)0x0;
    if (cVar2 == '\0') goto LAB_0002d379;
LAB_0002d452:
    uVar7 = CONCAT44(uVar5,arg);
    if (-1 < arg) {
LAB_0002d390:
      n = (uint)uVar7;
      if (bytes_p == 0) goto LAB_0002d3c8;
LAB_0002d398:
      uVar5 = (uint)uVar7;
      n = uVar5;
      if (uVar5 != 0) {
        n = uVar5 & 1;
        if ((uVar7 & 1) == 0) {
          do {
            uVar5 = uVar5 >> 1;
            n = n + 1;
          } while ((uVar5 & 1) == 0);
          if (uVar5 == 1) goto LAB_0002d3c8;
        }
        else {
          if (uVar5 == 1) {
            n = 0;
            goto LAB_0002d404;
          }
          n = 0;
        }
        pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);
        as_bad(pcVar4);
        if (iVar3 - 1U < n) goto LAB_0002d3d7;
      }
      goto LAB_0002d404;
    }
    n = 0;
    if ((char)uVar5 == ',') goto LAB_0002d46b;
    uVar5 = 0;
    n = 0;
LAB_0002d53c:
    pcVar4 = (char *)dcgettext(0,"expected fill pattern missing",5);
    as_warn(pcVar4);
  }
  else {
    while (cVar2 == '\0') {
      local_40 = local_40 + 1;
      bVar6 = *local_40;
      cVar2 = is_end_of_line[bVar6];
    }
    *local_40 = 0;
    uVar5 = (uint)(byte)*input_line_pointer;
    if (is_end_of_line[uVar5] != '\0') goto LAB_0002d452;
LAB_0002d379:
    uVar7 = get_absolute_expr((expressionS *)&fill_char);
    n = (uint)uVar7;
    if (*input_line_pointer != ' ') goto LAB_0002d390;
    input_line_pointer = input_line_pointer + 1;
    if (bytes_p != 0) goto LAB_0002d398;
LAB_0002d3c8:
    if (iVar3 - 1U < n) {
LAB_0002d3d7:
      n = iVar3 - 1;
      pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);
      as_warn(pcVar4,n);
    }
LAB_0002d404:
    uVar5 = 0;
    if (*input_line_pointer == ',') {
LAB_0002d46b:
      if (input_line_pointer[1] != ',') {
        input_line_pointer = input_line_pointer + 1;
        val = get_absolute_expr((expressionS *)&fill_char);
        if (*input_line_pointer == ' ') {
          pcVar4 = input_line_pointer + 1;
          pcVar1 = input_line_pointer + 1;
          input_line_pointer = pcVar4;
          if (*pcVar1 != ',') goto LAB_0002d4e3;
LAB_0002d642:
          input_line_pointer = pcVar4 + 1;
          oVar8 = get_absolute_expr((expressionS *)&fill_char);
          uVar5 = (uint)oVar8;
        }
        else {
          pcVar4 = input_line_pointer;
          if (*input_line_pointer == ',') goto LAB_0002d642;
LAB_0002d4e3:
          uVar5 = 0;
        }
        if (arg < -1) {
          len = -arg;
          if (arg < -0x10) {
            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);
            as_warn(pcVar4,0x10);
            len = 0x10;
          }
          number_to_chars_bigendian(&fill_char,val,len);
          do_align(n,&fill_char,len,uVar5);
        }
        else {
          local_4c = (char)val;
          fill_char = local_4c;
          do_align(n,&fill_char,1,uVar5);
        }
        goto LAB_0002d428;
      }
      input_line_pointer = input_line_pointer + 2;
      oVar8 = get_absolute_expr((expressionS *)&fill_char);
      uVar5 = (uint)oVar8;
    }
    if (arg < 0) goto LAB_0002d53c;
  }
  do_align(n,(char *)0x0,0,uVar5);
LAB_0002d428:
  demand_empty_rest_of_line();
  if (flag_mri != 0) {
    mri_comment_end((char *)local_40,(int)(char)bVar6);
    return;
  }
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 FUN_0002d2e0(uint param_1,int param_2)

{
  byte *pbVar1;
  char cVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  byte *pbVar5;
  byte bVar6;
  int iVar7;
  uint uVar8;
  byte bVar9;
  undefined8 uVar10;
  uint local_4c;
  byte *local_40;
  undefined1 local_30 [28];
  undefined4 uStack_14;
  
  uStack_14 = 0x2d2e9;
  iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);
  bVar6 = *DAT_00070ff8;
  cVar2 = (&DAT_000682e0)[bVar6];
  bVar9 = bVar6;
  local_40 = DAT_00070ff8;
  if (DAT_00070f28 == 0) {
    bVar9 = 0;
    local_40 = (byte *)0x0;
    if (cVar2 == '\0') goto LAB_0002d379;
LAB_0002d452:
    local_4c = param_1;
    if (-1 < (int)param_1) {
LAB_0002d390:
      uVar8 = local_4c;
      if (param_2 == 0) goto LAB_0002d3c8;
LAB_0002d398:
      local_4c = uVar8;
      if (uVar8 != 0) {
        if ((uVar8 & 1) == 0) {
          local_4c = 0;
          do {
            uVar8 = uVar8 >> 1;
            local_4c = local_4c + 1;
          } while ((uVar8 & 1) == 0);
          if (uVar8 == 1) goto LAB_0002d3c8;
        }
        else {
          if (uVar8 == 1) {
            local_4c = 0;
            goto LAB_0002d404;
          }
          local_4c = 0;
        }
        uVar3 = dcgettext(0,"alignment not a power of 2",5);
        FUN_0002ac50(uVar3);
        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;
      }
      goto LAB_0002d404;
    }
    uVar8 = 0;
    if (bVar6 == 0x2c) goto LAB_0002d46b;
    uVar3 = 0;
    uVar8 = 0;
LAB_0002d53c:
    uVar4 = dcgettext(0,"expected fill pattern missing",5);
    FUN_0002ab70(uVar4);
  }
  else {
    while (cVar2 == '\0') {
      local_40 = local_40 + 1;
      bVar9 = *local_40;
      cVar2 = (&DAT_000682e0)[*local_40];
    }
    *local_40 = 0;
    bVar6 = *DAT_00070ff8;
    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;
LAB_0002d379:
    local_4c = FUN_0002b380();
    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;
    DAT_00070ff8 = DAT_00070ff8 + 1;
    uVar8 = local_4c;
    if (param_2 != 0) goto LAB_0002d398;
LAB_0002d3c8:
    if (iVar7 - 1U < local_4c) {
LAB_0002d3d7:
      local_4c = iVar7 - 1;
      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);
      FUN_0002ab70(uVar3,local_4c);
    }
LAB_0002d404:
    uVar3 = 0;
    uVar8 = local_4c;
    if (*DAT_00070ff8 == 0x2c) {
LAB_0002d46b:
      if (DAT_00070ff8[1] != 0x2c) {
        DAT_00070ff8 = DAT_00070ff8 + 1;
        uVar10 = FUN_0002b380();
        if (*DAT_00070ff8 == 0x20) {
          pbVar5 = DAT_00070ff8 + 1;
          pbVar1 = DAT_00070ff8 + 1;
          DAT_00070ff8 = pbVar5;
          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;
LAB_0002d642:
          DAT_00070ff8 = pbVar5 + 1;
          uVar3 = FUN_0002b380();
        }
        else {
          pbVar5 = DAT_00070ff8;
          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;
LAB_0002d4e3:
          uVar3 = 0;
        }
        if ((int)param_1 < -1) {
          iVar7 = -param_1;
          if ((int)param_1 < -0x10) {
            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);
            FUN_0002ab70(uVar4,0x10);
            iVar7 = 0x10;
          }
          FUN_0003fb00(local_30,uVar10,iVar7);
          FUN_0002c730(uVar8,local_30,iVar7,uVar3);
        }
        else {
          local_4c._0_1_ = (undefined1)uVar10;
          local_30[0] = (undefined1)local_4c;
          FUN_0002c730(uVar8,local_30,1,uVar3);
        }
        goto LAB_0002d428;
      }
      DAT_00070ff8 = DAT_00070ff8 + 2;
      uVar3 = FUN_0002b380();
    }
    if ((int)param_1 < 0) goto LAB_0002d53c;
  }
  FUN_0002c730(uVar8,0,0,uVar3);
LAB_0002d428:
  FUN_0002d190();
  if (DAT_00070f28 != 0) {
    FUN_0002c940(local_40,(int)(char)bVar9);
    return;
  }
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00015020
ADD EBX,0x3ad17
SUB ESP,0x4c
MOV dword ptr [ESP + 0x8],EAX
MOV dword ptr [ESP + 0x10],EDX
LEA EAX,[EBX + 0x8fc4]
LEA EBP,[EBX + 0x8ff8]
LEA EDI,[EBX + 0x8f28]
MOV EAX,dword ptr [EAX]
MOV ESI,dword ptr [EDI]
MOV dword ptr [ESP + 0xc],EDI
MOV EAX,dword ptr [EAX + 0x84]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EBP]
MOVZX ECX,byte ptr [EAX]
MOV EDX,ECX
MOVZX ECX,byte ptr [EBX + ECX*0x1 + 0x2e0]
TEST ESI,ESI
JZ 0x0002d440
TEST CL,CL
JNZ 0x0002d356
LEA ECX,[EBX + 0x2e0]
LEA ESI,[ESI]
NOP
ADD EAX,0x1
MOVZX ESI,byte ptr [EAX]
CMP byte ptr [ECX + ESI*0x1],0x0
MOV EDX,ESI
JZ 0x0002d348
MOV byte ptr [EAX],0x0
MOV ESI,dword ptr [EBP]
MOV EDI,EDX
MOV dword ptr [ESP + 0x1c],EAX
MOVZX ECX,byte ptr [ESI]
MOV EAX,ESI
MOV EDX,ECX
MOVZX ECX,byte ptr [EBX + ECX*0x1 + 0x2e0]
TEST CL,CL
JNZ 0x0002d452
LEA EAX,[ESP + 0x2c]
CALL 0x0002b380
MOV ESI,EAX
MOV EAX,dword ptr [EBP]
CMP byte ptr [EAX],0x20
JZ 0x0002d570
MOV EAX,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0002d3c8
TEST ESI,ESI
JZ 0x0002d404
MOV EDX,ESI
AND EDX,0x1
JNZ 0x0002d65e
LEA ESI,[ESI]
NOP
SHR ESI,0x1
ADD EDX,0x1
TEST ESI,0x1
JZ 0x0002d3b0
CMP ESI,0x1
JNZ 0x0002d590
MOV ESI,EDX
MOV EDX,dword ptr [ESP + 0x18]
SUB EDX,0x1
CMP ESI,EDX
MOV dword ptr [ESP + 0x10],EDX
JBE 0x0002d404
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe6878]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
POP EDX
POP ECX
MOV EDX,dword ptr [ESP + 0x18]
PUSH EDX
MOV dword ptr [ESP + 0x1c],EDX
PUSH EAX
CALL 0x0002ab70
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x10]
MOV ESI,EDX
MOV EAX,dword ptr [EBP]
XOR EDX,EDX
CMP byte ptr [EAX],0x2c
JZ 0x0002d46b
MOV EBP,dword ptr [ESP + 0x8]
TEST EBP,EBP
JS 0x0002d53c
PUSH EDX
PUSH 0x0
PUSH 0x0
PUSH ESI
CALL 0x0002c730
ADD ESP,0x10
CALL 0x0002d190
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x0002d490
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
XOR EDI,EDI
MOV dword ptr [ESP + 0x1c],0x0
TEST CL,CL
JZ 0x0002d379
MOV ECX,dword ptr [ESP + 0x8]
MOV ESI,ECX
TEST ECX,ECX
JNS 0x0002d390
XOR ESI,ESI
CMP DL,0x2c
JNZ 0x0002d538
LEA EDX,[EAX + 0x1]
MOV dword ptr [EBP],EDX
CMP byte ptr [EAX + 0x1],0x2c
JNZ 0x0002d4b0
ADD EAX,0x2
MOV dword ptr [EBP],EAX
LEA EAX,[ESP + 0x2c]
CALL 0x0002b380
MOV EDX,EAX
JMP 0x0002d40e
MOV EAX,EDI
SUB ESP,0x8
MOVSX EDI,AL
PUSH EDI
PUSH dword ptr [ESP + 0x28]
CALL 0x0002c940
ADD ESP,0x10
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA ECX,[ESP + 0x2c]
MOV EAX,ECX
MOV dword ptr [ESP + 0x18],ECX
CALL 0x0002b380
MOV ECX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [EBP]
MOV dword ptr [ESP + 0x14],EDX
MOVZX EDX,byte ptr [EAX]
CMP DL,0x20
JZ 0x0002d630
CMP DL,0x2c
JZ 0x0002d642
XOR EBP,EBP
CMP dword ptr [ESP + 0x8],-0x1
JGE 0x0002d5d0
MOV EDX,dword ptr [ESP + 0x8]
NEG EDX
CMP dword ptr [ESP + 0x8],-0x10
MOV EAX,EDX
JL 0x0002d5f0
MOV dword ptr [ESP + 0x18],EAX
PUSH EDX
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH ECX
MOV dword ptr [ESP + 0x18],ECX
CALL 0x0003fb00
PUSH EBP
MOV EAX,dword ptr [ESP + 0x2c]
PUSH EAX
MOV ECX,dword ptr [ESP + 0x20]
PUSH ECX
PUSH ESI
CALL 0x0002c730
ADD ESP,0x20
JMP 0x0002d428
XOR EDX,EDX
XOR ESI,ESI
MOV dword ptr [ESP + 0x8],EDX
LEA EAX,[EBX + 0xfffe71d7]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
MOV dword ptr [ESP],EAX
CALL 0x0002ab70
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x8]
JMP 0x0002d41a
ADD EAX,0x1
MOV dword ptr [EBP],EAX
MOV EAX,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0002d3c8
JMP 0x0002d398
XOR EDX,EDX
LEA ESI,[ESI]
MOV dword ptr [ESP + 0x10],EDX
LEA EAX,[EBX + 0xfffe719f]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
MOV dword ptr [ESP],EAX
CALL 0x0002ac50
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x10]
MOV ESI,EDX
MOV EDX,dword ptr [ESP + 0x18]
SUB EDX,0x1
CMP ESI,EDX
MOV dword ptr [ESP + 0x10],EDX
JA 0x0002d3d7
JMP 0x0002d404
MOVZX EAX,byte ptr [ESP + 0x10]
MOV byte ptr [ESP + 0x2c],AL
PUSH EBP
PUSH 0x1
PUSH ECX
PUSH ESI
CALL 0x0002c730
ADD ESP,0x10
JMP 0x0002d428
MOV dword ptr [ESP + 0x8],ECX
LEA EAX,[EBX + 0xfffe6898]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
POP EDX
POP ECX
PUSH 0x10
PUSH EAX
CALL 0x0002ab70
ADD ESP,0x10
MOV EDX,0x10
MOV EAX,0x10
MOV ECX,dword ptr [ESP + 0x8]
JMP 0x0002d503
LEA EDX,[EAX + 0x1]
MOV dword ptr [EBP],EDX
CMP byte ptr [EAX + 0x1],0x2c
JNZ 0x0002d4e3
MOV EAX,EDX
ADD EAX,0x1
MOV dword ptr [ESP + 0x18],ECX
MOV dword ptr [EBP],EAX
MOV EAX,ECX
CALL 0x0002b380
MOV ECX,dword ptr [ESP + 0x18]
MOV EBP,EAX
JMP 0x0002d4e5
CMP ESI,0x1
JNZ 0x0002d587
XOR ESI,ESI
JMP 0x0002d404
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_0002d2e0(uint param_1,int param_2)\n\n{\n  byte *pbVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  byte bVar9;\n  undefined8 uVar10;\n  uint local_4c;\n  byte *local_40;\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);\n  bVar6 = *DAT_00070ff8;\n  cVar2 = (&DAT_000682e0)[bVar6];\n  bVar9 = bVar6;\n  local_40 = DAT_00070ff8;\n  if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }\n  FUN_0002c730(uVar8,0,0,uVar3);\nLAB_0002d428:\n  FUN_0002d190();\n  if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_0002d2e0(uint param_1,int param_2)\n\n{\n  byte *pbVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  byte bVar9;\n  undefined8 uVar10;\n  uint local_4c;\n  byte *local_40;\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);\n  bVar6 = *DAT_00070ff8;\n  cVar2 = (&DAT_000682e0)[bVar6];\n  bVar9 = bVar6;\n  local_40 = DAT_00070ff8;\n  if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }\n  FUN_0002c730(uVar8,0,0,uVar3);\nLAB_0002d428:\n  FUN_0002d190();\n  if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0002d2e0(uint param_1,int param_2)" identifier (parameter_list "(uint param_1,int param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  byte bVar9;\n  undefined8 uVar10;\n  uint local_4c;\n  byte *local_40;\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);\n  bVar6 = *DAT_00070ff8;\n  cVar2 = (&DAT_000682e0)[bVar6];\n  bVar9 = bVar6;\n  local_40 = DAT_00070ff8;\n  if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }\n  FUN_0002c730(uVar8,0,0,uVar3);\nLAB_0002d428:\n  FUN_0002d190();\n  if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }\n  return;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "byte *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined1 local_30 [28];" type_identifier (array_declarator "local_30 [28]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2d2e9;" (assignment_expression "uStack_14 = 0x2d2e9" identifier = number_literal) ;) (expression_statement "iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);" (assignment_expression "iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4)" * (cast_expression "(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00070fc4 + 0x84) + 4)" ( (binary_expression "*(int *)(DAT_00070fc4 + 0x84) + 4" (pointer_expression "*(int *)(DAT_00070fc4 + 0x84)" * (cast_expression "(int *)(DAT_00070fc4 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00070fc4 + 0x84)" ( (binary_expression "DAT_00070fc4 + 0x84" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar6 = *DAT_00070ff8;" (assignment_expression "bVar6 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (expression_statement "cVar2 = (&DAT_000682e0)[bVar6];" (assignment_expression "cVar2 = (&DAT_000682e0)[bVar6]" identifier = (subscript_expression "(&DAT_000682e0)[bVar6]" (parenthesized_expression "(&DAT_000682e0)" ( (pointer_expression "&DAT_000682e0" & identifier) )) [ identifier ])) ;) (expression_statement "bVar9 = bVar6;" (assignment_expression "bVar9 = bVar6" identifier = identifier) ;) (expression_statement "local_40 = DAT_00070ff8;" (assignment_expression "local_40 = DAT_00070ff8" identifier = identifier) ;) (if_statement "if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }" if (parenthesized_expression "(DAT_00070f28 == 0)" ( (binary_expression "DAT_00070f28 == 0" identifier == number_literal) )) (compound_statement "{\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }" { (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" identifier = number_literal) ;) (expression_statement "local_40 = (byte *)0x0;" (assignment_expression "local_40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (cVar2 == '\0') goto LAB_0002d379;" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0002d379;" goto statement_identifier ;)) (labeled_statement "LAB_0002d452:\n    local_4c = param_1;" statement_identifier : (expression_statement "local_4c = param_1;" (assignment_expression "local_4c = param_1" identifier = identifier) ;)) (if_statement "if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }" if (parenthesized_expression "(-1 < (int)param_1)" ( (binary_expression "-1 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }" { (labeled_statement "LAB_0002d390:\n      uVar8 = local_4c;" statement_identifier : (expression_statement "uVar8 = local_4c;" (assignment_expression "uVar8 = local_4c" identifier = identifier) ;)) (if_statement "if (param_2 == 0) goto LAB_0002d3c8;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002d3c8;" goto statement_identifier ;)) (labeled_statement "LAB_0002d398:\n      local_4c = uVar8;" statement_identifier : (expression_statement "local_4c = uVar8;" (assignment_expression "local_4c = uVar8" identifier = identifier) ;)) (if_statement "if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }" { (if_statement "if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }" if (parenthesized_expression "((uVar8 & 1) == 0)" ( (binary_expression "(uVar8 & 1) == 0" (parenthesized_expression "(uVar8 & 1)" ( (binary_expression "uVar8 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (do_statement "do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);" do (compound_statement "{\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          }" { (expression_statement "uVar8 = uVar8 >> 1;" (assignment_expression "uVar8 = uVar8 >> 1" identifier = (binary_expression "uVar8 >> 1" identifier >> number_literal)) ;) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" identifier = (binary_expression "local_4c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((uVar8 & 1) == 0)" ( (binary_expression "(uVar8 & 1) == 0" (parenthesized_expression "(uVar8 & 1)" ( (binary_expression "uVar8 & 1" identifier & number_literal) )) == number_literal) )) ;) (if_statement "if (uVar8 == 1) goto LAB_0002d3c8;" if (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0002d3c8;" goto statement_identifier ;)) }) (else_clause "else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }" else (compound_statement "{\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }" { (if_statement "if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }" if (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) )) (compound_statement "{\n            local_4c = 0;\n            goto LAB_0002d404;\n          }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002d404;" goto statement_identifier ;) })) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) }))) (expression_statement "uVar3 = dcgettext(0,"alignment not a power of 2",5);" (assignment_expression "uVar3 = dcgettext(0,"alignment not a power of 2",5)" identifier = (call_expression "dcgettext(0,"alignment not a power of 2",5)" identifier (argument_list "(0,"alignment not a power of 2",5)" ( number_literal , (string_literal ""alignment not a power of 2"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ac50(uVar3);" (call_expression "FUN_0002ac50(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (if_statement "if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;" if (parenthesized_expression "(iVar7 - 1U < local_4c)" ( (binary_expression "iVar7 - 1U < local_4c" (binary_expression "iVar7 - 1U" identifier - number_literal) < identifier) )) (goto_statement "goto LAB_0002d3d7;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0002d404;" goto statement_identifier ;) })) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (bVar6 == 0x2c) goto LAB_0002d46b;" if (parenthesized_expression "(bVar6 == 0x2c)" ( (binary_expression "bVar6 == 0x2c" identifier == number_literal) )) (goto_statement "goto LAB_0002d46b;" goto statement_identifier ;)) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,"expected fill pattern missing",5);" (assignment_expression "uVar4 = dcgettext(0,"expected fill pattern missing",5)" identifier = (call_expression "dcgettext(0,"expected fill pattern missing",5)" identifier (argument_list "(0,"expected fill pattern missing",5)" ( number_literal , (string_literal ""expected fill pattern missing"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_0002ab70(uVar4);" (call_expression "FUN_0002ab70(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) }) (else_clause "else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }" else (compound_statement "{\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }" { (while_statement "while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }" while (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }" { (expression_statement "local_40 = local_40 + 1;" (assignment_expression "local_40 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) (expression_statement "bVar9 = *local_40;" (assignment_expression "bVar9 = *local_40" identifier = (pointer_expression "*local_40" * identifier)) ;) (expression_statement "cVar2 = (&DAT_000682e0)[*local_40];" (assignment_expression "cVar2 = (&DAT_000682e0)[*local_40]" identifier = (subscript_expression "(&DAT_000682e0)[*local_40]" (parenthesized_expression "(&DAT_000682e0)" ( (pointer_expression "&DAT_000682e0" & identifier) )) [ (pointer_expression "*local_40" * identifier) ])) ;) })) (expression_statement "*local_40 = 0;" (assignment_expression "*local_40 = 0" (pointer_expression "*local_40" * identifier) = number_literal) ;) (expression_statement "bVar6 = *DAT_00070ff8;" (assignment_expression "bVar6 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (if_statement "if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;" if (parenthesized_expression "((&DAT_000682e0)[bVar6] != '\0')" ( (binary_expression "(&DAT_000682e0)[bVar6] != '\0'" (subscript_expression "(&DAT_000682e0)[bVar6]" (parenthesized_expression "(&DAT_000682e0)" ( (pointer_expression "&DAT_000682e0" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0002d452;" goto statement_identifier ;)) (labeled_statement "LAB_0002d379:\n    local_4c = FUN_0002b380();" statement_identifier : (expression_statement "local_4c = FUN_0002b380();" (assignment_expression "local_4c = FUN_0002b380()" identifier = (call_expression "FUN_0002b380()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;" if (parenthesized_expression "(*DAT_00070ff8 != 0x20)" ( (binary_expression "*DAT_00070ff8 != 0x20" (pointer_expression "*DAT_00070ff8" * identifier) != number_literal) )) (goto_statement "goto LAB_0002d390;" goto statement_identifier ;)) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = local_4c;" (assignment_expression "uVar8 = local_4c" identifier = identifier) ;) (if_statement "if (param_2 != 0) goto LAB_0002d398;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002d398;" goto statement_identifier ;)) (labeled_statement "LAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }" statement_identifier : (if_statement "if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }" if (parenthesized_expression "(iVar7 - 1U < local_4c)" ( (binary_expression "iVar7 - 1U < local_4c" (binary_expression "iVar7 - 1U" identifier - number_literal) < identifier) )) (compound_statement "{\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }" { (labeled_statement "LAB_0002d3d7:\n      local_4c = iVar7 - 1;" statement_identifier : (expression_statement "local_4c = iVar7 - 1;" (assignment_expression "local_4c = iVar7 - 1" identifier = (binary_expression "iVar7 - 1" identifier - number_literal)) ;)) (expression_statement "uVar3 = dcgettext(0,"alignment too large: %u assumed",5);" (assignment_expression "uVar3 = dcgettext(0,"alignment too large: %u assumed",5)" identifier = (call_expression "dcgettext(0,"alignment too large: %u assumed",5)" identifier (argument_list "(0,"alignment too large: %u assumed",5)" ( number_literal , (string_literal ""alignment too large: %u assumed"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ab70(uVar3,local_4c);" (call_expression "FUN_0002ab70(uVar3,local_4c)" identifier (argument_list "(uVar3,local_4c)" ( identifier , identifier ))) ;) }))) (labeled_statement "LAB_0002d404:\n    uVar3 = 0;" statement_identifier : (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;)) (expression_statement "uVar8 = local_4c;" (assignment_expression "uVar8 = local_4c" identifier = identifier) ;) (if_statement "if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }" if (parenthesized_expression "(*DAT_00070ff8 == 0x2c)" ( (binary_expression "*DAT_00070ff8 == 0x2c" (pointer_expression "*DAT_00070ff8" * identifier) == number_literal) )) (compound_statement "{\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }" { (labeled_statement "LAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }" statement_identifier : (if_statement "if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }" if (parenthesized_expression "(DAT_00070ff8[1] != 0x2c)" ( (binary_expression "DAT_00070ff8[1] != 0x2c" (subscript_expression "DAT_00070ff8[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }" { (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = FUN_0002b380();" (assignment_expression "uVar10 = FUN_0002b380()" identifier = (call_expression "FUN_0002b380()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }" if (parenthesized_expression "(*DAT_00070ff8 == 0x20)" ( (binary_expression "*DAT_00070ff8 == 0x20" (pointer_expression "*DAT_00070ff8" * identifier) == number_literal) )) (compound_statement "{\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }" { (expression_statement "pbVar5 = DAT_00070ff8 + 1;" (assignment_expression "pbVar5 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar1 = DAT_00070ff8 + 1;" (assignment_expression "pbVar1 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "DAT_00070ff8 = pbVar5;" (assignment_expression "DAT_00070ff8 = pbVar5" identifier = identifier) ;) (if_statement "if (*pbVar1 != 0x2c) goto LAB_0002d4e3;" if (parenthesized_expression "(*pbVar1 != 0x2c)" ( (binary_expression "*pbVar1 != 0x2c" (pointer_expression "*pbVar1" * identifier) != number_literal) )) (goto_statement "goto LAB_0002d4e3;" goto statement_identifier ;)) (labeled_statement "LAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;" statement_identifier : (expression_statement "DAT_00070ff8 = pbVar5 + 1;" (assignment_expression "DAT_00070ff8 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;)) (expression_statement "uVar3 = FUN_0002b380();" (assignment_expression "uVar3 = FUN_0002b380()" identifier = (call_expression "FUN_0002b380()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }" else (compound_statement "{\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }" { (expression_statement "pbVar5 = DAT_00070ff8;" (assignment_expression "pbVar5 = DAT_00070ff8" identifier = identifier) ;) (if_statement "if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;" if (parenthesized_expression "(*DAT_00070ff8 == 0x2c)" ( (binary_expression "*DAT_00070ff8 == 0x2c" (pointer_expression "*DAT_00070ff8" * identifier) == number_literal) )) (goto_statement "goto LAB_0002d642;" goto statement_identifier ;)) (labeled_statement "LAB_0002d4e3:\n          uVar3 = 0;" statement_identifier : (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;)) }))) (if_statement "if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }" if (parenthesized_expression "((int)param_1 < -1)" ( (binary_expression "(int)param_1 < -1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }" { (expression_statement "iVar7 = -param_1;" (assignment_expression "iVar7 = -param_1" identifier = (unary_expression "-param_1" - identifier)) ;) (if_statement "if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }" if (parenthesized_expression "((int)param_1 < -0x10)" ( (binary_expression "(int)param_1 < -0x10" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }" { (expression_statement "uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);" (assignment_expression "uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5)" identifier = (call_expression "dcgettext(0,"fill pattern too long, truncating to %u",5)" identifier (argument_list "(0,"fill pattern too long, truncating to %u",5)" ( number_literal , (string_literal ""fill pattern too long, truncating to %u"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ab70(uVar4,0x10);" (call_expression "FUN_0002ab70(uVar4,0x10)" identifier (argument_list "(uVar4,0x10)" ( identifier , number_literal ))) ;) (expression_statement "iVar7 = 0x10;" (assignment_expression "iVar7 = 0x10" identifier = number_literal) ;) })) (expression_statement "FUN_0003fb00(local_30,uVar10,iVar7);" (call_expression "FUN_0003fb00(local_30,uVar10,iVar7)" identifier (argument_list "(local_30,uVar10,iVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0002c730(uVar8,local_30,iVar7,uVar3);" (call_expression "FUN_0002c730(uVar8,local_30,iVar7,uVar3)" identifier (argument_list "(uVar8,local_30,iVar7,uVar3)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }" else (compound_statement "{\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }" { (expression_statement "local_4c._0_1_ = (undefined1)uVar10;" (assignment_expression "local_4c._0_1_ = (undefined1)uVar10" (field_expression "local_4c._0_1_" identifier . field_identifier) = (cast_expression "(undefined1)uVar10" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "local_30[0] = (undefined1)local_4c;" (assignment_expression "local_30[0] = (undefined1)local_4c" (subscript_expression "local_30[0]" identifier [ number_literal ]) = (cast_expression "(undefined1)local_4c" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "FUN_0002c730(uVar8,local_30,1,uVar3);" (call_expression "FUN_0002c730(uVar8,local_30,1,uVar3)" identifier (argument_list "(uVar8,local_30,1,uVar3)" ( identifier , identifier , number_literal , identifier ))) ;) }))) (goto_statement "goto LAB_0002d428;" goto statement_identifier ;) }))) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 2;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 2" identifier = (binary_expression "DAT_00070ff8 + 2" identifier + number_literal)) ;) (expression_statement "uVar3 = FUN_0002b380();" (assignment_expression "uVar3 = FUN_0002b380()" identifier = (call_expression "FUN_0002b380()" identifier (argument_list "()" ( )))) ;) })) (if_statement "if ((int)param_1 < 0) goto LAB_0002d53c;" if (parenthesized_expression "((int)param_1 < 0)" ( (binary_expression "(int)param_1 < 0" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_0002d53c;" goto statement_identifier ;)) }))) (expression_statement "FUN_0002c730(uVar8,0,0,uVar3);" (call_expression "FUN_0002c730(uVar8,0,0,uVar3)" identifier (argument_list "(uVar8,0,0,uVar3)" ( identifier , number_literal , number_literal , identifier ))) ;) (labeled_statement "LAB_0002d428:\n  FUN_0002d190();" statement_identifier : (expression_statement "FUN_0002d190();" (call_expression "FUN_0002d190()" identifier (argument_list "()" ( ))) ;)) (if_statement "if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }" if (parenthesized_expression "(DAT_00070f28 != 0)" ( (binary_expression "DAT_00070f28 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }" { (expression_statement "FUN_0002c940(local_40,(int)(char)bVar9);" (call_expression "FUN_0002c940(local_40,(int)(char)bVar9)" identifier (argument_list "(local_40,(int)(char)bVar9)" ( identifier , (cast_expression "(int)(char)bVar9" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 s_align(int arg,int bytes_p)\n\n{\n  char *pcVar1;\n  char cVar2;\n  int iVar3;\n  char *pcVar4;\n  uint uVar5;\n  uint n;\n  uint len;\n  byte bVar6;\n  ulonglong uVar7;\n  offsetT oVar8;\n  valueT val;\n  char local_4c;\n  byte *local_40;\n  char fill_char;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar3 = stdoutput->arch_info->bits_per_address;\n  bVar6 = *input_line_pointer;\n  uVar5 = (uint)bVar6;\n  cVar2 = is_end_of_line[uVar5];\n  local_40 = (byte *)input_line_pointer;\n  if (flag_mri == 0) {\n    bVar6 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    uVar7 = CONCAT44(uVar5,arg);\n    if (-1 < arg) {\nLAB_0002d390:\n      n = (uint)uVar7;\n      if (bytes_p == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      uVar5 = (uint)uVar7;\n      n = uVar5;\n      if (uVar5 != 0) {\n        n = uVar5 & 1;\n        if ((uVar7 & 1) == 0) {\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }\n        pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);\n        as_bad(pcVar4);\n        if (iVar3 - 1U < n) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    n = 0;\n    if ((char)uVar5 == ',') goto LAB_0002d46b;\n    uVar5 = 0;\n    n = 0;\nLAB_0002d53c:\n    pcVar4 = (char *)dcgettext(0,"expected fill pattern missing",5);\n    as_warn(pcVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar6 = *local_40;\n      cVar2 = is_end_of_line[bVar6];\n    }\n    *local_40 = 0;\n    uVar5 = (uint)(byte)*input_line_pointer;\n    if (is_end_of_line[uVar5] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    uVar7 = get_absolute_expr((expressionS *)&fill_char);\n    n = (uint)uVar7;\n    if (*input_line_pointer != ' ') goto LAB_0002d390;\n    input_line_pointer = input_line_pointer + 1;\n    if (bytes_p != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar3 - 1U < n) {\nLAB_0002d3d7:\n      n = iVar3 - 1;\n      pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);\n      as_warn(pcVar4,n);\n    }\nLAB_0002d404:\n    uVar5 = 0;\n    if (*input_line_pointer == ',') {\nLAB_0002d46b:\n      if (input_line_pointer[1] != ',') {\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }\n      input_line_pointer = input_line_pointer + 2;\n      oVar8 = get_absolute_expr((expressionS *)&fill_char);\n      uVar5 = (uint)oVar8;\n    }\n    if (arg < 0) goto LAB_0002d53c;\n  }\n  do_align(n,(char *)0x0,0,uVar5);\nLAB_0002d428:\n  demand_empty_rest_of_line();\n  if (flag_mri != 0) {\n    mri_comment_end((char *)local_40,(int)(char)bVar6);\n    return;\n  }\n  return;\n}\n\n" comment (function_definition "void __regparm3 s_align(int arg,int bytes_p)\n\n{\n  char *pcVar1;\n  char cVar2;\n  int iVar3;\n  char *pcVar4;\n  uint uVar5;\n  uint n;\n  uint len;\n  byte bVar6;\n  ulonglong uVar7;\n  offsetT oVar8;\n  valueT val;\n  char local_4c;\n  byte *local_40;\n  char fill_char;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar3 = stdoutput->arch_info->bits_per_address;\n  bVar6 = *input_line_pointer;\n  uVar5 = (uint)bVar6;\n  cVar2 = is_end_of_line[uVar5];\n  local_40 = (byte *)input_line_pointer;\n  if (flag_mri == 0) {\n    bVar6 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    uVar7 = CONCAT44(uVar5,arg);\n    if (-1 < arg) {\nLAB_0002d390:\n      n = (uint)uVar7;\n      if (bytes_p == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      uVar5 = (uint)uVar7;\n      n = uVar5;\n      if (uVar5 != 0) {\n        n = uVar5 & 1;\n        if ((uVar7 & 1) == 0) {\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }\n        pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);\n        as_bad(pcVar4);\n        if (iVar3 - 1U < n) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    n = 0;\n    if ((char)uVar5 == ',') goto LAB_0002d46b;\n    uVar5 = 0;\n    n = 0;\nLAB_0002d53c:\n    pcVar4 = (char *)dcgettext(0,"expected fill pattern missing",5);\n    as_warn(pcVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar6 = *local_40;\n      cVar2 = is_end_of_line[bVar6];\n    }\n    *local_40 = 0;\n    uVar5 = (uint)(byte)*input_line_pointer;\n    if (is_end_of_line[uVar5] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    uVar7 = get_absolute_expr((expressionS *)&fill_char);\n    n = (uint)uVar7;\n    if (*input_line_pointer != ' ') goto LAB_0002d390;\n    input_line_pointer = input_line_pointer + 1;\n    if (bytes_p != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar3 - 1U < n) {\nLAB_0002d3d7:\n      n = iVar3 - 1;\n      pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);\n      as_warn(pcVar4,n);\n    }\nLAB_0002d404:\n    uVar5 = 0;\n    if (*input_line_pointer == ',') {\nLAB_0002d46b:\n      if (input_line_pointer[1] != ',') {\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }\n      input_line_pointer = input_line_pointer + 2;\n      oVar8 = get_absolute_expr((expressionS *)&fill_char);\n      uVar5 = (uint)oVar8;\n    }\n    if (arg < 0) goto LAB_0002d53c;\n  }\n  do_align(n,(char *)0x0,0,uVar5);\nLAB_0002d428:\n  demand_empty_rest_of_line();\n  if (flag_mri != 0) {\n    mri_comment_end((char *)local_40,(int)(char)bVar6);\n    return;\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "s_align(int arg,int bytes_p)" identifier (parameter_list "(int arg,int bytes_p)" ( (parameter_declaration "int arg" primitive_type identifier) , (parameter_declaration "int bytes_p" primitive_type identifier) ))) (compound_statement "{\n  char *pcVar1;\n  char cVar2;\n  int iVar3;\n  char *pcVar4;\n  uint uVar5;\n  uint n;\n  uint len;\n  byte bVar6;\n  ulonglong uVar7;\n  offsetT oVar8;\n  valueT val;\n  char local_4c;\n  byte *local_40;\n  char fill_char;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar3 = stdoutput->arch_info->bits_per_address;\n  bVar6 = *input_line_pointer;\n  uVar5 = (uint)bVar6;\n  cVar2 = is_end_of_line[uVar5];\n  local_40 = (byte *)input_line_pointer;\n  if (flag_mri == 0) {\n    bVar6 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    uVar7 = CONCAT44(uVar5,arg);\n    if (-1 < arg) {\nLAB_0002d390:\n      n = (uint)uVar7;\n      if (bytes_p == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      uVar5 = (uint)uVar7;\n      n = uVar5;\n      if (uVar5 != 0) {\n        n = uVar5 & 1;\n        if ((uVar7 & 1) == 0) {\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }\n        pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);\n        as_bad(pcVar4);\n        if (iVar3 - 1U < n) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    n = 0;\n    if ((char)uVar5 == ',') goto LAB_0002d46b;\n    uVar5 = 0;\n    n = 0;\nLAB_0002d53c:\n    pcVar4 = (char *)dcgettext(0,"expected fill pattern missing",5);\n    as_warn(pcVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar6 = *local_40;\n      cVar2 = is_end_of_line[bVar6];\n    }\n    *local_40 = 0;\n    uVar5 = (uint)(byte)*input_line_pointer;\n    if (is_end_of_line[uVar5] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    uVar7 = get_absolute_expr((expressionS *)&fill_char);\n    n = (uint)uVar7;\n    if (*input_line_pointer != ' ') goto LAB_0002d390;\n    input_line_pointer = input_line_pointer + 1;\n    if (bytes_p != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar3 - 1U < n) {\nLAB_0002d3d7:\n      n = iVar3 - 1;\n      pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);\n      as_warn(pcVar4,n);\n    }\nLAB_0002d404:\n    uVar5 = 0;\n    if (*input_line_pointer == ',') {\nLAB_0002d46b:\n      if (input_line_pointer[1] != ',') {\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }\n      input_line_pointer = input_line_pointer + 2;\n      oVar8 = get_absolute_expr((expressionS *)&fill_char);\n      uVar5 = (uint)oVar8;\n    }\n    if (arg < 0) goto LAB_0002d53c;\n  }\n  do_align(n,(char *)0x0,0,uVar5);\nLAB_0002d428:\n  demand_empty_rest_of_line();\n  if (flag_mri != 0) {\n    mri_comment_end((char *)local_40,(int)(char)bVar6);\n    return;\n  }\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint n;" type_identifier identifier ;) (declaration "uint len;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "ulonglong uVar7;" type_identifier identifier ;) (declaration "offsetT oVar8;" type_identifier identifier ;) (declaration "valueT val;" type_identifier identifier ;) (declaration "char local_4c;" primitive_type identifier ;) (declaration "byte *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "char fill_char;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2d2e9;" (assignment_expression "uStack_14 = 0x2d2e9" identifier = number_literal) ;) (expression_statement "iVar3 = stdoutput->arch_info->bits_per_address;" (assignment_expression "iVar3 = stdoutput->arch_info->bits_per_address" identifier = (field_expression "stdoutput->arch_info->bits_per_address" (field_expression "stdoutput->arch_info" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "bVar6 = *input_line_pointer;" (assignment_expression "bVar6 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (expression_statement "uVar5 = (uint)bVar6;" (assignment_expression "uVar5 = (uint)bVar6" identifier = (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "cVar2 = is_end_of_line[uVar5];" (assignment_expression "cVar2 = is_end_of_line[uVar5]" identifier = (subscript_expression "is_end_of_line[uVar5]" identifier [ identifier ])) ;) (expression_statement "local_40 = (byte *)input_line_pointer;" (assignment_expression "local_40 = (byte *)input_line_pointer" identifier = (cast_expression "(byte *)input_line_pointer" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (flag_mri == 0) {\n    bVar6 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    uVar7 = CONCAT44(uVar5,arg);\n    if (-1 < arg) {\nLAB_0002d390:\n      n = (uint)uVar7;\n      if (bytes_p == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      uVar5 = (uint)uVar7;\n      n = uVar5;\n      if (uVar5 != 0) {\n        n = uVar5 & 1;\n        if ((uVar7 & 1) == 0) {\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }\n        pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);\n        as_bad(pcVar4);\n        if (iVar3 - 1U < n) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    n = 0;\n    if ((char)uVar5 == ',') goto LAB_0002d46b;\n    uVar5 = 0;\n    n = 0;\nLAB_0002d53c:\n    pcVar4 = (char *)dcgettext(0,"expected fill pattern missing",5);\n    as_warn(pcVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar6 = *local_40;\n      cVar2 = is_end_of_line[bVar6];\n    }\n    *local_40 = 0;\n    uVar5 = (uint)(byte)*input_line_pointer;\n    if (is_end_of_line[uVar5] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    uVar7 = get_absolute_expr((expressionS *)&fill_char);\n    n = (uint)uVar7;\n    if (*input_line_pointer != ' ') goto LAB_0002d390;\n    input_line_pointer = input_line_pointer + 1;\n    if (bytes_p != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar3 - 1U < n) {\nLAB_0002d3d7:\n      n = iVar3 - 1;\n      pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);\n      as_warn(pcVar4,n);\n    }\nLAB_0002d404:\n    uVar5 = 0;\n    if (*input_line_pointer == ',') {\nLAB_0002d46b:\n      if (input_line_pointer[1] != ',') {\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }\n      input_line_pointer = input_line_pointer + 2;\n      oVar8 = get_absolute_expr((expressionS *)&fill_char);\n      uVar5 = (uint)oVar8;\n    }\n    if (arg < 0) goto LAB_0002d53c;\n  }" if (parenthesized_expression "(flag_mri == 0)" ( (binary_expression "flag_mri == 0" identifier == number_literal) )) (compound_statement "{\n    bVar6 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    uVar7 = CONCAT44(uVar5,arg);\n    if (-1 < arg) {\nLAB_0002d390:\n      n = (uint)uVar7;\n      if (bytes_p == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      uVar5 = (uint)uVar7;\n      n = uVar5;\n      if (uVar5 != 0) {\n        n = uVar5 & 1;\n        if ((uVar7 & 1) == 0) {\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }\n        pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);\n        as_bad(pcVar4);\n        if (iVar3 - 1U < n) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    n = 0;\n    if ((char)uVar5 == ',') goto LAB_0002d46b;\n    uVar5 = 0;\n    n = 0;\nLAB_0002d53c:\n    pcVar4 = (char *)dcgettext(0,"expected fill pattern missing",5);\n    as_warn(pcVar4);\n  }" { (expression_statement "bVar6 = 0;" (assignment_expression "bVar6 = 0" identifier = number_literal) ;) (expression_statement "local_40 = (byte *)0x0;" (assignment_expression "local_40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (cVar2 == '\0') goto LAB_0002d379;" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0002d379;" goto statement_identifier ;)) (labeled_statement "LAB_0002d452:\n    uVar7 = CONCAT44(uVar5,arg);" statement_identifier : (expression_statement "uVar7 = CONCAT44(uVar5,arg);" (assignment_expression "uVar7 = CONCAT44(uVar5,arg)" identifier = (call_expression "CONCAT44(uVar5,arg)" identifier (argument_list "(uVar5,arg)" ( identifier , identifier )))) ;)) (if_statement "if (-1 < arg) {\nLAB_0002d390:\n      n = (uint)uVar7;\n      if (bytes_p == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      uVar5 = (uint)uVar7;\n      n = uVar5;\n      if (uVar5 != 0) {\n        n = uVar5 & 1;\n        if ((uVar7 & 1) == 0) {\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }\n        pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);\n        as_bad(pcVar4);\n        if (iVar3 - 1U < n) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }" if (parenthesized_expression "(-1 < arg)" ( (binary_expression "-1 < arg" number_literal < identifier) )) (compound_statement "{\nLAB_0002d390:\n      n = (uint)uVar7;\n      if (bytes_p == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      uVar5 = (uint)uVar7;\n      n = uVar5;\n      if (uVar5 != 0) {\n        n = uVar5 & 1;\n        if ((uVar7 & 1) == 0) {\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }\n        pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);\n        as_bad(pcVar4);\n        if (iVar3 - 1U < n) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }" { (labeled_statement "LAB_0002d390:\n      n = (uint)uVar7;" statement_identifier : (expression_statement "n = (uint)uVar7;" (assignment_expression "n = (uint)uVar7" identifier = (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (bytes_p == 0) goto LAB_0002d3c8;" if (parenthesized_expression "(bytes_p == 0)" ( (binary_expression "bytes_p == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002d3c8;" goto statement_identifier ;)) (labeled_statement "LAB_0002d398:\n      uVar5 = (uint)uVar7;" statement_identifier : (expression_statement "uVar5 = (uint)uVar7;" (assignment_expression "uVar5 = (uint)uVar7" identifier = (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "n = uVar5;" (assignment_expression "n = uVar5" identifier = identifier) ;) (if_statement "if (uVar5 != 0) {\n        n = uVar5 & 1;\n        if ((uVar7 & 1) == 0) {\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }\n        pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);\n        as_bad(pcVar4);\n        if (iVar3 - 1U < n) goto LAB_0002d3d7;\n      }" if (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        n = uVar5 & 1;\n        if ((uVar7 & 1) == 0) {\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }\n        pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);\n        as_bad(pcVar4);\n        if (iVar3 - 1U < n) goto LAB_0002d3d7;\n      }" { (expression_statement "n = uVar5 & 1;" (assignment_expression "n = uVar5 & 1" identifier = (binary_expression "uVar5 & 1" identifier & number_literal)) ;) (if_statement "if ((uVar7 & 1) == 0) {\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }" if (parenthesized_expression "((uVar7 & 1) == 0)" ( (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);\n          if (uVar5 == 1) goto LAB_0002d3c8;\n        }" { (do_statement "do {\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          } while ((uVar5 & 1) == 0);" do (compound_statement "{\n            uVar5 = uVar5 >> 1;\n            n = n + 1;\n          }" { (expression_statement "uVar5 = uVar5 >> 1;" (assignment_expression "uVar5 = uVar5 >> 1" identifier = (binary_expression "uVar5 >> 1" identifier >> number_literal)) ;) (expression_statement "n = n + 1;" (assignment_expression "n = n + 1" identifier = (binary_expression "n + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((uVar5 & 1) == 0)" ( (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) == number_literal) )) ;) (if_statement "if (uVar5 == 1) goto LAB_0002d3c8;" if (parenthesized_expression "(uVar5 == 1)" ( (binary_expression "uVar5 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0002d3c8;" goto statement_identifier ;)) }) (else_clause "else {\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }" else (compound_statement "{\n          if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }\n          n = 0;\n        }" { (if_statement "if (uVar5 == 1) {\n            n = 0;\n            goto LAB_0002d404;\n          }" if (parenthesized_expression "(uVar5 == 1)" ( (binary_expression "uVar5 == 1" identifier == number_literal) )) (compound_statement "{\n            n = 0;\n            goto LAB_0002d404;\n          }" { (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002d404;" goto statement_identifier ;) })) (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) }))) (expression_statement "pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"alignment not a power of 2",5)" identifier = (cast_expression "(char *)dcgettext(0,"alignment not a power of 2",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"alignment not a power of 2",5)" identifier (argument_list "(0,"alignment not a power of 2",5)" ( number_literal , (string_literal ""alignment not a power of 2"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar4);" (call_expression "as_bad(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (if_statement "if (iVar3 - 1U < n) goto LAB_0002d3d7;" if (parenthesized_expression "(iVar3 - 1U < n)" ( (binary_expression "iVar3 - 1U < n" (binary_expression "iVar3 - 1U" identifier - number_literal) < identifier) )) (goto_statement "goto LAB_0002d3d7;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0002d404;" goto statement_identifier ;) })) (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) (if_statement "if ((char)uVar5 == ',') goto LAB_0002d46b;" if (parenthesized_expression "((char)uVar5 == ',')" ( (binary_expression "(char)uVar5 == ','" (cast_expression "(char)uVar5" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "','" ' character ')) )) (goto_statement "goto LAB_0002d46b;" goto statement_identifier ;)) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) (labeled_statement "LAB_0002d53c:\n    pcVar4 = (char *)dcgettext(0,"expected fill pattern missing",5);" statement_identifier : (expression_statement "pcVar4 = (char *)dcgettext(0,"expected fill pattern missing",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"expected fill pattern missing",5)" identifier = (cast_expression "(char *)dcgettext(0,"expected fill pattern missing",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"expected fill pattern missing",5)" identifier (argument_list "(0,"expected fill pattern missing",5)" ( number_literal , (string_literal ""expected fill pattern missing"" " string_content ") , number_literal ))))) ;)) (expression_statement "as_warn(pcVar4);" (call_expression "as_warn(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) }) (else_clause "else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar6 = *local_40;\n      cVar2 = is_end_of_line[bVar6];\n    }\n    *local_40 = 0;\n    uVar5 = (uint)(byte)*input_line_pointer;\n    if (is_end_of_line[uVar5] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    uVar7 = get_absolute_expr((expressionS *)&fill_char);\n    n = (uint)uVar7;\n    if (*input_line_pointer != ' ') goto LAB_0002d390;\n    input_line_pointer = input_line_pointer + 1;\n    if (bytes_p != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar3 - 1U < n) {\nLAB_0002d3d7:\n      n = iVar3 - 1;\n      pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);\n      as_warn(pcVar4,n);\n    }\nLAB_0002d404:\n    uVar5 = 0;\n    if (*input_line_pointer == ',') {\nLAB_0002d46b:\n      if (input_line_pointer[1] != ',') {\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }\n      input_line_pointer = input_line_pointer + 2;\n      oVar8 = get_absolute_expr((expressionS *)&fill_char);\n      uVar5 = (uint)oVar8;\n    }\n    if (arg < 0) goto LAB_0002d53c;\n  }" else (compound_statement "{\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar6 = *local_40;\n      cVar2 = is_end_of_line[bVar6];\n    }\n    *local_40 = 0;\n    uVar5 = (uint)(byte)*input_line_pointer;\n    if (is_end_of_line[uVar5] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    uVar7 = get_absolute_expr((expressionS *)&fill_char);\n    n = (uint)uVar7;\n    if (*input_line_pointer != ' ') goto LAB_0002d390;\n    input_line_pointer = input_line_pointer + 1;\n    if (bytes_p != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar3 - 1U < n) {\nLAB_0002d3d7:\n      n = iVar3 - 1;\n      pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);\n      as_warn(pcVar4,n);\n    }\nLAB_0002d404:\n    uVar5 = 0;\n    if (*input_line_pointer == ',') {\nLAB_0002d46b:\n      if (input_line_pointer[1] != ',') {\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }\n      input_line_pointer = input_line_pointer + 2;\n      oVar8 = get_absolute_expr((expressionS *)&fill_char);\n      uVar5 = (uint)oVar8;\n    }\n    if (arg < 0) goto LAB_0002d53c;\n  }" { (while_statement "while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar6 = *local_40;\n      cVar2 = is_end_of_line[bVar6];\n    }" while (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_40 = local_40 + 1;\n      bVar6 = *local_40;\n      cVar2 = is_end_of_line[bVar6];\n    }" { (expression_statement "local_40 = local_40 + 1;" (assignment_expression "local_40 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) (expression_statement "bVar6 = *local_40;" (assignment_expression "bVar6 = *local_40" identifier = (pointer_expression "*local_40" * identifier)) ;) (expression_statement "cVar2 = is_end_of_line[bVar6];" (assignment_expression "cVar2 = is_end_of_line[bVar6]" identifier = (subscript_expression "is_end_of_line[bVar6]" identifier [ identifier ])) ;) })) (expression_statement "*local_40 = 0;" (assignment_expression "*local_40 = 0" (pointer_expression "*local_40" * identifier) = number_literal) ;) (expression_statement "uVar5 = (uint)(byte)*input_line_pointer;" (assignment_expression "uVar5 = (uint)(byte)*input_line_pointer" identifier = (binary_expression "(uint)(byte)*input_line_pointer" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if (is_end_of_line[uVar5] != '\0') goto LAB_0002d452;" if (parenthesized_expression "(is_end_of_line[uVar5] != '\0')" ( (binary_expression "is_end_of_line[uVar5] != '\0'" (subscript_expression "is_end_of_line[uVar5]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0002d452;" goto statement_identifier ;)) (labeled_statement "LAB_0002d379:\n    uVar7 = get_absolute_expr((expressionS *)&fill_char);" statement_identifier : (expression_statement "uVar7 = get_absolute_expr((expressionS *)&fill_char);" (assignment_expression "uVar7 = get_absolute_expr((expressionS *)&fill_char)" identifier = (call_expression "get_absolute_expr((expressionS *)&fill_char)" identifier (argument_list "((expressionS *)&fill_char)" ( (cast_expression "(expressionS *)&fill_char" ( (type_descriptor "expressionS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fill_char" & identifier)) )))) ;)) (expression_statement "n = (uint)uVar7;" (assignment_expression "n = (uint)uVar7" identifier = (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*input_line_pointer != ' ') goto LAB_0002d390;" if (parenthesized_expression "(*input_line_pointer != ' ')" ( (binary_expression "*input_line_pointer != ' '" (pointer_expression "*input_line_pointer" * identifier) != (char_literal "' '" ' character ')) )) (goto_statement "goto LAB_0002d390;" goto statement_identifier ;)) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (if_statement "if (bytes_p != 0) goto LAB_0002d398;" if (parenthesized_expression "(bytes_p != 0)" ( (binary_expression "bytes_p != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002d398;" goto statement_identifier ;)) (labeled_statement "LAB_0002d3c8:\n    if (iVar3 - 1U < n) {\nLAB_0002d3d7:\n      n = iVar3 - 1;\n      pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);\n      as_warn(pcVar4,n);\n    }" statement_identifier : (if_statement "if (iVar3 - 1U < n) {\nLAB_0002d3d7:\n      n = iVar3 - 1;\n      pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);\n      as_warn(pcVar4,n);\n    }" if (parenthesized_expression "(iVar3 - 1U < n)" ( (binary_expression "iVar3 - 1U < n" (binary_expression "iVar3 - 1U" identifier - number_literal) < identifier) )) (compound_statement "{\nLAB_0002d3d7:\n      n = iVar3 - 1;\n      pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);\n      as_warn(pcVar4,n);\n    }" { (labeled_statement "LAB_0002d3d7:\n      n = iVar3 - 1;" statement_identifier : (expression_statement "n = iVar3 - 1;" (assignment_expression "n = iVar3 - 1" identifier = (binary_expression "iVar3 - 1" identifier - number_literal)) ;)) (expression_statement "pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"alignment too large: %u assumed",5)" identifier = (cast_expression "(char *)dcgettext(0,"alignment too large: %u assumed",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"alignment too large: %u assumed",5)" identifier (argument_list "(0,"alignment too large: %u assumed",5)" ( number_literal , (string_literal ""alignment too large: %u assumed"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar4,n);" (call_expression "as_warn(pcVar4,n)" identifier (argument_list "(pcVar4,n)" ( identifier , identifier ))) ;) }))) (labeled_statement "LAB_0002d404:\n    uVar5 = 0;" statement_identifier : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;)) (if_statement "if (*input_line_pointer == ',') {\nLAB_0002d46b:\n      if (input_line_pointer[1] != ',') {\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }\n      input_line_pointer = input_line_pointer + 2;\n      oVar8 = get_absolute_expr((expressionS *)&fill_char);\n      uVar5 = (uint)oVar8;\n    }" if (parenthesized_expression "(*input_line_pointer == ',')" ( (binary_expression "*input_line_pointer == ','" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\nLAB_0002d46b:\n      if (input_line_pointer[1] != ',') {\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }\n      input_line_pointer = input_line_pointer + 2;\n      oVar8 = get_absolute_expr((expressionS *)&fill_char);\n      uVar5 = (uint)oVar8;\n    }" { (labeled_statement "LAB_0002d46b:\n      if (input_line_pointer[1] != ',') {\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }" statement_identifier : (if_statement "if (input_line_pointer[1] != ',') {\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }" if (parenthesized_expression "(input_line_pointer[1] != ',')" ( (binary_expression "input_line_pointer[1] != ','" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) != (char_literal "','" ' character ')) )) (compound_statement "{\n        input_line_pointer = input_line_pointer + 1;\n        val = get_absolute_expr((expressionS *)&fill_char);\n        if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }\n        if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }\n        goto LAB_0002d428;\n      }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "val = get_absolute_expr((expressionS *)&fill_char);" (assignment_expression "val = get_absolute_expr((expressionS *)&fill_char)" identifier = (call_expression "get_absolute_expr((expressionS *)&fill_char)" identifier (argument_list "((expressionS *)&fill_char)" ( (cast_expression "(expressionS *)&fill_char" ( (type_descriptor "expressionS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fill_char" & identifier)) )))) ;) (if_statement "if (*input_line_pointer == ' ') {\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }\n        else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }" if (parenthesized_expression "(*input_line_pointer == ' ')" ( (binary_expression "*input_line_pointer == ' '" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "' '" ' character ')) )) (compound_statement "{\n          pcVar4 = input_line_pointer + 1;\n          pcVar1 = input_line_pointer + 1;\n          input_line_pointer = pcVar4;\n          if (*pcVar1 != ',') goto LAB_0002d4e3;\nLAB_0002d642:\n          input_line_pointer = pcVar4 + 1;\n          oVar8 = get_absolute_expr((expressionS *)&fill_char);\n          uVar5 = (uint)oVar8;\n        }" { (expression_statement "pcVar4 = input_line_pointer + 1;" (assignment_expression "pcVar4 = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = input_line_pointer + 1;" (assignment_expression "pcVar1 = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "input_line_pointer = pcVar4;" (assignment_expression "input_line_pointer = pcVar4" identifier = identifier) ;) (if_statement "if (*pcVar1 != ',') goto LAB_0002d4e3;" if (parenthesized_expression "(*pcVar1 != ',')" ( (binary_expression "*pcVar1 != ','" (pointer_expression "*pcVar1" * identifier) != (char_literal "','" ' character ')) )) (goto_statement "goto LAB_0002d4e3;" goto statement_identifier ;)) (labeled_statement "LAB_0002d642:\n          input_line_pointer = pcVar4 + 1;" statement_identifier : (expression_statement "input_line_pointer = pcVar4 + 1;" (assignment_expression "input_line_pointer = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;)) (expression_statement "oVar8 = get_absolute_expr((expressionS *)&fill_char);" (assignment_expression "oVar8 = get_absolute_expr((expressionS *)&fill_char)" identifier = (call_expression "get_absolute_expr((expressionS *)&fill_char)" identifier (argument_list "((expressionS *)&fill_char)" ( (cast_expression "(expressionS *)&fill_char" ( (type_descriptor "expressionS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fill_char" & identifier)) )))) ;) (expression_statement "uVar5 = (uint)oVar8;" (assignment_expression "uVar5 = (uint)oVar8" identifier = (cast_expression "(uint)oVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }" else (compound_statement "{\n          pcVar4 = input_line_pointer;\n          if (*input_line_pointer == ',') goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar5 = 0;\n        }" { (expression_statement "pcVar4 = input_line_pointer;" (assignment_expression "pcVar4 = input_line_pointer" identifier = identifier) ;) (if_statement "if (*input_line_pointer == ',') goto LAB_0002d642;" if (parenthesized_expression "(*input_line_pointer == ',')" ( (binary_expression "*input_line_pointer == ','" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "','" ' character ')) )) (goto_statement "goto LAB_0002d642;" goto statement_identifier ;)) (labeled_statement "LAB_0002d4e3:\n          uVar5 = 0;" statement_identifier : (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;)) }))) (if_statement "if (arg < -1) {\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }\n        else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }" if (parenthesized_expression "(arg < -1)" ( (binary_expression "arg < -1" identifier < number_literal) )) (compound_statement "{\n          len = -arg;\n          if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }\n          number_to_chars_bigendian(&fill_char,val,len);\n          do_align(n,&fill_char,len,uVar5);\n        }" { (expression_statement "len = -arg;" (assignment_expression "len = -arg" identifier = (unary_expression "-arg" - identifier)) ;) (if_statement "if (arg < -0x10) {\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }" if (parenthesized_expression "(arg < -0x10)" ( (binary_expression "arg < -0x10" identifier < number_literal) )) (compound_statement "{\n            pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);\n            as_warn(pcVar4,0x10);\n            len = 0x10;\n          }" { (expression_statement "pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"fill pattern too long, truncating to %u",5)" identifier = (cast_expression "(char *)dcgettext(0,"fill pattern too long, truncating to %u",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"fill pattern too long, truncating to %u",5)" identifier (argument_list "(0,"fill pattern too long, truncating to %u",5)" ( number_literal , (string_literal ""fill pattern too long, truncating to %u"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar4,0x10);" (call_expression "as_warn(pcVar4,0x10)" identifier (argument_list "(pcVar4,0x10)" ( identifier , number_literal ))) ;) (expression_statement "len = 0x10;" (assignment_expression "len = 0x10" identifier = number_literal) ;) })) (expression_statement "number_to_chars_bigendian(&fill_char,val,len);" (call_expression "number_to_chars_bigendian(&fill_char,val,len)" identifier (argument_list "(&fill_char,val,len)" ( (pointer_expression "&fill_char" & identifier) , identifier , identifier ))) ;) (expression_statement "do_align(n,&fill_char,len,uVar5);" (call_expression "do_align(n,&fill_char,len,uVar5)" identifier (argument_list "(n,&fill_char,len,uVar5)" ( identifier , (pointer_expression "&fill_char" & identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }" else (compound_statement "{\n          local_4c = (char)val;\n          fill_char = local_4c;\n          do_align(n,&fill_char,1,uVar5);\n        }" { (expression_statement "local_4c = (char)val;" (assignment_expression "local_4c = (char)val" identifier = (cast_expression "(char)val" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "fill_char = local_4c;" (assignment_expression "fill_char = local_4c" identifier = identifier) ;) (expression_statement "do_align(n,&fill_char,1,uVar5);" (call_expression "do_align(n,&fill_char,1,uVar5)" identifier (argument_list "(n,&fill_char,1,uVar5)" ( identifier , (pointer_expression "&fill_char" & identifier) , number_literal , identifier ))) ;) }))) (goto_statement "goto LAB_0002d428;" goto statement_identifier ;) }))) (expression_statement "input_line_pointer = input_line_pointer + 2;" (assignment_expression "input_line_pointer = input_line_pointer + 2" identifier = (binary_expression "input_line_pointer + 2" identifier + number_literal)) ;) (expression_statement "oVar8 = get_absolute_expr((expressionS *)&fill_char);" (assignment_expression "oVar8 = get_absolute_expr((expressionS *)&fill_char)" identifier = (call_expression "get_absolute_expr((expressionS *)&fill_char)" identifier (argument_list "((expressionS *)&fill_char)" ( (cast_expression "(expressionS *)&fill_char" ( (type_descriptor "expressionS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&fill_char" & identifier)) )))) ;) (expression_statement "uVar5 = (uint)oVar8;" (assignment_expression "uVar5 = (uint)oVar8" identifier = (cast_expression "(uint)oVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (if_statement "if (arg < 0) goto LAB_0002d53c;" if (parenthesized_expression "(arg < 0)" ( (binary_expression "arg < 0" identifier < number_literal) )) (goto_statement "goto LAB_0002d53c;" goto statement_identifier ;)) }))) (expression_statement "do_align(n,(char *)0x0,0,uVar5);" (call_expression "do_align(n,(char *)0x0,0,uVar5)" identifier (argument_list "(n,(char *)0x0,0,uVar5)" ( identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0002d428:\n  demand_empty_rest_of_line();" statement_identifier : (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;)) (if_statement "if (flag_mri != 0) {\n    mri_comment_end((char *)local_40,(int)(char)bVar6);\n    return;\n  }" if (parenthesized_expression "(flag_mri != 0)" ( (binary_expression "flag_mri != 0" identifier != number_literal) )) (compound_statement "{\n    mri_comment_end((char *)local_40,(int)(char)bVar6);\n    return;\n  }" { (expression_statement "mri_comment_end((char *)local_40,(int)(char)bVar6);" (call_expression "mri_comment_end((char *)local_40,(int)(char)bVar6)" identifier (argument_list "((char *)local_40,(int)(char)bVar6)" ( (cast_expression "(char *)local_40" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)(char)bVar6" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar6" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_0002d2e0(uint param_1,int param_2)\n\n{\n  byte *pbVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  byte bVar9;\n  undefined8 uVar10;\n  uint local_4c;\n  byte *local_40;\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);\n  bVar6 = *DAT_00070ff8;\n  cVar2 = (&DAT_000682e0)[bVar6];\n  bVar9 = bVar6;\n  local_40 = DAT_00070ff8;\n  if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }\n  FUN_0002c730(uVar8,0,0,uVar3);\nLAB_0002d428:\n  FUN_0002d190();\n  if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_0002d2e0(uint param_1,int param_2)\n\n{\n  byte *pbVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  byte bVar9;\n  undefined8 uVar10;\n  uint local_4c;\n  byte *local_40;\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);\n  bVar6 = *DAT_00070ff8;\n  cVar2 = (&DAT_000682e0)[bVar6];\n  bVar9 = bVar6;\n  local_40 = DAT_00070ff8;\n  if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }\n  FUN_0002c730(uVar8,0,0,uVar3);\nLAB_0002d428:\n  FUN_0002d190();\n  if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0002d2e0(uint param_1,int param_2)" identifier (parameter_list "(uint param_1,int param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  byte bVar9;\n  undefined8 uVar10;\n  uint local_4c;\n  byte *local_40;\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);\n  bVar6 = *DAT_00070ff8;\n  cVar2 = (&DAT_000682e0)[bVar6];\n  bVar9 = bVar6;\n  local_40 = DAT_00070ff8;\n  if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }\n  FUN_0002c730(uVar8,0,0,uVar3);\nLAB_0002d428:\n  FUN_0002d190();\n  if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }\n  return;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "byte *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined1 local_30 [28];" type_identifier (array_declarator "local_30 [28]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2d2e9;" (assignment_expression "uStack_14 = 0x2d2e9" identifier = number_literal) ;) (expression_statement "iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);" (assignment_expression "iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4)" * (cast_expression "(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00070fc4 + 0x84) + 4)" ( (binary_expression "*(int *)(DAT_00070fc4 + 0x84) + 4" (pointer_expression "*(int *)(DAT_00070fc4 + 0x84)" * (cast_expression "(int *)(DAT_00070fc4 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00070fc4 + 0x84)" ( (binary_expression "DAT_00070fc4 + 0x84" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar6 = *DAT_00070ff8;" (assignment_expression "bVar6 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (expression_statement "cVar2 = (&DAT_000682e0)[bVar6];" (assignment_expression "cVar2 = (&DAT_000682e0)[bVar6]" identifier = (subscript_expression "(&DAT_000682e0)[bVar6]" (parenthesized_expression "(&DAT_000682e0)" ( (pointer_expression "&DAT_000682e0" & identifier) )) [ identifier ])) ;) (expression_statement "bVar9 = bVar6;" (assignment_expression "bVar9 = bVar6" identifier = identifier) ;) (expression_statement "local_40 = DAT_00070ff8;" (assignment_expression "local_40 = DAT_00070ff8" identifier = identifier) ;) (if_statement "if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }" if (parenthesized_expression "(DAT_00070f28 == 0)" ( (binary_expression "DAT_00070f28 == 0" identifier == number_literal) )) (compound_statement "{\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }" { (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" identifier = number_literal) ;) (expression_statement "local_40 = (byte *)0x0;" (assignment_expression "local_40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (cVar2 == '\0') goto LAB_0002d379;" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0002d379;" goto statement_identifier ;)) (labeled_statement "LAB_0002d452:\n    local_4c = param_1;" statement_identifier : (expression_statement "local_4c = param_1;" (assignment_expression "local_4c = param_1" identifier = identifier) ;)) (if_statement "if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }" if (parenthesized_expression "(-1 < (int)param_1)" ( (binary_expression "-1 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }" { (labeled_statement "LAB_0002d390:\n      uVar8 = local_4c;" statement_identifier : (expression_statement "uVar8 = local_4c;" (assignment_expression "uVar8 = local_4c" identifier = identifier) ;)) (if_statement "if (param_2 == 0) goto LAB_0002d3c8;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002d3c8;" goto statement_identifier ;)) (labeled_statement "LAB_0002d398:\n      local_4c = uVar8;" statement_identifier : (expression_statement "local_4c = uVar8;" (assignment_expression "local_4c = uVar8" identifier = identifier) ;)) (if_statement "if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }" { (if_statement "if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }" if (parenthesized_expression "((uVar8 & 1) == 0)" ( (binary_expression "(uVar8 & 1) == 0" (parenthesized_expression "(uVar8 & 1)" ( (binary_expression "uVar8 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (do_statement "do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);" do (compound_statement "{\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          }" { (expression_statement "uVar8 = uVar8 >> 1;" (assignment_expression "uVar8 = uVar8 >> 1" identifier = (binary_expression "uVar8 >> 1" identifier >> number_literal)) ;) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" identifier = (binary_expression "local_4c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((uVar8 & 1) == 0)" ( (binary_expression "(uVar8 & 1) == 0" (parenthesized_expression "(uVar8 & 1)" ( (binary_expression "uVar8 & 1" identifier & number_literal) )) == number_literal) )) ;) (if_statement "if (uVar8 == 1) goto LAB_0002d3c8;" if (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0002d3c8;" goto statement_identifier ;)) }) (else_clause "else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }" else (compound_statement "{\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }" { (if_statement "if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }" if (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) )) (compound_statement "{\n            local_4c = 0;\n            goto LAB_0002d404;\n          }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002d404;" goto statement_identifier ;) })) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) }))) (expression_statement "uVar3 = dcgettext(0,"alignment not a power of 2",5);" (assignment_expression "uVar3 = dcgettext(0,"alignment not a power of 2",5)" identifier = (call_expression "dcgettext(0,"alignment not a power of 2",5)" identifier (argument_list "(0,"alignment not a power of 2",5)" ( number_literal , (string_literal ""alignment not a power of 2"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ac50(uVar3);" (call_expression "FUN_0002ac50(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (if_statement "if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;" if (parenthesized_expression "(iVar7 - 1U < local_4c)" ( (binary_expression "iVar7 - 1U < local_4c" (binary_expression "iVar7 - 1U" identifier - number_literal) < identifier) )) (goto_statement "goto LAB_0002d3d7;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0002d404;" goto statement_identifier ;) })) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (bVar6 == 0x2c) goto LAB_0002d46b;" if (parenthesized_expression "(bVar6 == 0x2c)" ( (binary_expression "bVar6 == 0x2c" identifier == number_literal) )) (goto_statement "goto LAB_0002d46b;" goto statement_identifier ;)) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,"expected fill pattern missing",5);" (assignment_expression "uVar4 = dcgettext(0,"expected fill pattern missing",5)" identifier = (call_expression "dcgettext(0,"expected fill pattern missing",5)" identifier (argument_list "(0,"expected fill pattern missing",5)" ( number_literal , (string_literal ""expected fill pattern missing"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_0002ab70(uVar4);" (call_expression "FUN_0002ab70(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) }) (else_clause "else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }" else (compound_statement "{\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }" { (while_statement "while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }" while (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }" { (expression_statement "local_40 = local_40 + 1;" (assignment_expression "local_40 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) (expression_statement "bVar9 = *local_40;" (assignment_expression "bVar9 = *local_40" identifier = (pointer_expression "*local_40" * identifier)) ;) (expression_statement "cVar2 = (&DAT_000682e0)[*local_40];" (assignment_expression "cVar2 = (&DAT_000682e0)[*local_40]" identifier = (subscript_expression "(&DAT_000682e0)[*local_40]" (parenthesized_expression "(&DAT_000682e0)" ( (pointer_expression "&DAT_000682e0" & identifier) )) [ (pointer_expression "*local_40" * identifier) ])) ;) })) (expression_statement "*local_40 = 0;" (assignment_expression "*local_40 = 0" (pointer_expression "*local_40" * identifier) = number_literal) ;) (expression_statement "bVar6 = *DAT_00070ff8;" (assignment_expression "bVar6 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (if_statement "if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;" if (parenthesized_expression "((&DAT_000682e0)[bVar6] != '\0')" ( (binary_expression "(&DAT_000682e0)[bVar6] != '\0'" (subscript_expression "(&DAT_000682e0)[bVar6]" (parenthesized_expression "(&DAT_000682e0)" ( (pointer_expression "&DAT_000682e0" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0002d452;" goto statement_identifier ;)) (labeled_statement "LAB_0002d379:\n    local_4c = FUN_0002b380();" statement_identifier : (expression_statement "local_4c = FUN_0002b380();" (assignment_expression "local_4c = FUN_0002b380()" identifier = (call_expression "FUN_0002b380()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;" if (parenthesized_expression "(*DAT_00070ff8 != 0x20)" ( (binary_expression "*DAT_00070ff8 != 0x20" (pointer_expression "*DAT_00070ff8" * identifier) != number_literal) )) (goto_statement "goto LAB_0002d390;" goto statement_identifier ;)) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = local_4c;" (assignment_expression "uVar8 = local_4c" identifier = identifier) ;) (if_statement "if (param_2 != 0) goto LAB_0002d398;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002d398;" goto statement_identifier ;)) (labeled_statement "LAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }" statement_identifier : (if_statement "if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }" if (parenthesized_expression "(iVar7 - 1U < local_4c)" ( (binary_expression "iVar7 - 1U < local_4c" (binary_expression "iVar7 - 1U" identifier - number_literal) < identifier) )) (compound_statement "{\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }" { (labeled_statement "LAB_0002d3d7:\n      local_4c = iVar7 - 1;" statement_identifier : (expression_statement "local_4c = iVar7 - 1;" (assignment_expression "local_4c = iVar7 - 1" identifier = (binary_expression "iVar7 - 1" identifier - number_literal)) ;)) (expression_statement "uVar3 = dcgettext(0,"alignment too large: %u assumed",5);" (assignment_expression "uVar3 = dcgettext(0,"alignment too large: %u assumed",5)" identifier = (call_expression "dcgettext(0,"alignment too large: %u assumed",5)" identifier (argument_list "(0,"alignment too large: %u assumed",5)" ( number_literal , (string_literal ""alignment too large: %u assumed"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ab70(uVar3,local_4c);" (call_expression "FUN_0002ab70(uVar3,local_4c)" identifier (argument_list "(uVar3,local_4c)" ( identifier , identifier ))) ;) }))) (labeled_statement "LAB_0002d404:\n    uVar3 = 0;" statement_identifier : (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;)) (expression_statement "uVar8 = local_4c;" (assignment_expression "uVar8 = local_4c" identifier = identifier) ;) (if_statement "if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }" if (parenthesized_expression "(*DAT_00070ff8 == 0x2c)" ( (binary_expression "*DAT_00070ff8 == 0x2c" (pointer_expression "*DAT_00070ff8" * identifier) == number_literal) )) (compound_statement "{\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }" { (labeled_statement "LAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }" statement_identifier : (if_statement "if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }" if (parenthesized_expression "(DAT_00070ff8[1] != 0x2c)" ( (binary_expression "DAT_00070ff8[1] != 0x2c" (subscript_expression "DAT_00070ff8[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }" { (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = FUN_0002b380();" (assignment_expression "uVar10 = FUN_0002b380()" identifier = (call_expression "FUN_0002b380()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }" if (parenthesized_expression "(*DAT_00070ff8 == 0x20)" ( (binary_expression "*DAT_00070ff8 == 0x20" (pointer_expression "*DAT_00070ff8" * identifier) == number_literal) )) (compound_statement "{\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }" { (expression_statement "pbVar5 = DAT_00070ff8 + 1;" (assignment_expression "pbVar5 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar1 = DAT_00070ff8 + 1;" (assignment_expression "pbVar1 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "DAT_00070ff8 = pbVar5;" (assignment_expression "DAT_00070ff8 = pbVar5" identifier = identifier) ;) (if_statement "if (*pbVar1 != 0x2c) goto LAB_0002d4e3;" if (parenthesized_expression "(*pbVar1 != 0x2c)" ( (binary_expression "*pbVar1 != 0x2c" (pointer_expression "*pbVar1" * identifier) != number_literal) )) (goto_statement "goto LAB_0002d4e3;" goto statement_identifier ;)) (labeled_statement "LAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;" statement_identifier : (expression_statement "DAT_00070ff8 = pbVar5 + 1;" (assignment_expression "DAT_00070ff8 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;)) (expression_statement "uVar3 = FUN_0002b380();" (assignment_expression "uVar3 = FUN_0002b380()" identifier = (call_expression "FUN_0002b380()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }" else (compound_statement "{\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }" { (expression_statement "pbVar5 = DAT_00070ff8;" (assignment_expression "pbVar5 = DAT_00070ff8" identifier = identifier) ;) (if_statement "if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;" if (parenthesized_expression "(*DAT_00070ff8 == 0x2c)" ( (binary_expression "*DAT_00070ff8 == 0x2c" (pointer_expression "*DAT_00070ff8" * identifier) == number_literal) )) (goto_statement "goto LAB_0002d642;" goto statement_identifier ;)) (labeled_statement "LAB_0002d4e3:\n          uVar3 = 0;" statement_identifier : (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;)) }))) (if_statement "if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }" if (parenthesized_expression "((int)param_1 < -1)" ( (binary_expression "(int)param_1 < -1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }" { (expression_statement "iVar7 = -param_1;" (assignment_expression "iVar7 = -param_1" identifier = (unary_expression "-param_1" - identifier)) ;) (if_statement "if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }" if (parenthesized_expression "((int)param_1 < -0x10)" ( (binary_expression "(int)param_1 < -0x10" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }" { (expression_statement "uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);" (assignment_expression "uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5)" identifier = (call_expression "dcgettext(0,"fill pattern too long, truncating to %u",5)" identifier (argument_list "(0,"fill pattern too long, truncating to %u",5)" ( number_literal , (string_literal ""fill pattern too long, truncating to %u"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002ab70(uVar4,0x10);" (call_expression "FUN_0002ab70(uVar4,0x10)" identifier (argument_list "(uVar4,0x10)" ( identifier , number_literal ))) ;) (expression_statement "iVar7 = 0x10;" (assignment_expression "iVar7 = 0x10" identifier = number_literal) ;) })) (expression_statement "FUN_0003fb00(local_30,uVar10,iVar7);" (call_expression "FUN_0003fb00(local_30,uVar10,iVar7)" identifier (argument_list "(local_30,uVar10,iVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0002c730(uVar8,local_30,iVar7,uVar3);" (call_expression "FUN_0002c730(uVar8,local_30,iVar7,uVar3)" identifier (argument_list "(uVar8,local_30,iVar7,uVar3)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }" else (compound_statement "{\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }" { (expression_statement "local_4c._0_1_ = (undefined1)uVar10;" (assignment_expression "local_4c._0_1_ = (undefined1)uVar10" (field_expression "local_4c._0_1_" identifier . field_identifier) = (cast_expression "(undefined1)uVar10" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "local_30[0] = (undefined1)local_4c;" (assignment_expression "local_30[0] = (undefined1)local_4c" (subscript_expression "local_30[0]" identifier [ number_literal ]) = (cast_expression "(undefined1)local_4c" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "FUN_0002c730(uVar8,local_30,1,uVar3);" (call_expression "FUN_0002c730(uVar8,local_30,1,uVar3)" identifier (argument_list "(uVar8,local_30,1,uVar3)" ( identifier , identifier , number_literal , identifier ))) ;) }))) (goto_statement "goto LAB_0002d428;" goto statement_identifier ;) }))) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 2;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 2" identifier = (binary_expression "DAT_00070ff8 + 2" identifier + number_literal)) ;) (expression_statement "uVar3 = FUN_0002b380();" (assignment_expression "uVar3 = FUN_0002b380()" identifier = (call_expression "FUN_0002b380()" identifier (argument_list "()" ( )))) ;) })) (if_statement "if ((int)param_1 < 0) goto LAB_0002d53c;" if (parenthesized_expression "((int)param_1 < 0)" ( (binary_expression "(int)param_1 < 0" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_0002d53c;" goto statement_identifier ;)) }))) (expression_statement "FUN_0002c730(uVar8,0,0,uVar3);" (call_expression "FUN_0002c730(uVar8,0,0,uVar3)" identifier (argument_list "(uVar8,0,0,uVar3)" ( identifier , number_literal , number_literal , identifier ))) ;) (labeled_statement "LAB_0002d428:\n  FUN_0002d190();" statement_identifier : (expression_statement "FUN_0002d190();" (call_expression "FUN_0002d190()" identifier (argument_list "()" ( ))) ;)) (if_statement "if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }" if (parenthesized_expression "(DAT_00070f28 != 0)" ( (binary_expression "DAT_00070f28 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }" { (expression_statement "FUN_0002c940(local_40,(int)(char)bVar9);" (call_expression "FUN_0002c940(local_40,(int)(char)bVar9)" identifier (argument_list "(local_40,(int)(char)bVar9)" ( identifier , (cast_expression "(int)(char)bVar9" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (pointer_expression * IDENT) ])) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) }))) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (return_statement return ;) })) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_0002d2e0(uint param_1,int param_2)\n\n{\n  byte *pbVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  byte bVar9;\n  undefined8 uVar10;\n  uint local_4c;\n  byte *local_40;\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);\n  bVar6 = *DAT_00070ff8;\n  cVar2 = (&DAT_000682e0)[bVar6];\n  bVar9 = bVar6;\n  local_40 = DAT_00070ff8;\n  if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }\n  FUN_0002c730(uVar8,0,0,uVar3);\nLAB_0002d428:\n  FUN_0002d190();\n  if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0002d2e0(uint param_1,int param_2)" (identifier "FUN_0002d2e0") (parameter_list "(uint param_1,int param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte bVar6;\n  int iVar7;\n  uint uVar8;\n  byte bVar9;\n  undefined8 uVar10;\n  uint local_4c;\n  byte *local_40;\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2d2e9;\n  iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);\n  bVar6 = *DAT_00070ff8;\n  cVar2 = (&DAT_000682e0)[bVar6];\n  bVar9 = bVar6;\n  local_40 = DAT_00070ff8;\n  if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }\n  FUN_0002c730(uVar8,0,0,uVar3);\nLAB_0002d428:\n  FUN_0002d190();\n  if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }\n  return;\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "byte *pbVar5;" (type_identifier "byte") (pointer_declarator "*pbVar5" (* "*") (identifier "pbVar5")) (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "byte bVar9;" (type_identifier "byte") (identifier "bVar9") (; ";")) (declaration "undefined8 uVar10;" (type_identifier "undefined8") (identifier "uVar10") (; ";")) (declaration "uint local_4c;" (type_identifier "uint") (identifier "local_4c") (; ";")) (declaration "byte *local_40;" (type_identifier "byte") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined1 local_30 [28];" (type_identifier "undefined1") (array_declarator "local_30 [28]" (identifier "local_30") ([ "[") (number_literal "28") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x2d2e9;" (assignment_expression "uStack_14 = 0x2d2e9" (identifier "uStack_14") (= "=") (number_literal "0x2d2e9")) (; ";")) (expression_statement "iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);" (assignment_expression "iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4)" (* "*") (cast_expression "(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00070fc4 + 0x84) + 4)" (( "(") (binary_expression "*(int *)(DAT_00070fc4 + 0x84) + 4" (pointer_expression "*(int *)(DAT_00070fc4 + 0x84)" (* "*") (cast_expression "(int *)(DAT_00070fc4 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00070fc4 + 0x84)" (( "(") (binary_expression "DAT_00070fc4 + 0x84" (identifier "DAT_00070fc4") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "bVar6 = *DAT_00070ff8;" (assignment_expression "bVar6 = *DAT_00070ff8" (identifier "bVar6") (= "=") (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8"))) (; ";")) (expression_statement "cVar2 = (&DAT_000682e0)[bVar6];" (assignment_expression "cVar2 = (&DAT_000682e0)[bVar6]" (identifier "cVar2") (= "=") (subscript_expression "(&DAT_000682e0)[bVar6]" (parenthesized_expression "(&DAT_000682e0)" (( "(") (pointer_expression "&DAT_000682e0" (& "&") (identifier "DAT_000682e0")) () ")")) ([ "[") (identifier "bVar6") (] "]"))) (; ";")) (expression_statement "bVar9 = bVar6;" (assignment_expression "bVar9 = bVar6" (identifier "bVar9") (= "=") (identifier "bVar6")) (; ";")) (expression_statement "local_40 = DAT_00070ff8;" (assignment_expression "local_40 = DAT_00070ff8" (identifier "local_40") (= "=") (identifier "DAT_00070ff8")) (; ";")) (if_statement "if (DAT_00070f28 == 0) {\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }\n  else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }" (if "if") (parenthesized_expression "(DAT_00070f28 == 0)" (( "(") (binary_expression "DAT_00070f28 == 0" (identifier "DAT_00070f28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    bVar9 = 0;\n    local_40 = (byte *)0x0;\n    if (cVar2 == '\0') goto LAB_0002d379;\nLAB_0002d452:\n    local_4c = param_1;\n    if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }\n    uVar8 = 0;\n    if (bVar6 == 0x2c) goto LAB_0002d46b;\n    uVar3 = 0;\n    uVar8 = 0;\nLAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);\n    FUN_0002ab70(uVar4);\n  }" ({ "{") (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" (identifier "bVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = (byte *)0x0;" (assignment_expression "local_40 = (byte *)0x0" (identifier "local_40") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (cVar2 == '\0') goto LAB_0002d379;" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0002d379;" (goto "goto") (statement_identifier "LAB_0002d379") (; ";"))) (labeled_statement "LAB_0002d452:\n    local_4c = param_1;" (statement_identifier "LAB_0002d452") (: ":") (expression_statement "local_4c = param_1;" (assignment_expression "local_4c = param_1" (identifier "local_4c") (= "=") (identifier "param_1")) (; ";"))) (if_statement "if (-1 < (int)param_1) {\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }" (if "if") (parenthesized_expression "(-1 < (int)param_1)" (( "(") (binary_expression "-1 < (int)param_1" (number_literal "-1") (< "<") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")")) (compound_statement "{\nLAB_0002d390:\n      uVar8 = local_4c;\n      if (param_2 == 0) goto LAB_0002d3c8;\nLAB_0002d398:\n      local_4c = uVar8;\n      if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }\n      goto LAB_0002d404;\n    }" ({ "{") (labeled_statement "LAB_0002d390:\n      uVar8 = local_4c;" (statement_identifier "LAB_0002d390") (: ":") (expression_statement "uVar8 = local_4c;" (assignment_expression "uVar8 = local_4c" (identifier "uVar8") (= "=") (identifier "local_4c")) (; ";"))) (if_statement "if (param_2 == 0) goto LAB_0002d3c8;" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002d3c8;" (goto "goto") (statement_identifier "LAB_0002d3c8") (; ";"))) (labeled_statement "LAB_0002d398:\n      local_4c = uVar8;" (statement_identifier "LAB_0002d398") (: ":") (expression_statement "local_4c = uVar8;" (assignment_expression "local_4c = uVar8" (identifier "local_4c") (= "=") (identifier "uVar8")) (; ";"))) (if_statement "if (uVar8 != 0) {\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }\n        uVar3 = dcgettext(0,"alignment not a power of 2",5);\n        FUN_0002ac50(uVar3);\n        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;\n      }" ({ "{") (if_statement "if ((uVar8 & 1) == 0) {\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }\n        else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }" (if "if") (parenthesized_expression "((uVar8 & 1) == 0)" (( "(") (binary_expression "(uVar8 & 1) == 0" (parenthesized_expression "(uVar8 & 1)" (( "(") (binary_expression "uVar8 & 1" (identifier "uVar8") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_4c = 0;\n          do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);\n          if (uVar8 == 1) goto LAB_0002d3c8;\n        }" ({ "{") (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          } while ((uVar8 & 1) == 0);" (do "do") (compound_statement "{\n            uVar8 = uVar8 >> 1;\n            local_4c = local_4c + 1;\n          }" ({ "{") (expression_statement "uVar8 = uVar8 >> 1;" (assignment_expression "uVar8 = uVar8 >> 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 >> 1" (identifier "uVar8") (>> ">>") (number_literal "1"))) (; ";")) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" (identifier "local_4c") (= "=") (binary_expression "local_4c + 1" (identifier "local_4c") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uVar8 & 1) == 0)" (( "(") (binary_expression "(uVar8 & 1) == 0" (parenthesized_expression "(uVar8 & 1)" (( "(") (binary_expression "uVar8 & 1" (identifier "uVar8") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (; ";")) (if_statement "if (uVar8 == 1) goto LAB_0002d3c8;" (if "if") (parenthesized_expression "(uVar8 == 1)" (( "(") (binary_expression "uVar8 == 1" (identifier "uVar8") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0002d3c8;" (goto "goto") (statement_identifier "LAB_0002d3c8") (; ";"))) (} "}")) (else_clause "else {\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }" (else "else") (compound_statement "{\n          if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }\n          local_4c = 0;\n        }" ({ "{") (if_statement "if (uVar8 == 1) {\n            local_4c = 0;\n            goto LAB_0002d404;\n          }" (if "if") (parenthesized_expression "(uVar8 == 1)" (( "(") (binary_expression "uVar8 == 1" (identifier "uVar8") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n            local_4c = 0;\n            goto LAB_0002d404;\n          }" ({ "{") (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0002d404;" (goto "goto") (statement_identifier "LAB_0002d404") (; ";")) (} "}"))) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "uVar3 = dcgettext(0,"alignment not a power of 2",5);" (assignment_expression "uVar3 = dcgettext(0,"alignment not a power of 2",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"alignment not a power of 2",5)" (identifier "dcgettext") (argument_list "(0,"alignment not a power of 2",5)" (( "(") (number_literal "0") (, ",") (string_literal ""alignment not a power of 2"" (" """) (string_content "alignment not a power of 2") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ac50(uVar3);" (call_expression "FUN_0002ac50(uVar3)" (identifier "FUN_0002ac50") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (if_statement "if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;" (if "if") (parenthesized_expression "(iVar7 - 1U < local_4c)" (( "(") (binary_expression "iVar7 - 1U < local_4c" (binary_expression "iVar7 - 1U" (identifier "iVar7") (- "-") (number_literal "1U")) (< "<") (identifier "local_4c")) () ")")) (goto_statement "goto LAB_0002d3d7;" (goto "goto") (statement_identifier "LAB_0002d3d7") (; ";"))) (} "}"))) (goto_statement "goto LAB_0002d404;" (goto "goto") (statement_identifier "LAB_0002d404") (; ";")) (} "}"))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (bVar6 == 0x2c) goto LAB_0002d46b;" (if "if") (parenthesized_expression "(bVar6 == 0x2c)" (( "(") (binary_expression "bVar6 == 0x2c" (identifier "bVar6") (== "==") (number_literal "0x2c")) () ")")) (goto_statement "goto LAB_0002d46b;" (goto "goto") (statement_identifier "LAB_0002d46b") (; ";"))) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0002d53c:\n    uVar4 = dcgettext(0,"expected fill pattern missing",5);" (statement_identifier "LAB_0002d53c") (: ":") (expression_statement "uVar4 = dcgettext(0,"expected fill pattern missing",5);" (assignment_expression "uVar4 = dcgettext(0,"expected fill pattern missing",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"expected fill pattern missing",5)" (identifier "dcgettext") (argument_list "(0,"expected fill pattern missing",5)" (( "(") (number_literal "0") (, ",") (string_literal ""expected fill pattern missing"" (" """) (string_content "expected fill pattern missing") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0002ab70(uVar4);" (call_expression "FUN_0002ab70(uVar4)" (identifier "FUN_0002ab70") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }" (else "else") (compound_statement "{\n    while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }\n    *local_40 = 0;\n    bVar6 = *DAT_00070ff8;\n    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;\nLAB_0002d379:\n    local_4c = FUN_0002b380();\n    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    uVar8 = local_4c;\n    if (param_2 != 0) goto LAB_0002d398;\nLAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }\nLAB_0002d404:\n    uVar3 = 0;\n    uVar8 = local_4c;\n    if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }\n    if ((int)param_1 < 0) goto LAB_0002d53c;\n  }" ({ "{") (while_statement "while (cVar2 == '\0') {\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }" (while "while") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      local_40 = local_40 + 1;\n      bVar9 = *local_40;\n      cVar2 = (&DAT_000682e0)[*local_40];\n    }" ({ "{") (expression_statement "local_40 = local_40 + 1;" (assignment_expression "local_40 = local_40 + 1" (identifier "local_40") (= "=") (binary_expression "local_40 + 1" (identifier "local_40") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar9 = *local_40;" (assignment_expression "bVar9 = *local_40" (identifier "bVar9") (= "=") (pointer_expression "*local_40" (* "*") (identifier "local_40"))) (; ";")) (expression_statement "cVar2 = (&DAT_000682e0)[*local_40];" (assignment_expression "cVar2 = (&DAT_000682e0)[*local_40]" (identifier "cVar2") (= "=") (subscript_expression "(&DAT_000682e0)[*local_40]" (parenthesized_expression "(&DAT_000682e0)" (( "(") (pointer_expression "&DAT_000682e0" (& "&") (identifier "DAT_000682e0")) () ")")) ([ "[") (pointer_expression "*local_40" (* "*") (identifier "local_40")) (] "]"))) (; ";")) (} "}"))) (expression_statement "*local_40 = 0;" (assignment_expression "*local_40 = 0" (pointer_expression "*local_40" (* "*") (identifier "local_40")) (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar6 = *DAT_00070ff8;" (assignment_expression "bVar6 = *DAT_00070ff8" (identifier "bVar6") (= "=") (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8"))) (; ";")) (if_statement "if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;" (if "if") (parenthesized_expression "((&DAT_000682e0)[bVar6] != '\0')" (( "(") (binary_expression "(&DAT_000682e0)[bVar6] != '\0'" (subscript_expression "(&DAT_000682e0)[bVar6]" (parenthesized_expression "(&DAT_000682e0)" (( "(") (pointer_expression "&DAT_000682e0" (& "&") (identifier "DAT_000682e0")) () ")")) ([ "[") (identifier "bVar6") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0002d452;" (goto "goto") (statement_identifier "LAB_0002d452") (; ";"))) (labeled_statement "LAB_0002d379:\n    local_4c = FUN_0002b380();" (statement_identifier "LAB_0002d379") (: ":") (expression_statement "local_4c = FUN_0002b380();" (assignment_expression "local_4c = FUN_0002b380()" (identifier "local_4c") (= "=") (call_expression "FUN_0002b380()" (identifier "FUN_0002b380") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;" (if "if") (parenthesized_expression "(*DAT_00070ff8 != 0x20)" (( "(") (binary_expression "*DAT_00070ff8 != 0x20" (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8")) (!= "!=") (number_literal "0x20")) () ")")) (goto_statement "goto LAB_0002d390;" (goto "goto") (statement_identifier "LAB_0002d390") (; ";"))) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar8 = local_4c;" (assignment_expression "uVar8 = local_4c" (identifier "uVar8") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if (param_2 != 0) goto LAB_0002d398;" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002d398;" (goto "goto") (statement_identifier "LAB_0002d398") (; ";"))) (labeled_statement "LAB_0002d3c8:\n    if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }" (statement_identifier "LAB_0002d3c8") (: ":") (if_statement "if (iVar7 - 1U < local_4c) {\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }" (if "if") (parenthesized_expression "(iVar7 - 1U < local_4c)" (( "(") (binary_expression "iVar7 - 1U < local_4c" (binary_expression "iVar7 - 1U" (identifier "iVar7") (- "-") (number_literal "1U")) (< "<") (identifier "local_4c")) () ")")) (compound_statement "{\nLAB_0002d3d7:\n      local_4c = iVar7 - 1;\n      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);\n      FUN_0002ab70(uVar3,local_4c);\n    }" ({ "{") (labeled_statement "LAB_0002d3d7:\n      local_4c = iVar7 - 1;" (statement_identifier "LAB_0002d3d7") (: ":") (expression_statement "local_4c = iVar7 - 1;" (assignment_expression "local_4c = iVar7 - 1" (identifier "local_4c") (= "=") (binary_expression "iVar7 - 1" (identifier "iVar7") (- "-") (number_literal "1"))) (; ";"))) (expression_statement "uVar3 = dcgettext(0,"alignment too large: %u assumed",5);" (assignment_expression "uVar3 = dcgettext(0,"alignment too large: %u assumed",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"alignment too large: %u assumed",5)" (identifier "dcgettext") (argument_list "(0,"alignment too large: %u assumed",5)" (( "(") (number_literal "0") (, ",") (string_literal ""alignment too large: %u assumed"" (" """) (string_content "alignment too large: %u assumed") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ab70(uVar3,local_4c);" (call_expression "FUN_0002ab70(uVar3,local_4c)" (identifier "FUN_0002ab70") (argument_list "(uVar3,local_4c)" (( "(") (identifier "uVar3") (, ",") (identifier "local_4c") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_0002d404:\n    uVar3 = 0;" (statement_identifier "LAB_0002d404") (: ":") (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar8 = local_4c;" (assignment_expression "uVar8 = local_4c" (identifier "uVar8") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if (*DAT_00070ff8 == 0x2c) {\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }" (if "if") (parenthesized_expression "(*DAT_00070ff8 == 0x2c)" (( "(") (binary_expression "*DAT_00070ff8 == 0x2c" (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8")) (== "==") (number_literal "0x2c")) () ")")) (compound_statement "{\nLAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }\n      DAT_00070ff8 = DAT_00070ff8 + 2;\n      uVar3 = FUN_0002b380();\n    }" ({ "{") (labeled_statement "LAB_0002d46b:\n      if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }" (statement_identifier "LAB_0002d46b") (: ":") (if_statement "if (DAT_00070ff8[1] != 0x2c) {\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }" (if "if") (parenthesized_expression "(DAT_00070ff8[1] != 0x2c)" (( "(") (binary_expression "DAT_00070ff8[1] != 0x2c" (subscript_expression "DAT_00070ff8[1]" (identifier "DAT_00070ff8") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0x2c")) () ")")) (compound_statement "{\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        uVar10 = FUN_0002b380();\n        if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }\n        if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }\n        goto LAB_0002d428;\n      }" ({ "{") (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = FUN_0002b380();" (assignment_expression "uVar10 = FUN_0002b380()" (identifier "uVar10") (= "=") (call_expression "FUN_0002b380()" (identifier "FUN_0002b380") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*DAT_00070ff8 == 0x20) {\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }\n        else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }" (if "if") (parenthesized_expression "(*DAT_00070ff8 == 0x20)" (( "(") (binary_expression "*DAT_00070ff8 == 0x20" (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n          pbVar5 = DAT_00070ff8 + 1;\n          pbVar1 = DAT_00070ff8 + 1;\n          DAT_00070ff8 = pbVar5;\n          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;\nLAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;\n          uVar3 = FUN_0002b380();\n        }" ({ "{") (expression_statement "pbVar5 = DAT_00070ff8 + 1;" (assignment_expression "pbVar5 = DAT_00070ff8 + 1" (identifier "pbVar5") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar1 = DAT_00070ff8 + 1;" (assignment_expression "pbVar1 = DAT_00070ff8 + 1" (identifier "pbVar1") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "DAT_00070ff8 = pbVar5;" (assignment_expression "DAT_00070ff8 = pbVar5" (identifier "DAT_00070ff8") (= "=") (identifier "pbVar5")) (; ";")) (if_statement "if (*pbVar1 != 0x2c) goto LAB_0002d4e3;" (if "if") (parenthesized_expression "(*pbVar1 != 0x2c)" (( "(") (binary_expression "*pbVar1 != 0x2c" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (!= "!=") (number_literal "0x2c")) () ")")) (goto_statement "goto LAB_0002d4e3;" (goto "goto") (statement_identifier "LAB_0002d4e3") (; ";"))) (labeled_statement "LAB_0002d642:\n          DAT_00070ff8 = pbVar5 + 1;" (statement_identifier "LAB_0002d642") (: ":") (expression_statement "DAT_00070ff8 = pbVar5 + 1;" (assignment_expression "DAT_00070ff8 = pbVar5 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "pbVar5 + 1" (identifier "pbVar5") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "uVar3 = FUN_0002b380();" (assignment_expression "uVar3 = FUN_0002b380()" (identifier "uVar3") (= "=") (call_expression "FUN_0002b380()" (identifier "FUN_0002b380") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }" (else "else") (compound_statement "{\n          pbVar5 = DAT_00070ff8;\n          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;\nLAB_0002d4e3:\n          uVar3 = 0;\n        }" ({ "{") (expression_statement "pbVar5 = DAT_00070ff8;" (assignment_expression "pbVar5 = DAT_00070ff8" (identifier "pbVar5") (= "=") (identifier "DAT_00070ff8")) (; ";")) (if_statement "if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;" (if "if") (parenthesized_expression "(*DAT_00070ff8 == 0x2c)" (( "(") (binary_expression "*DAT_00070ff8 == 0x2c" (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8")) (== "==") (number_literal "0x2c")) () ")")) (goto_statement "goto LAB_0002d642;" (goto "goto") (statement_identifier "LAB_0002d642") (; ";"))) (labeled_statement "LAB_0002d4e3:\n          uVar3 = 0;" (statement_identifier "LAB_0002d4e3") (: ":") (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (if_statement "if ((int)param_1 < -1) {\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }\n        else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }" (if "if") (parenthesized_expression "((int)param_1 < -1)" (( "(") (binary_expression "(int)param_1 < -1" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (< "<") (number_literal "-1")) () ")")) (compound_statement "{\n          iVar7 = -param_1;\n          if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }\n          FUN_0003fb00(local_30,uVar10,iVar7);\n          FUN_0002c730(uVar8,local_30,iVar7,uVar3);\n        }" ({ "{") (expression_statement "iVar7 = -param_1;" (assignment_expression "iVar7 = -param_1" (identifier "iVar7") (= "=") (unary_expression "-param_1" (- "-") (identifier "param_1"))) (; ";")) (if_statement "if ((int)param_1 < -0x10) {\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }" (if "if") (parenthesized_expression "((int)param_1 < -0x10)" (( "(") (binary_expression "(int)param_1 < -0x10" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (< "<") (number_literal "-0x10")) () ")")) (compound_statement "{\n            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);\n            FUN_0002ab70(uVar4,0x10);\n            iVar7 = 0x10;\n          }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);" (assignment_expression "uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"fill pattern too long, truncating to %u",5)" (identifier "dcgettext") (argument_list "(0,"fill pattern too long, truncating to %u",5)" (( "(") (number_literal "0") (, ",") (string_literal ""fill pattern too long, truncating to %u"" (" """) (string_content "fill pattern too long, truncating to %u") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002ab70(uVar4,0x10);" (call_expression "FUN_0002ab70(uVar4,0x10)" (identifier "FUN_0002ab70") (argument_list "(uVar4,0x10)" (( "(") (identifier "uVar4") (, ",") (number_literal "0x10") () ")"))) (; ";")) (expression_statement "iVar7 = 0x10;" (assignment_expression "iVar7 = 0x10" (identifier "iVar7") (= "=") (number_literal "0x10")) (; ";")) (} "}"))) (expression_statement "FUN_0003fb00(local_30,uVar10,iVar7);" (call_expression "FUN_0003fb00(local_30,uVar10,iVar7)" (identifier "FUN_0003fb00") (argument_list "(local_30,uVar10,iVar7)" (( "(") (identifier "local_30") (, ",") (identifier "uVar10") (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "FUN_0002c730(uVar8,local_30,iVar7,uVar3);" (call_expression "FUN_0002c730(uVar8,local_30,iVar7,uVar3)" (identifier "FUN_0002c730") (argument_list "(uVar8,local_30,iVar7,uVar3)" (( "(") (identifier "uVar8") (, ",") (identifier "local_30") (, ",") (identifier "iVar7") (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }" (else "else") (compound_statement "{\n          local_4c._0_1_ = (undefined1)uVar10;\n          local_30[0] = (undefined1)local_4c;\n          FUN_0002c730(uVar8,local_30,1,uVar3);\n        }" ({ "{") (expression_statement "local_4c._0_1_ = (undefined1)uVar10;" (assignment_expression "local_4c._0_1_ = (undefined1)uVar10" (field_expression "local_4c._0_1_" (identifier "local_4c") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(undefined1)uVar10" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "uVar10"))) (; ";")) (expression_statement "local_30[0] = (undefined1)local_4c;" (assignment_expression "local_30[0] = (undefined1)local_4c" (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined1)local_4c" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_4c"))) (; ";")) (expression_statement "FUN_0002c730(uVar8,local_30,1,uVar3);" (call_expression "FUN_0002c730(uVar8,local_30,1,uVar3)" (identifier "FUN_0002c730") (argument_list "(uVar8,local_30,1,uVar3)" (( "(") (identifier "uVar8") (, ",") (identifier "local_30") (, ",") (number_literal "1") (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0002d428;" (goto "goto") (statement_identifier "LAB_0002d428") (; ";")) (} "}")))) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 2;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 2" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 2" (identifier "DAT_00070ff8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar3 = FUN_0002b380();" (assignment_expression "uVar3 = FUN_0002b380()" (identifier "uVar3") (= "=") (call_expression "FUN_0002b380()" (identifier "FUN_0002b380") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (if_statement "if ((int)param_1 < 0) goto LAB_0002d53c;" (if "if") (parenthesized_expression "((int)param_1 < 0)" (( "(") (binary_expression "(int)param_1 < 0" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002d53c;" (goto "goto") (statement_identifier "LAB_0002d53c") (; ";"))) (} "}")))) (expression_statement "FUN_0002c730(uVar8,0,0,uVar3);" (call_expression "FUN_0002c730(uVar8,0,0,uVar3)" (identifier "FUN_0002c730") (argument_list "(uVar8,0,0,uVar3)" (( "(") (identifier "uVar8") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "uVar3") () ")"))) (; ";")) (labeled_statement "LAB_0002d428:\n  FUN_0002d190();" (statement_identifier "LAB_0002d428") (: ":") (expression_statement "FUN_0002d190();" (call_expression "FUN_0002d190()" (identifier "FUN_0002d190") (argument_list "()" (( "(") () ")"))) (; ";"))) (if_statement "if (DAT_00070f28 != 0) {\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_00070f28 != 0)" (( "(") (binary_expression "DAT_00070f28 != 0" (identifier "DAT_00070f28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0002c940(local_40,(int)(char)bVar9);\n    return;\n  }" ({ "{") (expression_statement "FUN_0002c940(local_40,(int)(char)bVar9);" (call_expression "FUN_0002c940(local_40,(int)(char)bVar9)" (identifier "FUN_0002c940") (argument_list "(local_40,(int)(char)bVar9)" (( "(") (identifier "local_40") (, ",") (cast_expression "(int)(char)bVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar9" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar9"))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 function_1(int var_4,int var_5)

{
  char *pcVar1;
  char var_2;
  int var_11;
  char *var_16;
  type_1 var_6;
  type_1 var_8;
  type_1 len;
  type_2 bVar6;
  type_3 var_7;
  type_4 oVar8;
  type_5 val;
  char local_4c;
  type_2 *var_13;
  char fill_char;
  type_6 uStack_14;
  
  uStack_14 = 0x2d2e9;
  var_11 = stdoutput->arch_info->bits_per_address;
  bVar6 = *var_14;
  var_6 = (type_1)bVar6;
  var_2 = is_end_of_line[var_6];
  var_13 = (type_2 *)var_14;
  if (var_1 == 0) {
    bVar6 = 0;
    var_13 = (type_2 *)0x0;
    if (var_2 == '\0') goto LAB_0002d379;
LAB_0002d452:
    var_7 = var_3(var_6,var_4);
    if (-1 < var_4) {
LAB_0002d390:
      var_8 = (type_1)var_7;
      if (var_5 == 0) goto LAB_0002d3c8;
LAB_0002d398:
      var_6 = (type_1)var_7;
      var_8 = var_6;
      if (var_6 != 0) {
        var_8 = var_6 & 1;
        if ((var_7 & 1) == 0) {
          do {
            var_6 = var_6 >> 1;
            var_8 = var_8 + 1;
          } while ((var_6 & 1) == 0);
          if (var_6 == 1) goto LAB_0002d3c8;
        }
        else {
          if (var_6 == 1) {
            var_8 = 0;
            goto LAB_0002d404;
          }
          var_8 = 0;
        }
        var_16 = (char *)var_9(0,"alignment not a power of 2",5);
        var_10(var_16);
        if (var_11 - 1U < var_8) goto LAB_0002d3d7;
      }
      goto LAB_0002d404;
    }
    var_8 = 0;
    if ((char)var_6 == ',') goto LAB_0002d46b;
    var_6 = 0;
    var_8 = 0;
LAB_0002d53c:
    var_16 = (char *)var_9(0,"expected fill pattern missing",5);
    var_12(var_16);
  }
  else {
    while (var_2 == '\0') {
      var_13 = var_13 + 1;
      bVar6 = *var_13;
      var_2 = is_end_of_line[bVar6];
    }
    *var_13 = 0;
    var_6 = (type_1)(type_2)*var_14;
    if (is_end_of_line[var_6] != '\0') goto LAB_0002d452;
LAB_0002d379:
    var_7 = var_15((type_7 *)&fill_char);
    var_8 = (type_1)var_7;
    if (*var_14 != ' ') goto LAB_0002d390;
    var_14 = var_14 + 1;
    if (var_5 != 0) goto LAB_0002d398;
LAB_0002d3c8:
    if (var_11 - 1U < var_8) {
LAB_0002d3d7:
      var_8 = var_11 - 1;
      var_16 = (char *)var_9(0,"alignment too large: %u assumed",5);
      var_12(var_16,var_8);
    }
LAB_0002d404:
    var_6 = 0;
    if (*var_14 == ',') {
LAB_0002d46b:
      if (var_14[1] != ',') {
        var_14 = var_14 + 1;
        val = var_15((type_7 *)&fill_char);
        if (*var_14 == ' ') {
          var_16 = var_14 + 1;
          pcVar1 = var_14 + 1;
          var_14 = var_16;
          if (*pcVar1 != ',') goto LAB_0002d4e3;
LAB_0002d642:
          var_14 = var_16 + 1;
          oVar8 = var_15((type_7 *)&fill_char);
          var_6 = (type_1)oVar8;
        }
        else {
          var_16 = var_14;
          if (*var_14 == ',') goto LAB_0002d642;
LAB_0002d4e3:
          var_6 = 0;
        }
        if (var_4 < -1) {
          len = -var_4;
          if (var_4 < -0x10) {
            var_16 = (char *)var_9(0,"fill pattern too long, truncating to %u",5);
            var_12(var_16,0x10);
            len = 0x10;
          }
          var_17(&fill_char,val,len);
          var_18(var_8,&fill_char,len,var_6);
        }
        else {
          local_4c = (char)val;
          fill_char = local_4c;
          var_18(var_8,&fill_char,1,var_6);
        }
        goto LAB_0002d428;
      }
      var_14 = var_14 + 2;
      oVar8 = var_15((type_7 *)&fill_char);
      var_6 = (type_1)oVar8;
    }
    if (var_4 < 0) goto LAB_0002d53c;
  }
  var_18(var_8,(char *)0x0,0,var_6);
LAB_0002d428:
  var_19();
  if (var_1 != 0) {
    var_20((char *)var_13,(int)(char)bVar6);
    return;
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) alternative: (else_clause (compound_statement (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (return_statement))) (return_statement))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 MASKED(uint param_1,int param_2)

{
  byte *pbVar1;
  char cVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  byte *pbVar5;
  byte bVar6;
  int iVar7;
  uint uVar8;
  byte bVar9;
  undefined8 uVar10;
  uint local_4c;
  byte *local_40;
  undefined1 local_30 [28];
  undefined4 uStack_14;
  
  uStack_14 = 0x2d2e9;
  iVar7 = *(int *)(*(int *)(DAT_00070fc4 + 0x84) + 4);
  bVar6 = *DAT_00070ff8;
  cVar2 = (&DAT_000682e0)[bVar6];
  bVar9 = bVar6;
  local_40 = DAT_00070ff8;
  if (DAT_00070f28 == 0) {
    bVar9 = 0;
    local_40 = (byte *)0x0;
    if (cVar2 == '\0') goto LAB_0002d379;
LAB_0002d452:
    local_4c = param_1;
    if (-1 < (int)param_1) {
LAB_0002d390:
      uVar8 = local_4c;
      if (param_2 == 0) goto LAB_0002d3c8;
LAB_0002d398:
      local_4c = uVar8;
      if (uVar8 != 0) {
        if ((uVar8 & 1) == 0) {
          local_4c = 0;
          do {
            uVar8 = uVar8 >> 1;
            local_4c = local_4c + 1;
          } while ((uVar8 & 1) == 0);
          if (uVar8 == 1) goto LAB_0002d3c8;
        }
        else {
          if (uVar8 == 1) {
            local_4c = 0;
            goto LAB_0002d404;
          }
          local_4c = 0;
        }
        uVar3 = dcgettext(0,"alignment not a power of 2",5);
        FUN_0002ac50(uVar3);
        if (iVar7 - 1U < local_4c) goto LAB_0002d3d7;
      }
      goto LAB_0002d404;
    }
    uVar8 = 0;
    if (bVar6 == 0x2c) goto LAB_0002d46b;
    uVar3 = 0;
    uVar8 = 0;
LAB_0002d53c:
    uVar4 = dcgettext(0,"expected fill pattern missing",5);
    FUN_0002ab70(uVar4);
  }
  else {
    while (cVar2 == '\0') {
      local_40 = local_40 + 1;
      bVar9 = *local_40;
      cVar2 = (&DAT_000682e0)[*local_40];
    }
    *local_40 = 0;
    bVar6 = *DAT_00070ff8;
    if ((&DAT_000682e0)[bVar6] != '\0') goto LAB_0002d452;
LAB_0002d379:
    local_4c = FUN_0002b380();
    if (*DAT_00070ff8 != 0x20) goto LAB_0002d390;
    DAT_00070ff8 = DAT_00070ff8 + 1;
    uVar8 = local_4c;
    if (param_2 != 0) goto LAB_0002d398;
LAB_0002d3c8:
    if (iVar7 - 1U < local_4c) {
LAB_0002d3d7:
      local_4c = iVar7 - 1;
      uVar3 = dcgettext(0,"alignment too large: %u assumed",5);
      FUN_0002ab70(uVar3,local_4c);
    }
LAB_0002d404:
    uVar3 = 0;
    uVar8 = local_4c;
    if (*DAT_00070ff8 == 0x2c) {
LAB_0002d46b:
      if (DAT_00070ff8[1] != 0x2c) {
        DAT_00070ff8 = DAT_00070ff8 + 1;
        uVar10 = FUN_0002b380();
        if (*DAT_00070ff8 == 0x20) {
          pbVar5 = DAT_00070ff8 + 1;
          pbVar1 = DAT_00070ff8 + 1;
          DAT_00070ff8 = pbVar5;
          if (*pbVar1 != 0x2c) goto LAB_0002d4e3;
LAB_0002d642:
          DAT_00070ff8 = pbVar5 + 1;
          uVar3 = FUN_0002b380();
        }
        else {
          pbVar5 = DAT_00070ff8;
          if (*DAT_00070ff8 == 0x2c) goto LAB_0002d642;
LAB_0002d4e3:
          uVar3 = 0;
        }
        if ((int)param_1 < -1) {
          iVar7 = -param_1;
          if ((int)param_1 < -0x10) {
            uVar4 = dcgettext(0,"fill pattern too long, truncating to %u",5);
            FUN_0002ab70(uVar4,0x10);
            iVar7 = 0x10;
          }
          FUN_0003fb00(local_30,uVar10,iVar7);
          FUN_0002c730(uVar8,local_30,iVar7,uVar3);
        }
        else {
          local_4c._0_1_ = (undefined1)uVar10;
          local_30[0] = (undefined1)local_4c;
          FUN_0002c730(uVar8,local_30,1,uVar3);
        }
        goto LAB_0002d428;
      }
      DAT_00070ff8 = DAT_00070ff8 + 2;
      uVar3 = FUN_0002b380();
    }
    if ((int)param_1 < 0) goto LAB_0002d53c;
  }
  FUN_0002c730(uVar8,0,0,uVar3);
LAB_0002d428:
  FUN_0002d190();
  if (DAT_00070f28 != 0) {
    FUN_0002c940(local_40,(int)(char)bVar9);
    return;
  }
  return;
}

