
char * __regparm3 _find_end_of_line(char *s,int mri_string,int insn,int in_macro)

{
  byte bVar1;
  int iVar2;
  char *pcVar3;
  uint extraout_ECX;
  byte bVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  byte *pbVar8;
  int unaff_EDI;
  uint uVar9;
  bool bVar10;
  undefined8 uVar11;
  
  uVar11 = __x86_get_pc_thunk_di();
  uVar9 = 0;
  do {
    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);
    pbVar8 = (byte *)uVar11;
    bVar1 = *pbVar8;
    uVar7 = (uint)bVar1;
    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);
    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||
       ((bVar4 != 0 &&
        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||
         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {
      if ((mri_string == 0) || (bVar1 != 0x27)) {
        if (uVar9 != 0) goto LAB_0002cde0;
        uVar9 = 1;
        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;
      }
      else {
        uVar5 = uVar5 ^ 0x27;
      }
    }
    else {
      uVar6 = extraout_ECX & uVar9;
      if (uVar6 == 0) {
        uVar6 = uVar9;
        if (bVar4 == 0) goto LAB_0002cdec;
        goto LAB_0002cdfc;
      }
      if (bVar1 != 0x40) {
        if (bVar4 != 0) {
LAB_0002cdfc:
          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);
          as_warn(pcVar3,(int)(char)bVar4);
          uVar9 = uVar6;
LAB_0002cdec:
          if (uVar9 == 0) {
            return (char *)pbVar8;
          }
        }
        iVar2 = ignore_input();
        if (iVar2 != 0) {
          return (char *)pbVar8;
        }
        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);
        as_warn(pcVar3);
        return (char *)pbVar8;
      }
      if ((mri_string == 0) || (uVar9 != 0)) {
LAB_0002cde0:
        uVar9 = 0;
      }
      else {
joined_r0x0002cdcf:
        if (bVar4 == 0) {
          bVar10 = bVar1 == 0x22;
        }
        else {
          bVar10 = bVar1 == bVar4;
        }
        uVar9 = 0;
        if (bVar10) {
          uVar5 = uVar7 ^ uVar5;
        }
      }
    }
    uVar11 = CONCAT44(uVar5,pbVar8 + 1);
  } while( true );
}



byte * __regparm3 FUN_0002cd00(undefined4 param_1,int param_2)

{
  byte bVar1;
  int iVar2;
  undefined4 uVar3;
  uint extraout_ECX;
  byte bVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  byte *pbVar8;
  int unaff_EDI;
  uint uVar9;
  bool bVar10;
  undefined8 uVar11;
  
  uVar11 = FUN_000350cf();
  uVar9 = 0;
  do {
    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);
    pbVar8 = (byte *)uVar11;
    bVar1 = *pbVar8;
    uVar7 = (uint)bVar1;
    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);
    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||
       ((bVar4 != 0 &&
        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||
         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {
      if ((param_2 == 0) || (bVar1 != 0x27)) {
        if (uVar9 != 0) goto LAB_0002cde0;
        uVar9 = 1;
        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;
      }
      else {
        uVar5 = uVar5 ^ 0x27;
      }
    }
    else {
      uVar6 = extraout_ECX & uVar9;
      if (uVar6 == 0) {
        uVar6 = uVar9;
        if (bVar4 == 0) goto LAB_0002cdec;
        goto LAB_0002cdfc;
      }
      if (bVar1 != 0x40) {
        if (bVar4 != 0) {
LAB_0002cdfc:
          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);
          FUN_0002bc50(uVar3,(int)(char)bVar4);
          uVar9 = uVar6;
LAB_0002cdec:
          if (uVar9 == 0) {
            return pbVar8;
          }
        }
        iVar2 = FUN_00019890();
        if (iVar2 != 0) {
          return pbVar8;
        }
        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);
        FUN_0002bc50(uVar3);
        return pbVar8;
      }
      if ((param_2 == 0) || (uVar9 != 0)) {
LAB_0002cde0:
        uVar9 = 0;
      }
      else {
joined_r0x0002cdcf:
        if (bVar4 == 0) {
          bVar10 = bVar1 == 0x22;
        }
        else {
          bVar10 = bVar1 == bVar4;
        }
        uVar9 = 0;
        if (bVar10) {
          uVar5 = uVar7 ^ uVar5;
        }
      }
    }
    uVar11 = CONCAT44(uVar5,pbVar8 + 1);
  } while( true );
}


PUSH EBP
MOV EBP,EDX
XOR EDX,EDX
PUSH EDI
CALL 0x000350cf
ADD EDI,0x422f5
PUSH ESI
MOV ESI,EAX
PUSH EBX
SUB ESP,0x2c
MOV dword ptr [ESP + 0x10],ECX
LEA EAX,[EDI + 0x8e28]
MOV ECX,EDI
MOV dword ptr [ESP + 0x1c],EDI
XOR EDI,EDI
MOV dword ptr [ESP + 0xc],EBP
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,ECX
LEA ECX,[ECX + 0x2e0]
MOV EAX,dword ptr [EAX + 0xffffff74]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x0002cd9d
TEST DL,DL
JZ 0x0002cd6c
MOV EBP,dword ptr [ESP + 0x14]
TEST byte ptr [EBP + EBX*0x2],0x2
JZ 0x0002cda8
CMP DL,0x27
JNZ 0x0002cd6c
MOV EBX,dword ptr [ESP + 0x18]
TEST EBX,EBX
JNZ 0x0002cda8
MOV EBX,dword ptr [ESP + 0x10]
AND EBX,EDI
JZ 0x0002cde8
CMP AL,0x40
JNZ 0x0002ce30
MOV EBX,dword ptr [ESP + 0xc]
TEST EBX,EBX
JZ 0x0002cde0
TEST EDI,EDI
JNZ 0x0002cde0
TEST DL,DL
JNZ 0x0002cdd1
CMP AL,0x22
SETZ BL
XOR EAX,EDX
XOR EDI,EDI
TEST BL,BL
CMOVNZ EDX,EAX
ADD ESI,0x1
MOVZX EBX,byte ptr [ESI]
CMP byte ptr [ECX + EBX*0x1],0x0
MOV EAX,EBX
JNZ 0x0002cd50
MOV EBP,dword ptr [ESP + 0xc]
TEST EBP,EBP
JZ 0x0002cdc0
CMP AL,0x27
JNZ 0x0002cdc0
XOR EDX,0x27
JMP 0x0002cd9a
TEST EDI,EDI
JNZ 0x0002cde0
MOV EDI,0x1
CMP AL,0x5c
JZ 0x0002cd9a
TEST DL,DL
JZ 0x0002cd8c
CMP AL,DL
SETZ BL
JMP 0x0002cd91
XOR EDI,EDI
JMP 0x0002cd9a
TEST DL,DL
JNZ 0x0002cdfc
TEST EDI,EDI
JNZ 0x0002ce34
ADD ESP,0x2c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDI,EBX
MOV byte ptr [ESP + 0xc],DL
SUB ESP,0x4
PUSH 0x5
MOV EBP,dword ptr [ESP + 0x24]
LEA EAX,[EBP + 0xfffe415e]
MOV EBX,EBP
PUSH EAX
PUSH 0x0
CALL 0x000141c0
POP EBP
POP EDX
MOVSX EDX,byte ptr [ESP + 0x14]
PUSH EDX
PUSH EAX
CALL 0x0002bc50
ADD ESP,0x10
JMP 0x0002cdec
TEST DL,DL
JNZ 0x0002cdfa
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x00019890
TEST EAX,EAX
JNZ 0x0002cdf0
SUB ESP,0x4
PUSH 0x5
MOV EDI,dword ptr [ESP + 0x24]
LEA EAX,[EDI + 0xfffe4173]
MOV EBX,EDI
PUSH EAX
PUSH 0x0
CALL 0x000141c0
MOV dword ptr [ESP],EAX
CALL 0x0002bc50
ADD ESP,0x10
MOV EAX,ESI
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "byte * __regparm3 FUN_0002cd00(undefined4 param_1,int param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint extraout_ECX;\n  byte bVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  int unaff_EDI;\n  uint uVar9;\n  bool bVar10;\n  undefined8 uVar11;\n  \n  uVar11 = FUN_000350cf();\n  uVar9 = 0;\n  do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );\n}\n\n" (ERROR "byte * __regparm3 FUN_0002cd00(undefined4 param_1,int param_2)" (binary_expression "byte * __regparm3 FUN_0002cd00(undefined4 param_1,int param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_0002cd00(undefined4 param_1,int param_2)" identifier (argument_list "(undefined4 param_1,int param_2)" ( identifier (ERROR "param_1" identifier) , (ERROR "int" identifier) identifier ))))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint extraout_ECX;\n  byte bVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  int unaff_EDI;\n  uint uVar9;\n  bool bVar10;\n  undefined8 uVar11;\n  \n  uVar11 = FUN_000350cf();\n  uVar9 = 0;\n  do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint extraout_ECX;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (expression_statement "uVar11 = FUN_000350cf();" (assignment_expression "uVar11 = FUN_000350cf()" identifier = (call_expression "FUN_000350cf()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );" do (compound_statement "{\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  }" { (expression_statement "uVar5 = (uint)((ulonglong)uVar11 >> 0x20);" (assignment_expression "uVar5 = (uint)((ulonglong)uVar11 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pbVar8 = (byte *)uVar11;" (assignment_expression "pbVar8 = (byte *)uVar11" identifier = (cast_expression "(byte *)uVar11" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "uVar7 = (uint)bVar1;" (assignment_expression "uVar7 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "bVar4 = (byte)((ulonglong)uVar11 >> 0x20);" (assignment_expression "bVar4 = (byte)((ulonglong)uVar11 >> 0x20)" identifier = (call_expression "(byte)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" if (parenthesized_expression "((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))))))" ( (binary_expression "(*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))" (parenthesized_expression "(*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0')" ( (binary_expression "*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0'" (pointer_expression "*(char *)(unaff_EDI + 0x425d5 + uVar7)" * (cast_expression "(char *)(unaff_EDI + 0x425d5 + uVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x425d5 + uVar7)" ( (binary_expression "unaff_EDI + 0x425d5 + uVar7" (binary_expression "unaff_EDI + 0x425d5" identifier + number_literal) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))" ( (parenthesized_expression "(bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))))" ( (binary_expression "bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))" (binary_expression "bVar4 != 0" identifier != number_literal) && (parenthesized_expression "(((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))" ( (parenthesized_expression "((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))" ( (binary_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))" (binary_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0" (parenthesized_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2)" ( (binary_expression "*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2" (pointer_expression "*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" * (cast_expression "(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" ( (binary_expression "*(int *)(unaff_EDI + 0x42269) + uVar7 * 2" (pointer_expression "*(int *)(unaff_EDI + 0x42269)" * (cast_expression "(int *)(unaff_EDI + 0x42269)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x42269)" ( (binary_expression "unaff_EDI + 0x42269" identifier + number_literal) )))) + (binary_expression "uVar7 * 2" identifier * number_literal)) )))) & number_literal) )) == number_literal) || (parenthesized_expression "((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))" ( (parenthesized_expression "(bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))" ( (binary_expression "bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)" (binary_expression "bVar4 == 0x27" identifier == number_literal) && (parenthesized_expression "(*(int *)(unaff_EDI + 0x4b11d) != 0)" ( (binary_expression "*(int *)(unaff_EDI + 0x4b11d) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x4b11d)" * (cast_expression "(int *)(unaff_EDI + 0x4b11d)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x4b11d)" ( (binary_expression "unaff_EDI + 0x4b11d" identifier + number_literal) )))) != number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }" { (if_statement "if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }" if (parenthesized_expression "((param_2 == 0) || (bVar1 != 0x27))" ( (binary_expression "(param_2 == 0) || (bVar1 != 0x27)" (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar1 != 0x27)" ( (binary_expression "bVar1 != 0x27" identifier != number_literal) ))) )) (compound_statement "{\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }" { (if_statement "if (uVar9 != 0) goto LAB_0002cde0;" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002cde0;" goto statement_identifier ;)) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (if_statement "if (bVar1 != 0x5c) goto joined_r0x0002cdcf;" if (parenthesized_expression "(bVar1 != 0x5c)" ( (binary_expression "bVar1 != 0x5c" identifier != number_literal) )) (goto_statement "goto joined_r0x0002cdcf;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar5 = uVar5 ^ 0x27;\n      }" else (compound_statement "{\n        uVar5 = uVar5 ^ 0x27;\n      }" { (expression_statement "uVar5 = uVar5 ^ 0x27;" (assignment_expression "uVar5 = uVar5 ^ 0x27" identifier = (binary_expression "uVar5 ^ 0x27" identifier ^ number_literal)) ;) }))) }) (else_clause "else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" else (compound_statement "{\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" { (expression_statement "uVar6 = extraout_ECX & uVar9;" (assignment_expression "uVar6 = extraout_ECX & uVar9" identifier = (binary_expression "extraout_ECX & uVar9" identifier & identifier)) ;) (if_statement "if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }" { (expression_statement "uVar6 = uVar9;" (assignment_expression "uVar6 = uVar9" identifier = identifier) ;) (if_statement "if (bVar4 == 0) goto LAB_0002cdec;" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002cdec;" goto statement_identifier ;)) (goto_statement "goto LAB_0002cdfc;" goto statement_identifier ;) })) (if_statement "if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }" if (parenthesized_expression "(bVar1 != 0x40)" ( (binary_expression "bVar1 != 0x40" identifier != number_literal) )) (compound_statement "{\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }" { (if_statement "if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }" if (parenthesized_expression "(bVar4 != 0)" ( (binary_expression "bVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }" { (labeled_statement "LAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);" (assignment_expression "uVar3 = dcgettext(0,unaff_EDI + 0x26453,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0x26453,5)" identifier (argument_list "(0,unaff_EDI + 0x26453,5)" ( number_literal , (binary_expression "unaff_EDI + 0x26453" identifier + number_literal) , number_literal )))) ;)) (expression_statement "FUN_0002bc50(uVar3,(int)(char)bVar4);" (call_expression "FUN_0002bc50(uVar3,(int)(char)bVar4)" identifier (argument_list "(uVar3,(int)(char)bVar4)" ( identifier , (cast_expression "(int)(char)bVar4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar4" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (expression_statement "uVar9 = uVar6;" (assignment_expression "uVar9 = uVar6" identifier = identifier) ;) (labeled_statement "LAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }" statement_identifier : (if_statement "if (uVar9 == 0) {\n            return pbVar8;\n          }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            return pbVar8;\n          }" { (return_statement "return pbVar8;" return identifier ;) }))) })) (expression_statement "iVar2 = FUN_00019890();" (assignment_expression "iVar2 = FUN_00019890()" identifier = (call_expression "FUN_00019890()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 != 0) {\n          return pbVar8;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          return pbVar8;\n        }" { (return_statement "return pbVar8;" return identifier ;) })) (expression_statement "uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);" (assignment_expression "uVar3 = dcgettext(0,unaff_EDI + 0x26468,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0x26468,5)" identifier (argument_list "(0,unaff_EDI + 0x26468,5)" ( number_literal , (binary_expression "unaff_EDI + 0x26468" identifier + number_literal) , number_literal )))) ;) (expression_statement "FUN_0002bc50(uVar3);" (call_expression "FUN_0002bc50(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return pbVar8;" return identifier ;) })) (if_statement "if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" if (parenthesized_expression "((param_2 == 0) || (uVar9 != 0))" ( (binary_expression "(param_2 == 0) || (uVar9 != 0)" (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) ))) )) (compound_statement "{\nLAB_0002cde0:\n        uVar9 = 0;\n      }" { (labeled_statement "LAB_0002cde0:\n        uVar9 = 0;" statement_identifier : (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;)) }) (else_clause "else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" else (compound_statement "{\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" { (labeled_statement "joined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }" statement_identifier : (if_statement "if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          bVar10 = bVar1 == 0x22;\n        }" { (expression_statement "bVar10 = bVar1 == 0x22;" (assignment_expression "bVar10 = bVar1 == 0x22" identifier = (binary_expression "bVar1 == 0x22" identifier == number_literal)) ;) }) (else_clause "else {\n          bVar10 = bVar1 == bVar4;\n        }" else (compound_statement "{\n          bVar10 = bVar1 == bVar4;\n        }" { (expression_statement "bVar10 = bVar1 == bVar4;" (assignment_expression "bVar10 = bVar1 == bVar4" identifier = (binary_expression "bVar1 == bVar4" identifier == identifier)) ;) })))) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          uVar5 = uVar7 ^ uVar5;\n        }" { (expression_statement "uVar5 = uVar7 ^ uVar5;" (assignment_expression "uVar5 = uVar7 ^ uVar5" identifier = (binary_expression "uVar7 ^ uVar5" identifier ^ identifier)) ;) })) }))) }))) (expression_statement "uVar11 = CONCAT44(uVar5,pbVar8 + 1);" (assignment_expression "uVar11 = CONCAT44(uVar5,pbVar8 + 1)" identifier = (call_expression "CONCAT44(uVar5,pbVar8 + 1)" identifier (argument_list "(uVar5,pbVar8 + 1)" ( identifier , (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) }))
(translation_unit "char * __regparm3 _find_end_of_line(char *s,int mri_string,int insn,int in_macro)\n\n{\n  byte bVar1;\n  int iVar2;\n  char *pcVar3;\n  uint extraout_ECX;\n  byte bVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  int unaff_EDI;\n  uint uVar9;\n  bool bVar10;\n  undefined8 uVar11;\n  \n  uVar11 = __x86_get_pc_thunk_di();\n  uVar9 = 0;\n  do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((mri_string == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }\n        iVar2 = ignore_input();\n        if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }\n        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);\n        as_warn(pcVar3);\n        return (char *)pbVar8;\n      }\n      if ((mri_string == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );\n}\n\n" (function_definition "char * __regparm3 _find_end_of_line(char *s,int mri_string,int insn,int in_macro)\n\n{\n  byte bVar1;\n  int iVar2;\n  char *pcVar3;\n  uint extraout_ECX;\n  byte bVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  int unaff_EDI;\n  uint uVar9;\n  bool bVar10;\n  undefined8 uVar11;\n  \n  uVar11 = __x86_get_pc_thunk_di();\n  uVar9 = 0;\n  do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((mri_string == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }\n        iVar2 = ignore_input();\n        if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }\n        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);\n        as_warn(pcVar3);\n        return (char *)pbVar8;\n      }\n      if ((mri_string == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );\n}" primitive_type (pointer_declarator "* __regparm3 _find_end_of_line(char *s,int mri_string,int insn,int in_macro)" * (ERROR "__regparm3" identifier) (function_declarator "_find_end_of_line(char *s,int mri_string,int insn,int in_macro)" identifier (parameter_list "(char *s,int mri_string,int insn,int in_macro)" ( (parameter_declaration "char *s" primitive_type (pointer_declarator "*s" * identifier)) , (parameter_declaration "int mri_string" primitive_type identifier) , (parameter_declaration "int insn" primitive_type identifier) , (parameter_declaration "int in_macro" primitive_type identifier) )))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  char *pcVar3;\n  uint extraout_ECX;\n  byte bVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  int unaff_EDI;\n  uint uVar9;\n  bool bVar10;\n  undefined8 uVar11;\n  \n  uVar11 = __x86_get_pc_thunk_di();\n  uVar9 = 0;\n  do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((mri_string == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }\n        iVar2 = ignore_input();\n        if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }\n        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);\n        as_warn(pcVar3);\n        return (char *)pbVar8;\n      }\n      if ((mri_string == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint extraout_ECX;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (expression_statement "uVar11 = __x86_get_pc_thunk_di();" (assignment_expression "uVar11 = __x86_get_pc_thunk_di()" identifier = (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((mri_string == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }\n        iVar2 = ignore_input();\n        if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }\n        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);\n        as_warn(pcVar3);\n        return (char *)pbVar8;\n      }\n      if ((mri_string == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );" do (compound_statement "{\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((mri_string == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }\n        iVar2 = ignore_input();\n        if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }\n        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);\n        as_warn(pcVar3);\n        return (char *)pbVar8;\n      }\n      if ((mri_string == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  }" { (expression_statement "uVar5 = (uint)((ulonglong)uVar11 >> 0x20);" (assignment_expression "uVar5 = (uint)((ulonglong)uVar11 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pbVar8 = (byte *)uVar11;" (assignment_expression "pbVar8 = (byte *)uVar11" identifier = (cast_expression "(byte *)uVar11" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "uVar7 = (uint)bVar1;" (assignment_expression "uVar7 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "bVar4 = (byte)((ulonglong)uVar11 >> 0x20);" (assignment_expression "bVar4 = (byte)((ulonglong)uVar11 >> 0x20)" identifier = (call_expression "(byte)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((mri_string == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }\n        iVar2 = ignore_input();\n        if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }\n        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);\n        as_warn(pcVar3);\n        return (char *)pbVar8;\n      }\n      if ((mri_string == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" if (parenthesized_expression "((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))))))" ( (binary_expression "(*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))" (parenthesized_expression "(*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0')" ( (binary_expression "*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0'" (pointer_expression "*(char *)(unaff_EDI + 0x425d5 + uVar7)" * (cast_expression "(char *)(unaff_EDI + 0x425d5 + uVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x425d5 + uVar7)" ( (binary_expression "unaff_EDI + 0x425d5 + uVar7" (binary_expression "unaff_EDI + 0x425d5" identifier + number_literal) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))" ( (parenthesized_expression "(bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))))" ( (binary_expression "bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))" (binary_expression "bVar4 != 0" identifier != number_literal) && (parenthesized_expression "(((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))" ( (parenthesized_expression "((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))" ( (binary_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))" (binary_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0" (parenthesized_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2)" ( (binary_expression "*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2" (pointer_expression "*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" * (cast_expression "(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" ( (binary_expression "*(int *)(unaff_EDI + 0x42269) + uVar7 * 2" (pointer_expression "*(int *)(unaff_EDI + 0x42269)" * (cast_expression "(int *)(unaff_EDI + 0x42269)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x42269)" ( (binary_expression "unaff_EDI + 0x42269" identifier + number_literal) )))) + (binary_expression "uVar7 * 2" identifier * number_literal)) )))) & number_literal) )) == number_literal) || (parenthesized_expression "((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))" ( (parenthesized_expression "(bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))" ( (binary_expression "bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)" (binary_expression "bVar4 == 0x27" identifier == number_literal) && (parenthesized_expression "(*(int *)(unaff_EDI + 0x4b11d) != 0)" ( (binary_expression "*(int *)(unaff_EDI + 0x4b11d) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x4b11d)" * (cast_expression "(int *)(unaff_EDI + 0x4b11d)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x4b11d)" ( (binary_expression "unaff_EDI + 0x4b11d" identifier + number_literal) )))) != number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      if ((mri_string == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }" { (if_statement "if ((mri_string == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }" if (parenthesized_expression "((mri_string == 0) || (bVar1 != 0x27))" ( (binary_expression "(mri_string == 0) || (bVar1 != 0x27)" (parenthesized_expression "(mri_string == 0)" ( (binary_expression "mri_string == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar1 != 0x27)" ( (binary_expression "bVar1 != 0x27" identifier != number_literal) ))) )) (compound_statement "{\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }" { (if_statement "if (uVar9 != 0) goto LAB_0002cde0;" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002cde0;" goto statement_identifier ;)) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (if_statement "if (bVar1 != 0x5c) goto joined_r0x0002cdcf;" if (parenthesized_expression "(bVar1 != 0x5c)" ( (binary_expression "bVar1 != 0x5c" identifier != number_literal) )) (goto_statement "goto joined_r0x0002cdcf;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar5 = uVar5 ^ 0x27;\n      }" else (compound_statement "{\n        uVar5 = uVar5 ^ 0x27;\n      }" { (expression_statement "uVar5 = uVar5 ^ 0x27;" (assignment_expression "uVar5 = uVar5 ^ 0x27" identifier = (binary_expression "uVar5 ^ 0x27" identifier ^ number_literal)) ;) }))) }) (else_clause "else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }\n        iVar2 = ignore_input();\n        if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }\n        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);\n        as_warn(pcVar3);\n        return (char *)pbVar8;\n      }\n      if ((mri_string == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" else (compound_statement "{\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }\n        iVar2 = ignore_input();\n        if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }\n        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);\n        as_warn(pcVar3);\n        return (char *)pbVar8;\n      }\n      if ((mri_string == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" { (expression_statement "uVar6 = extraout_ECX & uVar9;" (assignment_expression "uVar6 = extraout_ECX & uVar9" identifier = (binary_expression "extraout_ECX & uVar9" identifier & identifier)) ;) (if_statement "if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }" { (expression_statement "uVar6 = uVar9;" (assignment_expression "uVar6 = uVar9" identifier = identifier) ;) (if_statement "if (bVar4 == 0) goto LAB_0002cdec;" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002cdec;" goto statement_identifier ;)) (goto_statement "goto LAB_0002cdfc;" goto statement_identifier ;) })) (if_statement "if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }\n        iVar2 = ignore_input();\n        if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }\n        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);\n        as_warn(pcVar3);\n        return (char *)pbVar8;\n      }" if (parenthesized_expression "(bVar1 != 0x40)" ( (binary_expression "bVar1 != 0x40" identifier != number_literal) )) (compound_statement "{\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }\n        iVar2 = ignore_input();\n        if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }\n        pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);\n        as_warn(pcVar3);\n        return (char *)pbVar8;\n      }" { (if_statement "if (bVar4 != 0) {\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }" if (parenthesized_expression "(bVar4 != 0)" ( (binary_expression "bVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);\n          as_warn(pcVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }\n        }" { (labeled_statement "LAB_0002cdfc:\n          pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);" statement_identifier : (expression_statement "pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26453,5)" identifier = (cast_expression "(char *)dcgettext(0,unaff_EDI + 0x26453,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,unaff_EDI + 0x26453,5)" identifier (argument_list "(0,unaff_EDI + 0x26453,5)" ( number_literal , (binary_expression "unaff_EDI + 0x26453" identifier + number_literal) , number_literal ))))) ;)) (expression_statement "as_warn(pcVar3,(int)(char)bVar4);" (call_expression "as_warn(pcVar3,(int)(char)bVar4)" identifier (argument_list "(pcVar3,(int)(char)bVar4)" ( identifier , (cast_expression "(int)(char)bVar4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar4" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (expression_statement "uVar9 = uVar6;" (assignment_expression "uVar9 = uVar6" identifier = identifier) ;) (labeled_statement "LAB_0002cdec:\n          if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }" statement_identifier : (if_statement "if (uVar9 == 0) {\n            return (char *)pbVar8;\n          }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            return (char *)pbVar8;\n          }" { (return_statement "return (char *)pbVar8;" return (cast_expression "(char *)pbVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ;) }))) })) (expression_statement "iVar2 = ignore_input();" (assignment_expression "iVar2 = ignore_input()" identifier = (call_expression "ignore_input()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 != 0) {\n          return (char *)pbVar8;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          return (char *)pbVar8;\n        }" { (return_statement "return (char *)pbVar8;" return (cast_expression "(char *)pbVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ;) })) (expression_statement "pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,unaff_EDI + 0x26468,5)" identifier = (cast_expression "(char *)dcgettext(0,unaff_EDI + 0x26468,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,unaff_EDI + 0x26468,5)" identifier (argument_list "(0,unaff_EDI + 0x26468,5)" ( number_literal , (binary_expression "unaff_EDI + 0x26468" identifier + number_literal) , number_literal ))))) ;) (expression_statement "as_warn(pcVar3);" (call_expression "as_warn(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (return_statement "return (char *)pbVar8;" return (cast_expression "(char *)pbVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ;) })) (if_statement "if ((mri_string == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" if (parenthesized_expression "((mri_string == 0) || (uVar9 != 0))" ( (binary_expression "(mri_string == 0) || (uVar9 != 0)" (parenthesized_expression "(mri_string == 0)" ( (binary_expression "mri_string == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) ))) )) (compound_statement "{\nLAB_0002cde0:\n        uVar9 = 0;\n      }" { (labeled_statement "LAB_0002cde0:\n        uVar9 = 0;" statement_identifier : (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;)) }) (else_clause "else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" else (compound_statement "{\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" { (labeled_statement "joined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }" statement_identifier : (if_statement "if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          bVar10 = bVar1 == 0x22;\n        }" { (expression_statement "bVar10 = bVar1 == 0x22;" (assignment_expression "bVar10 = bVar1 == 0x22" identifier = (binary_expression "bVar1 == 0x22" identifier == number_literal)) ;) }) (else_clause "else {\n          bVar10 = bVar1 == bVar4;\n        }" else (compound_statement "{\n          bVar10 = bVar1 == bVar4;\n        }" { (expression_statement "bVar10 = bVar1 == bVar4;" (assignment_expression "bVar10 = bVar1 == bVar4" identifier = (binary_expression "bVar1 == bVar4" identifier == identifier)) ;) })))) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          uVar5 = uVar7 ^ uVar5;\n        }" { (expression_statement "uVar5 = uVar7 ^ uVar5;" (assignment_expression "uVar5 = uVar7 ^ uVar5" identifier = (binary_expression "uVar7 ^ uVar5" identifier ^ identifier)) ;) })) }))) }))) (expression_statement "uVar11 = CONCAT44(uVar5,pbVar8 + 1);" (assignment_expression "uVar11 = CONCAT44(uVar5,pbVar8 + 1)" identifier = (call_expression "CONCAT44(uVar5,pbVar8 + 1)" identifier (argument_list "(uVar5,pbVar8 + 1)" ( identifier , (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "byte * __regparm3 FUN_0002cd00(undefined4 param_1,int param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint extraout_ECX;\n  byte bVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  int unaff_EDI;\n  uint uVar9;\n  bool bVar10;\n  undefined8 uVar11;\n  \n  uVar11 = FUN_000350cf();\n  uVar9 = 0;\n  do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );\n}\n\n" (ERROR "byte * __regparm3 FUN_0002cd00(undefined4 param_1,int param_2)" (binary_expression "byte * __regparm3 FUN_0002cd00(undefined4 param_1,int param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_0002cd00(undefined4 param_1,int param_2)" identifier (argument_list "(undefined4 param_1,int param_2)" ( identifier (ERROR "param_1" identifier) , (ERROR "int" identifier) identifier ))))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint extraout_ECX;\n  byte bVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  int unaff_EDI;\n  uint uVar9;\n  bool bVar10;\n  undefined8 uVar11;\n  \n  uVar11 = FUN_000350cf();\n  uVar9 = 0;\n  do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint extraout_ECX;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (expression_statement "uVar11 = FUN_000350cf();" (assignment_expression "uVar11 = FUN_000350cf()" identifier = (call_expression "FUN_000350cf()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );" do (compound_statement "{\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  }" { (expression_statement "uVar5 = (uint)((ulonglong)uVar11 >> 0x20);" (assignment_expression "uVar5 = (uint)((ulonglong)uVar11 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pbVar8 = (byte *)uVar11;" (assignment_expression "pbVar8 = (byte *)uVar11" identifier = (cast_expression "(byte *)uVar11" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "uVar7 = (uint)bVar1;" (assignment_expression "uVar7 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "bVar4 = (byte)((ulonglong)uVar11 >> 0x20);" (assignment_expression "bVar4 = (byte)((ulonglong)uVar11 >> 0x20)" identifier = (call_expression "(byte)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" if (parenthesized_expression "((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))))))" ( (binary_expression "(*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))" (parenthesized_expression "(*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0')" ( (binary_expression "*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0'" (pointer_expression "*(char *)(unaff_EDI + 0x425d5 + uVar7)" * (cast_expression "(char *)(unaff_EDI + 0x425d5 + uVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x425d5 + uVar7)" ( (binary_expression "unaff_EDI + 0x425d5 + uVar7" (binary_expression "unaff_EDI + 0x425d5" identifier + number_literal) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))" ( (parenthesized_expression "(bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))))" ( (binary_expression "bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))" (binary_expression "bVar4 != 0" identifier != number_literal) && (parenthesized_expression "(((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))" ( (parenthesized_expression "((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))" ( (binary_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))" (binary_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0" (parenthesized_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2)" ( (binary_expression "*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2" (pointer_expression "*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" * (cast_expression "(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" ( (binary_expression "*(int *)(unaff_EDI + 0x42269) + uVar7 * 2" (pointer_expression "*(int *)(unaff_EDI + 0x42269)" * (cast_expression "(int *)(unaff_EDI + 0x42269)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x42269)" ( (binary_expression "unaff_EDI + 0x42269" identifier + number_literal) )))) + (binary_expression "uVar7 * 2" identifier * number_literal)) )))) & number_literal) )) == number_literal) || (parenthesized_expression "((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))" ( (parenthesized_expression "(bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))" ( (binary_expression "bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)" (binary_expression "bVar4 == 0x27" identifier == number_literal) && (parenthesized_expression "(*(int *)(unaff_EDI + 0x4b11d) != 0)" ( (binary_expression "*(int *)(unaff_EDI + 0x4b11d) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x4b11d)" * (cast_expression "(int *)(unaff_EDI + 0x4b11d)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x4b11d)" ( (binary_expression "unaff_EDI + 0x4b11d" identifier + number_literal) )))) != number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }" { (if_statement "if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }" if (parenthesized_expression "((param_2 == 0) || (bVar1 != 0x27))" ( (binary_expression "(param_2 == 0) || (bVar1 != 0x27)" (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar1 != 0x27)" ( (binary_expression "bVar1 != 0x27" identifier != number_literal) ))) )) (compound_statement "{\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }" { (if_statement "if (uVar9 != 0) goto LAB_0002cde0;" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002cde0;" goto statement_identifier ;)) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (if_statement "if (bVar1 != 0x5c) goto joined_r0x0002cdcf;" if (parenthesized_expression "(bVar1 != 0x5c)" ( (binary_expression "bVar1 != 0x5c" identifier != number_literal) )) (goto_statement "goto joined_r0x0002cdcf;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar5 = uVar5 ^ 0x27;\n      }" else (compound_statement "{\n        uVar5 = uVar5 ^ 0x27;\n      }" { (expression_statement "uVar5 = uVar5 ^ 0x27;" (assignment_expression "uVar5 = uVar5 ^ 0x27" identifier = (binary_expression "uVar5 ^ 0x27" identifier ^ number_literal)) ;) }))) }) (else_clause "else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" else (compound_statement "{\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" { (expression_statement "uVar6 = extraout_ECX & uVar9;" (assignment_expression "uVar6 = extraout_ECX & uVar9" identifier = (binary_expression "extraout_ECX & uVar9" identifier & identifier)) ;) (if_statement "if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }" { (expression_statement "uVar6 = uVar9;" (assignment_expression "uVar6 = uVar9" identifier = identifier) ;) (if_statement "if (bVar4 == 0) goto LAB_0002cdec;" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002cdec;" goto statement_identifier ;)) (goto_statement "goto LAB_0002cdfc;" goto statement_identifier ;) })) (if_statement "if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }" if (parenthesized_expression "(bVar1 != 0x40)" ( (binary_expression "bVar1 != 0x40" identifier != number_literal) )) (compound_statement "{\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }" { (if_statement "if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }" if (parenthesized_expression "(bVar4 != 0)" ( (binary_expression "bVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }" { (labeled_statement "LAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);" statement_identifier : (expression_statement "uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);" (assignment_expression "uVar3 = dcgettext(0,unaff_EDI + 0x26453,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0x26453,5)" identifier (argument_list "(0,unaff_EDI + 0x26453,5)" ( number_literal , (binary_expression "unaff_EDI + 0x26453" identifier + number_literal) , number_literal )))) ;)) (expression_statement "FUN_0002bc50(uVar3,(int)(char)bVar4);" (call_expression "FUN_0002bc50(uVar3,(int)(char)bVar4)" identifier (argument_list "(uVar3,(int)(char)bVar4)" ( identifier , (cast_expression "(int)(char)bVar4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar4" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (expression_statement "uVar9 = uVar6;" (assignment_expression "uVar9 = uVar6" identifier = identifier) ;) (labeled_statement "LAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }" statement_identifier : (if_statement "if (uVar9 == 0) {\n            return pbVar8;\n          }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            return pbVar8;\n          }" { (return_statement "return pbVar8;" return identifier ;) }))) })) (expression_statement "iVar2 = FUN_00019890();" (assignment_expression "iVar2 = FUN_00019890()" identifier = (call_expression "FUN_00019890()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 != 0) {\n          return pbVar8;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          return pbVar8;\n        }" { (return_statement "return pbVar8;" return identifier ;) })) (expression_statement "uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);" (assignment_expression "uVar3 = dcgettext(0,unaff_EDI + 0x26468,5)" identifier = (call_expression "dcgettext(0,unaff_EDI + 0x26468,5)" identifier (argument_list "(0,unaff_EDI + 0x26468,5)" ( number_literal , (binary_expression "unaff_EDI + 0x26468" identifier + number_literal) , number_literal )))) ;) (expression_statement "FUN_0002bc50(uVar3);" (call_expression "FUN_0002bc50(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return pbVar8;" return identifier ;) })) (if_statement "if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" if (parenthesized_expression "((param_2 == 0) || (uVar9 != 0))" ( (binary_expression "(param_2 == 0) || (uVar9 != 0)" (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) ))) )) (compound_statement "{\nLAB_0002cde0:\n        uVar9 = 0;\n      }" { (labeled_statement "LAB_0002cde0:\n        uVar9 = 0;" statement_identifier : (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;)) }) (else_clause "else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" else (compound_statement "{\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" { (labeled_statement "joined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }" statement_identifier : (if_statement "if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          bVar10 = bVar1 == 0x22;\n        }" { (expression_statement "bVar10 = bVar1 == 0x22;" (assignment_expression "bVar10 = bVar1 == 0x22" identifier = (binary_expression "bVar1 == 0x22" identifier == number_literal)) ;) }) (else_clause "else {\n          bVar10 = bVar1 == bVar4;\n        }" else (compound_statement "{\n          bVar10 = bVar1 == bVar4;\n        }" { (expression_statement "bVar10 = bVar1 == bVar4;" (assignment_expression "bVar10 = bVar1 == bVar4" identifier = (binary_expression "bVar1 == bVar4" identifier == identifier)) ;) })))) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n          uVar5 = uVar7 ^ uVar5;\n        }" { (expression_statement "uVar5 = uVar7 ^ uVar5;" (assignment_expression "uVar5 = uVar7 ^ uVar5" identifier = (binary_expression "uVar7 ^ uVar5" identifier ^ identifier)) ;) })) }))) }))) (expression_statement "uVar11 = CONCAT44(uVar5,pbVar8 + 1);" (assignment_expression "uVar11 = CONCAT44(uVar5,pbVar8 + 1)" identifier = (call_expression "CONCAT44(uVar5,pbVar8 + 1)" identifier (argument_list "(uVar5,pbVar8 + 1)" ( identifier , (binary_expression "pbVar8 + 1" identifier + number_literal) )))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) }))
(translation_unit (ERROR (binary_expression IDENT * (ERROR IDENT) (call_expression IDENT (argument_list ( IDENT (ERROR IDENT) , (ERROR IDENT) IDENT ))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (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) )))) + (binary_expression IDENT * LIT)) )))) & LIT) )) == LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) ))) )) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) }))) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) })))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) })) }))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) }) while (parenthesized_expression ( BOOL )) ;) }))
(ERROR "byte * __regparm3 FUN_0002cd00(undefined4 param_1,int param_2)" (binary_expression "byte * __regparm3 FUN_0002cd00(undefined4 param_1,int param_2)" (identifier "byte") (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (call_expression "FUN_0002cd00(undefined4 param_1,int param_2)" (identifier "FUN_0002cd00") (argument_list "(undefined4 param_1,int param_2)" (( "(") (identifier "undefined4") (ERROR "param_1" (identifier "param_1")) (, ",") (ERROR "int" (identifier "int")) (identifier "param_2") () ")"))))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint extraout_ECX;\n  byte bVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  byte *pbVar8;\n  int unaff_EDI;\n  uint uVar9;\n  bool bVar10;\n  undefined8 uVar11;\n  \n  uVar11 = FUN_000350cf();\n  uVar9 = 0;\n  do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "uint extraout_ECX;" (type_identifier "uint") (identifier "extraout_ECX") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "undefined8 uVar11;" (type_identifier "undefined8") (identifier "uVar11") (; ";")) (expression_statement "uVar11 = FUN_000350cf();" (assignment_expression "uVar11 = FUN_000350cf()" (identifier "uVar11") (= "=") (call_expression "FUN_000350cf()" (identifier "FUN_000350cf") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  } while( true );" (do "do") (compound_statement "{\n    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);\n    pbVar8 = (byte *)uVar11;\n    bVar1 = *pbVar8;\n    uVar7 = (uint)bVar1;\n    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);\n    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }\n    uVar11 = CONCAT44(uVar5,pbVar8 + 1);\n  }" ({ "{") (expression_statement "uVar5 = (uint)((ulonglong)uVar11 >> 0x20);" (assignment_expression "uVar5 = (uint)((ulonglong)uVar11 >> 0x20)" (identifier "uVar5") (= "=") (call_expression "(uint)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar11 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar11")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pbVar8 = (byte *)uVar11;" (assignment_expression "pbVar8 = (byte *)uVar11" (identifier "pbVar8") (= "=") (cast_expression "(byte *)uVar11" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar11"))) (; ";")) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" (identifier "bVar1") (= "=") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (; ";")) (expression_statement "uVar7 = (uint)bVar1;" (assignment_expression "uVar7 = (uint)bVar1" (identifier "uVar7") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (; ";")) (expression_statement "bVar4 = (byte)((ulonglong)uVar11 >> 0x20);" (assignment_expression "bVar4 = (byte)((ulonglong)uVar11 >> 0x20)" (identifier "bVar4") (= "=") (call_expression "(byte)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((ulonglong)uVar11 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar11")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }\n    else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" (if "if") (parenthesized_expression "((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))))))" (( "(") (binary_expression "(*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||\n       ((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))" (parenthesized_expression "(*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0')" (( "(") (binary_expression "*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0'" (pointer_expression "*(char *)(unaff_EDI + 0x425d5 + uVar7)" (* "*") (cast_expression "(char *)(unaff_EDI + 0x425d5 + uVar7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x425d5 + uVar7)" (( "(") (binary_expression "unaff_EDI + 0x425d5 + uVar7" (binary_expression "unaff_EDI + 0x425d5" (identifier "unaff_EDI") (+ "+") (number_literal "0x425d5")) (+ "+") (identifier "uVar7")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))" (( "(") (parenthesized_expression "(bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))))" (( "(") (binary_expression "bVar4 != 0 &&\n        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))" (binary_expression "bVar4 != 0" (identifier "bVar4") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))" (( "(") (parenthesized_expression "((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))))" (( "(") (binary_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||\n         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))" (binary_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0" (parenthesized_expression "(*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2)" (( "(") (binary_expression "*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2" (pointer_expression "*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" (* "*") (cast_expression "(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2)" (( "(") (binary_expression "*(int *)(unaff_EDI + 0x42269) + uVar7 * 2" (pointer_expression "*(int *)(unaff_EDI + 0x42269)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x42269)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x42269)" (( "(") (binary_expression "unaff_EDI + 0x42269" (identifier "unaff_EDI") (+ "+") (number_literal "0x42269")) () ")")))) (+ "+") (binary_expression "uVar7 * 2" (identifier "uVar7") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))" (( "(") (parenthesized_expression "(bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0))" (( "(") (binary_expression "bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)" (binary_expression "bVar4 == 0x27" (identifier "bVar4") (== "==") (number_literal "0x27")) (&& "&&") (parenthesized_expression "(*(int *)(unaff_EDI + 0x4b11d) != 0)" (( "(") (binary_expression "*(int *)(unaff_EDI + 0x4b11d) != 0" (pointer_expression "*(int *)(unaff_EDI + 0x4b11d)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x4b11d)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x4b11d)" (( "(") (binary_expression "unaff_EDI + 0x4b11d" (identifier "unaff_EDI") (+ "+") (number_literal "0x4b11d")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }\n    }" ({ "{") (if_statement "if ((param_2 == 0) || (bVar1 != 0x27)) {\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }\n      else {\n        uVar5 = uVar5 ^ 0x27;\n      }" (if "if") (parenthesized_expression "((param_2 == 0) || (bVar1 != 0x27))" (( "(") (binary_expression "(param_2 == 0) || (bVar1 != 0x27)" (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(bVar1 != 0x27)" (( "(") (binary_expression "bVar1 != 0x27" (identifier "bVar1") (!= "!=") (number_literal "0x27")) () ")"))) () ")")) (compound_statement "{\n        if (uVar9 != 0) goto LAB_0002cde0;\n        uVar9 = 1;\n        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;\n      }" ({ "{") (if_statement "if (uVar9 != 0) goto LAB_0002cde0;" (if "if") (parenthesized_expression "(uVar9 != 0)" (( "(") (binary_expression "uVar9 != 0" (identifier "uVar9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002cde0;" (goto "goto") (statement_identifier "LAB_0002cde0") (; ";"))) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" (identifier "uVar9") (= "=") (number_literal "1")) (; ";")) (if_statement "if (bVar1 != 0x5c) goto joined_r0x0002cdcf;" (if "if") (parenthesized_expression "(bVar1 != 0x5c)" (( "(") (binary_expression "bVar1 != 0x5c" (identifier "bVar1") (!= "!=") (number_literal "0x5c")) () ")")) (goto_statement "goto joined_r0x0002cdcf;" (goto "goto") (statement_identifier "joined_r0x0002cdcf") (; ";"))) (} "}")) (else_clause "else {\n        uVar5 = uVar5 ^ 0x27;\n      }" (else "else") (compound_statement "{\n        uVar5 = uVar5 ^ 0x27;\n      }" ({ "{") (expression_statement "uVar5 = uVar5 ^ 0x27;" (assignment_expression "uVar5 = uVar5 ^ 0x27" (identifier "uVar5") (= "=") (binary_expression "uVar5 ^ 0x27" (identifier "uVar5") (^ "^") (number_literal "0x27"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      uVar6 = extraout_ECX & uVar9;\n      if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }\n      if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }\n      if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }\n    }" ({ "{") (expression_statement "uVar6 = extraout_ECX & uVar9;" (assignment_expression "uVar6 = extraout_ECX & uVar9" (identifier "uVar6") (= "=") (binary_expression "extraout_ECX & uVar9" (identifier "extraout_ECX") (& "&") (identifier "uVar9"))) (; ";")) (if_statement "if (uVar6 == 0) {\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar6 = uVar9;\n        if (bVar4 == 0) goto LAB_0002cdec;\n        goto LAB_0002cdfc;\n      }" ({ "{") (expression_statement "uVar6 = uVar9;" (assignment_expression "uVar6 = uVar9" (identifier "uVar6") (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (bVar4 == 0) goto LAB_0002cdec;" (if "if") (parenthesized_expression "(bVar4 == 0)" (( "(") (binary_expression "bVar4 == 0" (identifier "bVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002cdec;" (goto "goto") (statement_identifier "LAB_0002cdec") (; ";"))) (goto_statement "goto LAB_0002cdfc;" (goto "goto") (statement_identifier "LAB_0002cdfc") (; ";")) (} "}"))) (if_statement "if (bVar1 != 0x40) {\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }" (if "if") (parenthesized_expression "(bVar1 != 0x40)" (( "(") (binary_expression "bVar1 != 0x40" (identifier "bVar1") (!= "!=") (number_literal "0x40")) () ")")) (compound_statement "{\n        if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }\n        iVar2 = FUN_00019890();\n        if (iVar2 != 0) {\n          return pbVar8;\n        }\n        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);\n        FUN_0002bc50(uVar3);\n        return pbVar8;\n      }" ({ "{") (if_statement "if (bVar4 != 0) {\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }" (if "if") (parenthesized_expression "(bVar4 != 0)" (( "(") (binary_expression "bVar4 != 0" (identifier "bVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);\n          FUN_0002bc50(uVar3,(int)(char)bVar4);\n          uVar9 = uVar6;\nLAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }\n        }" ({ "{") (labeled_statement "LAB_0002cdfc:\n          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);" (statement_identifier "LAB_0002cdfc") (: ":") (expression_statement "uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);" (assignment_expression "uVar3 = dcgettext(0,unaff_EDI + 0x26453,5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,unaff_EDI + 0x26453,5)" (identifier "dcgettext") (argument_list "(0,unaff_EDI + 0x26453,5)" (( "(") (number_literal "0") (, ",") (binary_expression "unaff_EDI + 0x26453" (identifier "unaff_EDI") (+ "+") (number_literal "0x26453")) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0002bc50(uVar3,(int)(char)bVar4);" (call_expression "FUN_0002bc50(uVar3,(int)(char)bVar4)" (identifier "FUN_0002bc50") (argument_list "(uVar3,(int)(char)bVar4)" (( "(") (identifier "uVar3") (, ",") (cast_expression "(int)(char)bVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar4" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar4"))) () ")"))) (; ";")) (expression_statement "uVar9 = uVar6;" (assignment_expression "uVar9 = uVar6" (identifier "uVar9") (= "=") (identifier "uVar6")) (; ";")) (labeled_statement "LAB_0002cdec:\n          if (uVar9 == 0) {\n            return pbVar8;\n          }" (statement_identifier "LAB_0002cdec") (: ":") (if_statement "if (uVar9 == 0) {\n            return pbVar8;\n          }" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            return pbVar8;\n          }" ({ "{") (return_statement "return pbVar8;" (return "return") (identifier "pbVar8") (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar2 = FUN_00019890();" (assignment_expression "iVar2 = FUN_00019890()" (identifier "iVar2") (= "=") (call_expression "FUN_00019890()" (identifier "FUN_00019890") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n          return pbVar8;\n        }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          return pbVar8;\n        }" ({ "{") (return_statement "return pbVar8;" (return "return") (identifier "pbVar8") (; ";")) (} "}"))) (expression_statement "uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);" (assignment_expression "uVar3 = dcgettext(0,unaff_EDI + 0x26468,5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,unaff_EDI + 0x26468,5)" (identifier "dcgettext") (argument_list "(0,unaff_EDI + 0x26468,5)" (( "(") (number_literal "0") (, ",") (binary_expression "unaff_EDI + 0x26468" (identifier "unaff_EDI") (+ "+") (number_literal "0x26468")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc50(uVar3);" (call_expression "FUN_0002bc50(uVar3)" (identifier "FUN_0002bc50") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (return_statement "return pbVar8;" (return "return") (identifier "pbVar8") (; ";")) (} "}"))) (if_statement "if ((param_2 == 0) || (uVar9 != 0)) {\nLAB_0002cde0:\n        uVar9 = 0;\n      }\n      else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" (if "if") (parenthesized_expression "((param_2 == 0) || (uVar9 != 0))" (( "(") (binary_expression "(param_2 == 0) || (uVar9 != 0)" (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar9 != 0)" (( "(") (binary_expression "uVar9 != 0" (identifier "uVar9") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_0002cde0:\n        uVar9 = 0;\n      }" ({ "{") (labeled_statement "LAB_0002cde0:\n        uVar9 = 0;" (statement_identifier "LAB_0002cde0") (: ":") (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" (else "else") (compound_statement "{\njoined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }\n        uVar9 = 0;\n        if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }\n      }" ({ "{") (labeled_statement "joined_r0x0002cdcf:\n        if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }" (statement_identifier "joined_r0x0002cdcf") (: ":") (if_statement "if (bVar4 == 0) {\n          bVar10 = bVar1 == 0x22;\n        }\n        else {\n          bVar10 = bVar1 == bVar4;\n        }" (if "if") (parenthesized_expression "(bVar4 == 0)" (( "(") (binary_expression "bVar4 == 0" (identifier "bVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          bVar10 = bVar1 == 0x22;\n        }" ({ "{") (expression_statement "bVar10 = bVar1 == 0x22;" (assignment_expression "bVar10 = bVar1 == 0x22" (identifier "bVar10") (= "=") (binary_expression "bVar1 == 0x22" (identifier "bVar1") (== "==") (number_literal "0x22"))) (; ";")) (} "}")) (else_clause "else {\n          bVar10 = bVar1 == bVar4;\n        }" (else "else") (compound_statement "{\n          bVar10 = bVar1 == bVar4;\n        }" ({ "{") (expression_statement "bVar10 = bVar1 == bVar4;" (assignment_expression "bVar10 = bVar1 == bVar4" (identifier "bVar10") (= "=") (binary_expression "bVar1 == bVar4" (identifier "bVar1") (== "==") (identifier "bVar4"))) (; ";")) (} "}"))))) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if (bVar10) {\n          uVar5 = uVar7 ^ uVar5;\n        }" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (compound_statement "{\n          uVar5 = uVar7 ^ uVar5;\n        }" ({ "{") (expression_statement "uVar5 = uVar7 ^ uVar5;" (assignment_expression "uVar5 = uVar7 ^ uVar5" (identifier "uVar5") (= "=") (binary_expression "uVar7 ^ uVar5" (identifier "uVar7") (^ "^") (identifier "uVar5"))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "uVar11 = CONCAT44(uVar5,pbVar8 + 1);" (assignment_expression "uVar11 = CONCAT44(uVar5,pbVar8 + 1)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(uVar5,pbVar8 + 1)" (identifier "CONCAT44") (argument_list "(uVar5,pbVar8 + 1)" (( "(") (identifier "uVar5") (, ",") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))

char * __regparm3 function_1(char *s,int var_5,int insn,int in_macro)

{
  type_1 var_6;
  int var_14;
  char *pcVar3;
  type_2 var_9;
  type_1 var_4;
  type_2 var_8;
  type_2 var_10;
  type_2 var_3;
  type_1 *var_16;
  int var_2;
  type_2 var_7;
  bool bVar10;
  type_3 uVar11;
  
  uVar11 = var_1();
  var_7 = 0;
  do {
    var_8 = (type_2)((type_4)uVar11 >> 0x20);
    var_16 = (type_1 *)uVar11;
    var_6 = *var_16;
    var_3 = (type_2)var_6;
    var_4 = (type_1)((type_4)uVar11 >> 0x20);
    if ((*(char *)(var_2 + 0x425d5 + var_3) == '\0') ||
       ((var_4 != 0 &&
        (((*(type_1 *)(*(int *)(var_2 + 0x42269) + var_3 * 2) & 2) == 0 ||
         ((var_4 == 0x27 && (*(int *)(var_2 + 0x4b11d) != 0)))))))) {
      if ((var_5 == 0) || (var_6 != 0x27)) {
        if (var_7 != 0) goto LAB_0002cde0;
        var_7 = 1;
        if (var_6 != 0x5c) goto joined_r0x0002cdcf;
      }
      else {
        var_8 = var_8 ^ 0x27;
      }
    }
    else {
      var_10 = var_9 & var_7;
      if (var_10 == 0) {
        var_10 = var_7;
        if (var_4 == 0) goto LAB_0002cdec;
        goto LAB_0002cdfc;
      }
      if (var_6 != 0x40) {
        if (var_4 != 0) {
LAB_0002cdfc:
          pcVar3 = (char *)var_11(0,var_2 + 0x26453,5);
          var_12(pcVar3,(int)(char)var_4);
          var_7 = var_10;
LAB_0002cdec:
          if (var_7 == 0) {
            return (char *)var_16;
          }
        }
        var_14 = var_13();
        if (var_14 != 0) {
          return (char *)var_16;
        }
        pcVar3 = (char *)var_11(0,var_2 + 0x26468,5);
        var_12(pcVar3);
        return (char *)var_16;
      }
      if ((var_5 == 0) || (var_7 != 0)) {
LAB_0002cde0:
        var_7 = 0;
      }
      else {
joined_r0x0002cdcf:
        if (var_4 == 0) {
          bVar10 = var_6 == 0x22;
        }
        else {
          bVar10 = var_6 == var_4;
        }
        var_7 = 0;
        if (bVar10) {
          var_8 = var_3 ^ var_8;
        }
      }
    }
    uVar11 = var_15(var_8,var_16 + 1);
  } while( true );
}


(translation_unit (ERROR (binary_expression left: (identifier) (ERROR (identifier)) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (ERROR (identifier)) (ERROR (identifier)) (identifier))))) (compound_statement (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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (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)))))))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (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)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) condition: (parenthesized_expression (true)))))

byte * __regparm3 MASKED(undefined4 param_1,int param_2)

{
  byte bVar1;
  int iVar2;
  undefined4 uVar3;
  uint extraout_ECX;
  byte bVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  byte *pbVar8;
  int unaff_EDI;
  uint uVar9;
  bool bVar10;
  undefined8 uVar11;
  
  uVar11 = FUN_000350cf();
  uVar9 = 0;
  do {
    uVar5 = (uint)((ulonglong)uVar11 >> 0x20);
    pbVar8 = (byte *)uVar11;
    bVar1 = *pbVar8;
    uVar7 = (uint)bVar1;
    bVar4 = (byte)((ulonglong)uVar11 >> 0x20);
    if ((*(char *)(unaff_EDI + 0x425d5 + uVar7) == '\0') ||
       ((bVar4 != 0 &&
        (((*(byte *)(*(int *)(unaff_EDI + 0x42269) + uVar7 * 2) & 2) == 0 ||
         ((bVar4 == 0x27 && (*(int *)(unaff_EDI + 0x4b11d) != 0)))))))) {
      if ((param_2 == 0) || (bVar1 != 0x27)) {
        if (uVar9 != 0) goto LAB_0002cde0;
        uVar9 = 1;
        if (bVar1 != 0x5c) goto joined_r0x0002cdcf;
      }
      else {
        uVar5 = uVar5 ^ 0x27;
      }
    }
    else {
      uVar6 = extraout_ECX & uVar9;
      if (uVar6 == 0) {
        uVar6 = uVar9;
        if (bVar4 == 0) goto LAB_0002cdec;
        goto LAB_0002cdfc;
      }
      if (bVar1 != 0x40) {
        if (bVar4 != 0) {
LAB_0002cdfc:
          uVar3 = dcgettext(0,unaff_EDI + 0x26453,5);
          FUN_0002bc50(uVar3,(int)(char)bVar4);
          uVar9 = uVar6;
LAB_0002cdec:
          if (uVar9 == 0) {
            return pbVar8;
          }
        }
        iVar2 = FUN_00019890();
        if (iVar2 != 0) {
          return pbVar8;
        }
        uVar3 = dcgettext(0,unaff_EDI + 0x26468,5);
        FUN_0002bc50(uVar3);
        return pbVar8;
      }
      if ((param_2 == 0) || (uVar9 != 0)) {
LAB_0002cde0:
        uVar9 = 0;
      }
      else {
joined_r0x0002cdcf:
        if (bVar4 == 0) {
          bVar10 = bVar1 == 0x22;
        }
        else {
          bVar10 = bVar1 == bVar4;
        }
        uVar9 = 0;
        if (bVar10) {
          uVar5 = uVar7 ^ uVar5;
        }
      }
    }
    uVar11 = CONCAT44(uVar5,pbVar8 + 1);
  } while( true );
}

