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

void __regparm3 sha1_key_internal(void *handle,uchar *key,int len)

{
  int iVar1;
  int iVar2;
  int in_GS_OFFSET;
  uchar foo [64];
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  iVar2 = 0;
  builtin_memcpy(foo,"6666666666666666666666666666666666666666666666666666666666666666",0x40);
  if (len < 1) {
    *(undefined4 *)handle = 0x67452301;
    *(undefined4 *)((int)handle + 4) = 0xefcdab89;
    *(undefined4 *)((int)handle + 8) = 0x98badcfe;
    *(undefined4 *)((int)handle + 0xc) = 0x10325476;
    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;
    *(undefined4 *)((int)handle + 0x54) = 0;
    *(undefined4 *)((int)handle + 0x5c) = 0;
    *(undefined4 *)((int)handle + 0x58) = 0;
    SHA_Bytes((SHA_State *)handle,foo,0x40);
    builtin_memcpy(foo,
                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
                   ,0x40);
  }
  else {
    do {
      foo[iVar2] = foo[iVar2] ^ key[iVar2];
      iVar2 = iVar2 + 1;
      if (len <= iVar2) break;
    } while (iVar2 < 0x40);
    *(undefined4 *)handle = 0x67452301;
    *(undefined4 *)((int)handle + 4) = 0xefcdab89;
    *(undefined4 *)((int)handle + 8) = 0x98badcfe;
    *(undefined4 *)((int)handle + 0xc) = 0x10325476;
    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;
    *(undefined4 *)((int)handle + 0x54) = 0;
    *(undefined4 *)((int)handle + 0x5c) = 0;
    *(undefined4 *)((int)handle + 0x58) = 0;
    SHA_Bytes((SHA_State *)handle,foo,0x40);
    builtin_memcpy(foo,
                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
                   ,0x40);
    iVar2 = 0;
    do {
      foo[iVar2] = foo[iVar2] ^ key[iVar2];
      iVar2 = iVar2 + 1;
      if (len <= iVar2) break;
    } while (iVar2 < 0x40);
  }
  *(undefined4 *)((int)handle + 0x60) = 0x67452301;
  *(undefined4 *)((int)handle + 100) = 0xefcdab89;
  *(undefined4 *)((int)handle + 0x68) = 0x98badcfe;
  *(undefined4 *)((int)handle + 0x6c) = 0x10325476;
  *(undefined4 *)((int)handle + 0x70) = 0xc3d2e1f0;
  *(undefined4 *)((int)handle + 0xb4) = 0;
  *(undefined4 *)((int)handle + 0xbc) = 0;
  *(undefined4 *)((int)handle + 0xb8) = 0;
  SHA_Bytes((SHA_State *)((int)handle + 0x60),foo,0x40);
  smemclr(foo,0x40);
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return;
}



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

void __regparm3 FUN_00037ff0(undefined4 *param_1,int param_2,int param_3)

{
  int iVar1;
  int in_GS_OFFSET;
  byte local_60 [64];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x37ffb;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar1 = 0;
  local_60[0] = 0x36;
  local_60[1] = 0x36;
  local_60[2] = 0x36;
  local_60[3] = 0x36;
  local_60[4] = 0x36;
  local_60[5] = 0x36;
  local_60[6] = 0x36;
  local_60[7] = 0x36;
  local_60[8] = 0x36;
  local_60[9] = 0x36;
  local_60[10] = 0x36;
  local_60[0xb] = 0x36;
  local_60[0xc] = 0x36;
  local_60[0xd] = 0x36;
  local_60[0xe] = 0x36;
  local_60[0xf] = 0x36;
  local_60[0x10] = 0x36;
  local_60[0x11] = 0x36;
  local_60[0x12] = 0x36;
  local_60[0x13] = 0x36;
  local_60[0x14] = 0x36;
  local_60[0x15] = 0x36;
  local_60[0x16] = 0x36;
  local_60[0x17] = 0x36;
  local_60[0x18] = 0x36;
  local_60[0x19] = 0x36;
  local_60[0x1a] = 0x36;
  local_60[0x1b] = 0x36;
  local_60[0x1c] = 0x36;
  local_60[0x1d] = 0x36;
  local_60[0x1e] = 0x36;
  local_60[0x1f] = 0x36;
  local_60[0x20] = 0x36;
  local_60[0x21] = 0x36;
  local_60[0x22] = 0x36;
  local_60[0x23] = 0x36;
  local_60[0x24] = 0x36;
  local_60[0x25] = 0x36;
  local_60[0x26] = 0x36;
  local_60[0x27] = 0x36;
  local_60[0x28] = 0x36;
  local_60[0x29] = 0x36;
  local_60[0x2a] = 0x36;
  local_60[0x2b] = 0x36;
  local_60[0x2c] = 0x36;
  local_60[0x2d] = 0x36;
  local_60[0x2e] = 0x36;
  local_60[0x2f] = 0x36;
  local_60[0x30] = 0x36;
  local_60[0x31] = 0x36;
  local_60[0x32] = 0x36;
  local_60[0x33] = 0x36;
  local_60[0x34] = 0x36;
  local_60[0x35] = 0x36;
  local_60[0x36] = 0x36;
  local_60[0x37] = 0x36;
  local_60[0x38] = 0x36;
  local_60[0x39] = 0x36;
  local_60[0x3a] = 0x36;
  local_60[0x3b] = 0x36;
  local_60[0x3c] = 0x36;
  local_60[0x3d] = 0x36;
  local_60[0x3e] = 0x36;
  local_60[0x3f] = 0x36;
  if (param_3 < 1) {
    *param_1 = 0x67452301;
    param_1[1] = 0xefcdab89;
    param_1[2] = 0x98badcfe;
    param_1[3] = 0x10325476;
    param_1[4] = 0xc3d2e1f0;
    param_1[0x15] = 0;
    param_1[0x17] = 0;
    param_1[0x16] = 0;
    FUN_00037e70(param_1,local_60,0x40);
    local_60[0] = 0x5c;
    local_60[1] = 0x5c;
    local_60[2] = 0x5c;
    local_60[3] = 0x5c;
    local_60[4] = 0x5c;
    local_60[5] = 0x5c;
    local_60[6] = 0x5c;
    local_60[7] = 0x5c;
    local_60[8] = 0x5c;
    local_60[9] = 0x5c;
    local_60[10] = 0x5c;
    local_60[0xb] = 0x5c;
    local_60[0xc] = 0x5c;
    local_60[0xd] = 0x5c;
    local_60[0xe] = 0x5c;
    local_60[0xf] = 0x5c;
    local_60[0x10] = 0x5c;
    local_60[0x11] = 0x5c;
    local_60[0x12] = 0x5c;
    local_60[0x13] = 0x5c;
    local_60[0x14] = 0x5c;
    local_60[0x15] = 0x5c;
    local_60[0x16] = 0x5c;
    local_60[0x17] = 0x5c;
    local_60[0x18] = 0x5c;
    local_60[0x19] = 0x5c;
    local_60[0x1a] = 0x5c;
    local_60[0x1b] = 0x5c;
    local_60[0x1c] = 0x5c;
    local_60[0x1d] = 0x5c;
    local_60[0x1e] = 0x5c;
    local_60[0x1f] = 0x5c;
    local_60[0x20] = 0x5c;
    local_60[0x21] = 0x5c;
    local_60[0x22] = 0x5c;
    local_60[0x23] = 0x5c;
    local_60[0x24] = 0x5c;
    local_60[0x25] = 0x5c;
    local_60[0x26] = 0x5c;
    local_60[0x27] = 0x5c;
    local_60[0x28] = 0x5c;
    local_60[0x29] = 0x5c;
    local_60[0x2a] = 0x5c;
    local_60[0x2b] = 0x5c;
    local_60[0x2c] = 0x5c;
    local_60[0x2d] = 0x5c;
    local_60[0x2e] = 0x5c;
    local_60[0x2f] = 0x5c;
    local_60[0x30] = 0x5c;
    local_60[0x31] = 0x5c;
    local_60[0x32] = 0x5c;
    local_60[0x33] = 0x5c;
    local_60[0x34] = 0x5c;
    local_60[0x35] = 0x5c;
    local_60[0x36] = 0x5c;
    local_60[0x37] = 0x5c;
    local_60[0x38] = 0x5c;
    local_60[0x39] = 0x5c;
    local_60[0x3a] = 0x5c;
    local_60[0x3b] = 0x5c;
    local_60[0x3c] = 0x5c;
    local_60[0x3d] = 0x5c;
    local_60[0x3e] = 0x5c;
    local_60[0x3f] = 0x5c;
  }
  else {
    do {
      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);
      iVar1 = iVar1 + 1;
      if (param_3 <= iVar1) break;
    } while (iVar1 < 0x40);
    *param_1 = 0x67452301;
    param_1[1] = 0xefcdab89;
    param_1[2] = 0x98badcfe;
    param_1[3] = 0x10325476;
    param_1[4] = 0xc3d2e1f0;
    param_1[0x15] = 0;
    param_1[0x17] = 0;
    param_1[0x16] = 0;
    FUN_00037e70(param_1,local_60,0x40);
    local_60[0] = 0x5c;
    local_60[1] = 0x5c;
    local_60[2] = 0x5c;
    local_60[3] = 0x5c;
    iVar1 = 0;
    local_60[4] = 0x5c;
    local_60[5] = 0x5c;
    local_60[6] = 0x5c;
    local_60[7] = 0x5c;
    local_60[8] = 0x5c;
    local_60[9] = 0x5c;
    local_60[10] = 0x5c;
    local_60[0xb] = 0x5c;
    local_60[0xc] = 0x5c;
    local_60[0xd] = 0x5c;
    local_60[0xe] = 0x5c;
    local_60[0xf] = 0x5c;
    local_60[0x10] = 0x5c;
    local_60[0x11] = 0x5c;
    local_60[0x12] = 0x5c;
    local_60[0x13] = 0x5c;
    local_60[0x14] = 0x5c;
    local_60[0x15] = 0x5c;
    local_60[0x16] = 0x5c;
    local_60[0x17] = 0x5c;
    local_60[0x18] = 0x5c;
    local_60[0x19] = 0x5c;
    local_60[0x1a] = 0x5c;
    local_60[0x1b] = 0x5c;
    local_60[0x1c] = 0x5c;
    local_60[0x1d] = 0x5c;
    local_60[0x1e] = 0x5c;
    local_60[0x1f] = 0x5c;
    local_60[0x20] = 0x5c;
    local_60[0x21] = 0x5c;
    local_60[0x22] = 0x5c;
    local_60[0x23] = 0x5c;
    local_60[0x24] = 0x5c;
    local_60[0x25] = 0x5c;
    local_60[0x26] = 0x5c;
    local_60[0x27] = 0x5c;
    local_60[0x28] = 0x5c;
    local_60[0x29] = 0x5c;
    local_60[0x2a] = 0x5c;
    local_60[0x2b] = 0x5c;
    local_60[0x2c] = 0x5c;
    local_60[0x2d] = 0x5c;
    local_60[0x2e] = 0x5c;
    local_60[0x2f] = 0x5c;
    local_60[0x30] = 0x5c;
    local_60[0x31] = 0x5c;
    local_60[0x32] = 0x5c;
    local_60[0x33] = 0x5c;
    local_60[0x34] = 0x5c;
    local_60[0x35] = 0x5c;
    local_60[0x36] = 0x5c;
    local_60[0x37] = 0x5c;
    local_60[0x38] = 0x5c;
    local_60[0x39] = 0x5c;
    local_60[0x3a] = 0x5c;
    local_60[0x3b] = 0x5c;
    local_60[0x3c] = 0x5c;
    local_60[0x3d] = 0x5c;
    local_60[0x3e] = 0x5c;
    local_60[0x3f] = 0x5c;
    do {
      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);
      iVar1 = iVar1 + 1;
      if (param_3 <= iVar1) break;
    } while (iVar1 < 0x40);
  }
  param_1[0x18] = 0x67452301;
  param_1[0x19] = 0xefcdab89;
  param_1[0x1a] = 0x98badcfe;
  param_1[0x1b] = 0x10325476;
  param_1[0x1c] = 0xc3d2e1f0;
  param_1[0x2d] = 0;
  param_1[0x2f] = 0;
  param_1[0x2e] = 0;
  FUN_00037e70(param_1 + 0x18,local_60,0x40);
  FUN_0001c6d0(local_60,0x40);
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0003dc30();
  }
  return;
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
PUSH EBX
CALL 0x00014540
ADD EBX,0x24e69
SUB ESP,0x6c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x5c],EAX
XOR EAX,EAX
LEA ESI,[ESP + 0x1c]
MOV dword ptr [ESP + 0x1c],0x36363636
MOV dword ptr [ESP + 0x20],0x36363636
MOV dword ptr [ESP + 0x24],0x36363636
MOV dword ptr [ESP + 0x28],0x36363636
MOV dword ptr [ESP + 0x2c],0x36363636
MOV dword ptr [ESP + 0x30],0x36363636
MOV dword ptr [ESP + 0x34],0x36363636
MOV dword ptr [ESP + 0x38],0x36363636
MOV dword ptr [ESP + 0x3c],0x36363636
MOV dword ptr [ESP + 0x40],0x36363636
MOV dword ptr [ESP + 0x44],0x36363636
MOV dword ptr [ESP + 0x48],0x36363636
MOV dword ptr [ESP + 0x4c],0x36363636
MOV dword ptr [ESP + 0x50],0x36363636
MOV dword ptr [ESP + 0x54],0x36363636
MOV dword ptr [ESP + 0x58],0x36363636
TEST ECX,ECX
JLE 0x00038218
MOV EBP,EDX
NOP
MOVZX EDX,byte ptr [ESI + EAX*0x1]
XOR DL,byte ptr [EBP + EAX*0x1]
MOV byte ptr [ESI + EAX*0x1],DL
ADD EAX,0x1
CMP ECX,EAX
JLE 0x000380b7
CMP EAX,0x3f
JLE 0x000380a0
MOV dword ptr [ESP + 0xc],ECX
SUB ESP,0x4
MOV dword ptr [EDI],0x67452301
MOV dword ptr [EDI + 0x4],0xefcdab89
MOV dword ptr [EDI + 0x8],0x98badcfe
MOV dword ptr [EDI + 0xc],0x10325476
MOV dword ptr [EDI + 0x10],0xc3d2e1f0
MOV dword ptr [EDI + 0x54],0x0
MOV dword ptr [EDI + 0x5c],0x0
MOV dword ptr [EDI + 0x58],0x0
PUSH 0x40
PUSH ESI
PUSH EDI
CALL 0x00037e70
MOV dword ptr [ESP + 0x2c],0x5c5c5c5c
XOR EAX,EAX
MOV dword ptr [ESP + 0x30],0x5c5c5c5c
MOV dword ptr [ESP + 0x34],0x5c5c5c5c
MOV dword ptr [ESP + 0x38],0x5c5c5c5c
MOV dword ptr [ESP + 0x3c],0x5c5c5c5c
MOV dword ptr [ESP + 0x40],0x5c5c5c5c
MOV dword ptr [ESP + 0x44],0x5c5c5c5c
MOV dword ptr [ESP + 0x48],0x5c5c5c5c
MOV dword ptr [ESP + 0x4c],0x5c5c5c5c
MOV dword ptr [ESP + 0x50],0x5c5c5c5c
MOV dword ptr [ESP + 0x54],0x5c5c5c5c
MOV dword ptr [ESP + 0x58],0x5c5c5c5c
MOV dword ptr [ESP + 0x5c],0x5c5c5c5c
MOV dword ptr [ESP + 0x60],0x5c5c5c5c
MOV dword ptr [ESP + 0x64],0x5c5c5c5c
MOV dword ptr [ESP + 0x68],0x5c5c5c5c
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0xc]
LEA ESI,[ESI]
NOP
MOVZX EDX,byte ptr [ESI + EAX*0x1]
XOR DL,byte ptr [EBP + EAX*0x1]
MOV byte ptr [ESI + EAX*0x1],DL
ADD EAX,0x1
CMP ECX,EAX
JLE 0x000381a7
CMP EAX,0x3f
JLE 0x00038190
SUB ESP,0x4
MOV dword ptr [EDI + 0x60],0x67452301
ADD EDI,0x60
MOV dword ptr [EDI + 0x4],0xefcdab89
MOV dword ptr [EDI + 0x8],0x98badcfe
MOV dword ptr [EDI + 0xc],0x10325476
MOV dword ptr [EDI + 0x10],0xc3d2e1f0
MOV dword ptr [EDI + 0x54],0x0
MOV dword ptr [EDI + 0x5c],0x0
MOV dword ptr [EDI + 0x58],0x0
PUSH 0x40
PUSH ESI
PUSH EDI
CALL 0x00037e70
POP EAX
POP EDX
PUSH 0x40
PUSH ESI
CALL 0x0001c6d0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x5c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x000382e3
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
MOV dword ptr [EDI],0x67452301
MOV dword ptr [EDI + 0x4],0xefcdab89
MOV dword ptr [EDI + 0x8],0x98badcfe
MOV dword ptr [EDI + 0xc],0x10325476
MOV dword ptr [EDI + 0x10],0xc3d2e1f0
MOV dword ptr [EDI + 0x54],0x0
MOV dword ptr [EDI + 0x5c],0x0
MOV dword ptr [EDI + 0x58],0x0
PUSH 0x40
PUSH ESI
PUSH EDI
CALL 0x00037e70
MOV dword ptr [ESP + 0x2c],0x5c5c5c5c
MOV dword ptr [ESP + 0x30],0x5c5c5c5c
MOV dword ptr [ESP + 0x34],0x5c5c5c5c
MOV dword ptr [ESP + 0x38],0x5c5c5c5c
MOV dword ptr [ESP + 0x3c],0x5c5c5c5c
MOV dword ptr [ESP + 0x40],0x5c5c5c5c
MOV dword ptr [ESP + 0x44],0x5c5c5c5c
MOV dword ptr [ESP + 0x48],0x5c5c5c5c
MOV dword ptr [ESP + 0x4c],0x5c5c5c5c
MOV dword ptr [ESP + 0x50],0x5c5c5c5c
MOV dword ptr [ESP + 0x54],0x5c5c5c5c
MOV dword ptr [ESP + 0x58],0x5c5c5c5c
MOV dword ptr [ESP + 0x5c],0x5c5c5c5c
MOV dword ptr [ESP + 0x60],0x5c5c5c5c
MOV dword ptr [ESP + 0x64],0x5c5c5c5c
MOV dword ptr [ESP + 0x68],0x5c5c5c5c
ADD ESP,0x10
JMP 0x000381a7
CALL 0x0003dc30
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_00037ff0(undefined4 *param_1,int param_2,int param_3)\n\n{\n  int iVar1;\n  int in_GS_OFFSET;\n  byte local_60 [64];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x37ffb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  local_60[0] = 0x36;\n  local_60[1] = 0x36;\n  local_60[2] = 0x36;\n  local_60[3] = 0x36;\n  local_60[4] = 0x36;\n  local_60[5] = 0x36;\n  local_60[6] = 0x36;\n  local_60[7] = 0x36;\n  local_60[8] = 0x36;\n  local_60[9] = 0x36;\n  local_60[10] = 0x36;\n  local_60[0xb] = 0x36;\n  local_60[0xc] = 0x36;\n  local_60[0xd] = 0x36;\n  local_60[0xe] = 0x36;\n  local_60[0xf] = 0x36;\n  local_60[0x10] = 0x36;\n  local_60[0x11] = 0x36;\n  local_60[0x12] = 0x36;\n  local_60[0x13] = 0x36;\n  local_60[0x14] = 0x36;\n  local_60[0x15] = 0x36;\n  local_60[0x16] = 0x36;\n  local_60[0x17] = 0x36;\n  local_60[0x18] = 0x36;\n  local_60[0x19] = 0x36;\n  local_60[0x1a] = 0x36;\n  local_60[0x1b] = 0x36;\n  local_60[0x1c] = 0x36;\n  local_60[0x1d] = 0x36;\n  local_60[0x1e] = 0x36;\n  local_60[0x1f] = 0x36;\n  local_60[0x20] = 0x36;\n  local_60[0x21] = 0x36;\n  local_60[0x22] = 0x36;\n  local_60[0x23] = 0x36;\n  local_60[0x24] = 0x36;\n  local_60[0x25] = 0x36;\n  local_60[0x26] = 0x36;\n  local_60[0x27] = 0x36;\n  local_60[0x28] = 0x36;\n  local_60[0x29] = 0x36;\n  local_60[0x2a] = 0x36;\n  local_60[0x2b] = 0x36;\n  local_60[0x2c] = 0x36;\n  local_60[0x2d] = 0x36;\n  local_60[0x2e] = 0x36;\n  local_60[0x2f] = 0x36;\n  local_60[0x30] = 0x36;\n  local_60[0x31] = 0x36;\n  local_60[0x32] = 0x36;\n  local_60[0x33] = 0x36;\n  local_60[0x34] = 0x36;\n  local_60[0x35] = 0x36;\n  local_60[0x36] = 0x36;\n  local_60[0x37] = 0x36;\n  local_60[0x38] = 0x36;\n  local_60[0x39] = 0x36;\n  local_60[0x3a] = 0x36;\n  local_60[0x3b] = 0x36;\n  local_60[0x3c] = 0x36;\n  local_60[0x3d] = 0x36;\n  local_60[0x3e] = 0x36;\n  local_60[0x3f] = 0x36;\n  if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }\n  param_1[0x18] = 0x67452301;\n  param_1[0x19] = 0xefcdab89;\n  param_1[0x1a] = 0x98badcfe;\n  param_1[0x1b] = 0x10325476;\n  param_1[0x1c] = 0xc3d2e1f0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x2e] = 0;\n  FUN_00037e70(param_1 + 0x18,local_60,0x40);\n  FUN_0001c6d0(local_60,0x40);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0003dc30();\n  }\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_00037ff0(undefined4 *param_1,int param_2,int param_3)\n\n{\n  int iVar1;\n  int in_GS_OFFSET;\n  byte local_60 [64];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x37ffb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  local_60[0] = 0x36;\n  local_60[1] = 0x36;\n  local_60[2] = 0x36;\n  local_60[3] = 0x36;\n  local_60[4] = 0x36;\n  local_60[5] = 0x36;\n  local_60[6] = 0x36;\n  local_60[7] = 0x36;\n  local_60[8] = 0x36;\n  local_60[9] = 0x36;\n  local_60[10] = 0x36;\n  local_60[0xb] = 0x36;\n  local_60[0xc] = 0x36;\n  local_60[0xd] = 0x36;\n  local_60[0xe] = 0x36;\n  local_60[0xf] = 0x36;\n  local_60[0x10] = 0x36;\n  local_60[0x11] = 0x36;\n  local_60[0x12] = 0x36;\n  local_60[0x13] = 0x36;\n  local_60[0x14] = 0x36;\n  local_60[0x15] = 0x36;\n  local_60[0x16] = 0x36;\n  local_60[0x17] = 0x36;\n  local_60[0x18] = 0x36;\n  local_60[0x19] = 0x36;\n  local_60[0x1a] = 0x36;\n  local_60[0x1b] = 0x36;\n  local_60[0x1c] = 0x36;\n  local_60[0x1d] = 0x36;\n  local_60[0x1e] = 0x36;\n  local_60[0x1f] = 0x36;\n  local_60[0x20] = 0x36;\n  local_60[0x21] = 0x36;\n  local_60[0x22] = 0x36;\n  local_60[0x23] = 0x36;\n  local_60[0x24] = 0x36;\n  local_60[0x25] = 0x36;\n  local_60[0x26] = 0x36;\n  local_60[0x27] = 0x36;\n  local_60[0x28] = 0x36;\n  local_60[0x29] = 0x36;\n  local_60[0x2a] = 0x36;\n  local_60[0x2b] = 0x36;\n  local_60[0x2c] = 0x36;\n  local_60[0x2d] = 0x36;\n  local_60[0x2e] = 0x36;\n  local_60[0x2f] = 0x36;\n  local_60[0x30] = 0x36;\n  local_60[0x31] = 0x36;\n  local_60[0x32] = 0x36;\n  local_60[0x33] = 0x36;\n  local_60[0x34] = 0x36;\n  local_60[0x35] = 0x36;\n  local_60[0x36] = 0x36;\n  local_60[0x37] = 0x36;\n  local_60[0x38] = 0x36;\n  local_60[0x39] = 0x36;\n  local_60[0x3a] = 0x36;\n  local_60[0x3b] = 0x36;\n  local_60[0x3c] = 0x36;\n  local_60[0x3d] = 0x36;\n  local_60[0x3e] = 0x36;\n  local_60[0x3f] = 0x36;\n  if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }\n  param_1[0x18] = 0x67452301;\n  param_1[0x19] = 0xefcdab89;\n  param_1[0x1a] = 0x98badcfe;\n  param_1[0x1b] = 0x10325476;\n  param_1[0x1c] = 0xc3d2e1f0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x2e] = 0;\n  FUN_00037e70(param_1 + 0x18,local_60,0x40);\n  FUN_0001c6d0(local_60,0x40);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0003dc30();\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00037ff0(undefined4 *param_1,int param_2,int param_3)" identifier (parameter_list "(undefined4 *param_1,int param_2,int param_3)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int in_GS_OFFSET;\n  byte local_60 [64];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x37ffb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  local_60[0] = 0x36;\n  local_60[1] = 0x36;\n  local_60[2] = 0x36;\n  local_60[3] = 0x36;\n  local_60[4] = 0x36;\n  local_60[5] = 0x36;\n  local_60[6] = 0x36;\n  local_60[7] = 0x36;\n  local_60[8] = 0x36;\n  local_60[9] = 0x36;\n  local_60[10] = 0x36;\n  local_60[0xb] = 0x36;\n  local_60[0xc] = 0x36;\n  local_60[0xd] = 0x36;\n  local_60[0xe] = 0x36;\n  local_60[0xf] = 0x36;\n  local_60[0x10] = 0x36;\n  local_60[0x11] = 0x36;\n  local_60[0x12] = 0x36;\n  local_60[0x13] = 0x36;\n  local_60[0x14] = 0x36;\n  local_60[0x15] = 0x36;\n  local_60[0x16] = 0x36;\n  local_60[0x17] = 0x36;\n  local_60[0x18] = 0x36;\n  local_60[0x19] = 0x36;\n  local_60[0x1a] = 0x36;\n  local_60[0x1b] = 0x36;\n  local_60[0x1c] = 0x36;\n  local_60[0x1d] = 0x36;\n  local_60[0x1e] = 0x36;\n  local_60[0x1f] = 0x36;\n  local_60[0x20] = 0x36;\n  local_60[0x21] = 0x36;\n  local_60[0x22] = 0x36;\n  local_60[0x23] = 0x36;\n  local_60[0x24] = 0x36;\n  local_60[0x25] = 0x36;\n  local_60[0x26] = 0x36;\n  local_60[0x27] = 0x36;\n  local_60[0x28] = 0x36;\n  local_60[0x29] = 0x36;\n  local_60[0x2a] = 0x36;\n  local_60[0x2b] = 0x36;\n  local_60[0x2c] = 0x36;\n  local_60[0x2d] = 0x36;\n  local_60[0x2e] = 0x36;\n  local_60[0x2f] = 0x36;\n  local_60[0x30] = 0x36;\n  local_60[0x31] = 0x36;\n  local_60[0x32] = 0x36;\n  local_60[0x33] = 0x36;\n  local_60[0x34] = 0x36;\n  local_60[0x35] = 0x36;\n  local_60[0x36] = 0x36;\n  local_60[0x37] = 0x36;\n  local_60[0x38] = 0x36;\n  local_60[0x39] = 0x36;\n  local_60[0x3a] = 0x36;\n  local_60[0x3b] = 0x36;\n  local_60[0x3c] = 0x36;\n  local_60[0x3d] = 0x36;\n  local_60[0x3e] = 0x36;\n  local_60[0x3f] = 0x36;\n  if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }\n  param_1[0x18] = 0x67452301;\n  param_1[0x19] = 0xefcdab89;\n  param_1[0x1a] = 0x98badcfe;\n  param_1[0x1b] = 0x10325476;\n  param_1[0x1c] = 0xc3d2e1f0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x2e] = 0;\n  FUN_00037e70(param_1 + 0x18,local_60,0x40);\n  FUN_0001c6d0(local_60,0x40);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0003dc30();\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte local_60 [64];" type_identifier (array_declarator "local_60 [64]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x37ffb;" (assignment_expression "uStack_14 = 0x37ffb" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "local_60[0] = 0x36;" (assignment_expression "local_60[0] = 0x36" (subscript_expression "local_60[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[1] = 0x36;" (assignment_expression "local_60[1] = 0x36" (subscript_expression "local_60[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[2] = 0x36;" (assignment_expression "local_60[2] = 0x36" (subscript_expression "local_60[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[3] = 0x36;" (assignment_expression "local_60[3] = 0x36" (subscript_expression "local_60[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[4] = 0x36;" (assignment_expression "local_60[4] = 0x36" (subscript_expression "local_60[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[5] = 0x36;" (assignment_expression "local_60[5] = 0x36" (subscript_expression "local_60[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[6] = 0x36;" (assignment_expression "local_60[6] = 0x36" (subscript_expression "local_60[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[7] = 0x36;" (assignment_expression "local_60[7] = 0x36" (subscript_expression "local_60[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[8] = 0x36;" (assignment_expression "local_60[8] = 0x36" (subscript_expression "local_60[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[9] = 0x36;" (assignment_expression "local_60[9] = 0x36" (subscript_expression "local_60[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[10] = 0x36;" (assignment_expression "local_60[10] = 0x36" (subscript_expression "local_60[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xb] = 0x36;" (assignment_expression "local_60[0xb] = 0x36" (subscript_expression "local_60[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xc] = 0x36;" (assignment_expression "local_60[0xc] = 0x36" (subscript_expression "local_60[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xd] = 0x36;" (assignment_expression "local_60[0xd] = 0x36" (subscript_expression "local_60[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xe] = 0x36;" (assignment_expression "local_60[0xe] = 0x36" (subscript_expression "local_60[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xf] = 0x36;" (assignment_expression "local_60[0xf] = 0x36" (subscript_expression "local_60[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x10] = 0x36;" (assignment_expression "local_60[0x10] = 0x36" (subscript_expression "local_60[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x11] = 0x36;" (assignment_expression "local_60[0x11] = 0x36" (subscript_expression "local_60[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x12] = 0x36;" (assignment_expression "local_60[0x12] = 0x36" (subscript_expression "local_60[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x13] = 0x36;" (assignment_expression "local_60[0x13] = 0x36" (subscript_expression "local_60[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x14] = 0x36;" (assignment_expression "local_60[0x14] = 0x36" (subscript_expression "local_60[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x15] = 0x36;" (assignment_expression "local_60[0x15] = 0x36" (subscript_expression "local_60[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x16] = 0x36;" (assignment_expression "local_60[0x16] = 0x36" (subscript_expression "local_60[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x17] = 0x36;" (assignment_expression "local_60[0x17] = 0x36" (subscript_expression "local_60[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x18] = 0x36;" (assignment_expression "local_60[0x18] = 0x36" (subscript_expression "local_60[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x19] = 0x36;" (assignment_expression "local_60[0x19] = 0x36" (subscript_expression "local_60[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1a] = 0x36;" (assignment_expression "local_60[0x1a] = 0x36" (subscript_expression "local_60[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1b] = 0x36;" (assignment_expression "local_60[0x1b] = 0x36" (subscript_expression "local_60[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1c] = 0x36;" (assignment_expression "local_60[0x1c] = 0x36" (subscript_expression "local_60[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1d] = 0x36;" (assignment_expression "local_60[0x1d] = 0x36" (subscript_expression "local_60[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1e] = 0x36;" (assignment_expression "local_60[0x1e] = 0x36" (subscript_expression "local_60[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1f] = 0x36;" (assignment_expression "local_60[0x1f] = 0x36" (subscript_expression "local_60[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x20] = 0x36;" (assignment_expression "local_60[0x20] = 0x36" (subscript_expression "local_60[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x21] = 0x36;" (assignment_expression "local_60[0x21] = 0x36" (subscript_expression "local_60[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x22] = 0x36;" (assignment_expression "local_60[0x22] = 0x36" (subscript_expression "local_60[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x23] = 0x36;" (assignment_expression "local_60[0x23] = 0x36" (subscript_expression "local_60[0x23]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x24] = 0x36;" (assignment_expression "local_60[0x24] = 0x36" (subscript_expression "local_60[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x25] = 0x36;" (assignment_expression "local_60[0x25] = 0x36" (subscript_expression "local_60[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x26] = 0x36;" (assignment_expression "local_60[0x26] = 0x36" (subscript_expression "local_60[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x27] = 0x36;" (assignment_expression "local_60[0x27] = 0x36" (subscript_expression "local_60[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x28] = 0x36;" (assignment_expression "local_60[0x28] = 0x36" (subscript_expression "local_60[0x28]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x29] = 0x36;" (assignment_expression "local_60[0x29] = 0x36" (subscript_expression "local_60[0x29]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2a] = 0x36;" (assignment_expression "local_60[0x2a] = 0x36" (subscript_expression "local_60[0x2a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2b] = 0x36;" (assignment_expression "local_60[0x2b] = 0x36" (subscript_expression "local_60[0x2b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2c] = 0x36;" (assignment_expression "local_60[0x2c] = 0x36" (subscript_expression "local_60[0x2c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2d] = 0x36;" (assignment_expression "local_60[0x2d] = 0x36" (subscript_expression "local_60[0x2d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2e] = 0x36;" (assignment_expression "local_60[0x2e] = 0x36" (subscript_expression "local_60[0x2e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2f] = 0x36;" (assignment_expression "local_60[0x2f] = 0x36" (subscript_expression "local_60[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x30] = 0x36;" (assignment_expression "local_60[0x30] = 0x36" (subscript_expression "local_60[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x31] = 0x36;" (assignment_expression "local_60[0x31] = 0x36" (subscript_expression "local_60[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x32] = 0x36;" (assignment_expression "local_60[0x32] = 0x36" (subscript_expression "local_60[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x33] = 0x36;" (assignment_expression "local_60[0x33] = 0x36" (subscript_expression "local_60[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x34] = 0x36;" (assignment_expression "local_60[0x34] = 0x36" (subscript_expression "local_60[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x35] = 0x36;" (assignment_expression "local_60[0x35] = 0x36" (subscript_expression "local_60[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x36] = 0x36;" (assignment_expression "local_60[0x36] = 0x36" (subscript_expression "local_60[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x37] = 0x36;" (assignment_expression "local_60[0x37] = 0x36" (subscript_expression "local_60[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x38] = 0x36;" (assignment_expression "local_60[0x38] = 0x36" (subscript_expression "local_60[0x38]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x39] = 0x36;" (assignment_expression "local_60[0x39] = 0x36" (subscript_expression "local_60[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3a] = 0x36;" (assignment_expression "local_60[0x3a] = 0x36" (subscript_expression "local_60[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3b] = 0x36;" (assignment_expression "local_60[0x3b] = 0x36" (subscript_expression "local_60[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3c] = 0x36;" (assignment_expression "local_60[0x3c] = 0x36" (subscript_expression "local_60[0x3c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3d] = 0x36;" (assignment_expression "local_60[0x3d] = 0x36" (subscript_expression "local_60[0x3d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3e] = 0x36;" (assignment_expression "local_60[0x3e] = 0x36" (subscript_expression "local_60[0x3e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3f] = 0x36;" (assignment_expression "local_60[0x3f] = 0x36" (subscript_expression "local_60[0x3f]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }" if (parenthesized_expression "(param_3 < 1)" ( (binary_expression "param_3 < 1" identifier < number_literal) )) (compound_statement "{\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }" { (expression_statement "*param_1 = 0x67452301;" (assignment_expression "*param_1 = 0x67452301" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[1] = 0xefcdab89;" (assignment_expression "param_1[1] = 0xefcdab89" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0x98badcfe;" (assignment_expression "param_1[2] = 0x98badcfe" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0x10325476;" (assignment_expression "param_1[3] = 0x10325476" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[4] = 0xc3d2e1f0;" (assignment_expression "param_1[4] = 0xc3d2e1f0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x15] = 0;" (assignment_expression "param_1[0x15] = 0" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x17] = 0;" (assignment_expression "param_1[0x17] = 0" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x16] = 0;" (assignment_expression "param_1[0x16] = 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00037e70(param_1,local_60,0x40);" (call_expression "FUN_00037e70(param_1,local_60,0x40)" identifier (argument_list "(param_1,local_60,0x40)" ( identifier , identifier , number_literal ))) ;) (expression_statement "local_60[0] = 0x5c;" (assignment_expression "local_60[0] = 0x5c" (subscript_expression "local_60[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[1] = 0x5c;" (assignment_expression "local_60[1] = 0x5c" (subscript_expression "local_60[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[2] = 0x5c;" (assignment_expression "local_60[2] = 0x5c" (subscript_expression "local_60[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[3] = 0x5c;" (assignment_expression "local_60[3] = 0x5c" (subscript_expression "local_60[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[4] = 0x5c;" (assignment_expression "local_60[4] = 0x5c" (subscript_expression "local_60[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[5] = 0x5c;" (assignment_expression "local_60[5] = 0x5c" (subscript_expression "local_60[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[6] = 0x5c;" (assignment_expression "local_60[6] = 0x5c" (subscript_expression "local_60[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[7] = 0x5c;" (assignment_expression "local_60[7] = 0x5c" (subscript_expression "local_60[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[8] = 0x5c;" (assignment_expression "local_60[8] = 0x5c" (subscript_expression "local_60[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[9] = 0x5c;" (assignment_expression "local_60[9] = 0x5c" (subscript_expression "local_60[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[10] = 0x5c;" (assignment_expression "local_60[10] = 0x5c" (subscript_expression "local_60[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xb] = 0x5c;" (assignment_expression "local_60[0xb] = 0x5c" (subscript_expression "local_60[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xc] = 0x5c;" (assignment_expression "local_60[0xc] = 0x5c" (subscript_expression "local_60[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xd] = 0x5c;" (assignment_expression "local_60[0xd] = 0x5c" (subscript_expression "local_60[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xe] = 0x5c;" (assignment_expression "local_60[0xe] = 0x5c" (subscript_expression "local_60[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xf] = 0x5c;" (assignment_expression "local_60[0xf] = 0x5c" (subscript_expression "local_60[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x10] = 0x5c;" (assignment_expression "local_60[0x10] = 0x5c" (subscript_expression "local_60[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x11] = 0x5c;" (assignment_expression "local_60[0x11] = 0x5c" (subscript_expression "local_60[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x12] = 0x5c;" (assignment_expression "local_60[0x12] = 0x5c" (subscript_expression "local_60[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x13] = 0x5c;" (assignment_expression "local_60[0x13] = 0x5c" (subscript_expression "local_60[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x14] = 0x5c;" (assignment_expression "local_60[0x14] = 0x5c" (subscript_expression "local_60[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x15] = 0x5c;" (assignment_expression "local_60[0x15] = 0x5c" (subscript_expression "local_60[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x16] = 0x5c;" (assignment_expression "local_60[0x16] = 0x5c" (subscript_expression "local_60[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x17] = 0x5c;" (assignment_expression "local_60[0x17] = 0x5c" (subscript_expression "local_60[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x18] = 0x5c;" (assignment_expression "local_60[0x18] = 0x5c" (subscript_expression "local_60[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x19] = 0x5c;" (assignment_expression "local_60[0x19] = 0x5c" (subscript_expression "local_60[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1a] = 0x5c;" (assignment_expression "local_60[0x1a] = 0x5c" (subscript_expression "local_60[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1b] = 0x5c;" (assignment_expression "local_60[0x1b] = 0x5c" (subscript_expression "local_60[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1c] = 0x5c;" (assignment_expression "local_60[0x1c] = 0x5c" (subscript_expression "local_60[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1d] = 0x5c;" (assignment_expression "local_60[0x1d] = 0x5c" (subscript_expression "local_60[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1e] = 0x5c;" (assignment_expression "local_60[0x1e] = 0x5c" (subscript_expression "local_60[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1f] = 0x5c;" (assignment_expression "local_60[0x1f] = 0x5c" (subscript_expression "local_60[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x20] = 0x5c;" (assignment_expression "local_60[0x20] = 0x5c" (subscript_expression "local_60[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x21] = 0x5c;" (assignment_expression "local_60[0x21] = 0x5c" (subscript_expression "local_60[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x22] = 0x5c;" (assignment_expression "local_60[0x22] = 0x5c" (subscript_expression "local_60[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x23] = 0x5c;" (assignment_expression "local_60[0x23] = 0x5c" (subscript_expression "local_60[0x23]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x24] = 0x5c;" (assignment_expression "local_60[0x24] = 0x5c" (subscript_expression "local_60[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x25] = 0x5c;" (assignment_expression "local_60[0x25] = 0x5c" (subscript_expression "local_60[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x26] = 0x5c;" (assignment_expression "local_60[0x26] = 0x5c" (subscript_expression "local_60[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x27] = 0x5c;" (assignment_expression "local_60[0x27] = 0x5c" (subscript_expression "local_60[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x28] = 0x5c;" (assignment_expression "local_60[0x28] = 0x5c" (subscript_expression "local_60[0x28]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x29] = 0x5c;" (assignment_expression "local_60[0x29] = 0x5c" (subscript_expression "local_60[0x29]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2a] = 0x5c;" (assignment_expression "local_60[0x2a] = 0x5c" (subscript_expression "local_60[0x2a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2b] = 0x5c;" (assignment_expression "local_60[0x2b] = 0x5c" (subscript_expression "local_60[0x2b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2c] = 0x5c;" (assignment_expression "local_60[0x2c] = 0x5c" (subscript_expression "local_60[0x2c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2d] = 0x5c;" (assignment_expression "local_60[0x2d] = 0x5c" (subscript_expression "local_60[0x2d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2e] = 0x5c;" (assignment_expression "local_60[0x2e] = 0x5c" (subscript_expression "local_60[0x2e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2f] = 0x5c;" (assignment_expression "local_60[0x2f] = 0x5c" (subscript_expression "local_60[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x30] = 0x5c;" (assignment_expression "local_60[0x30] = 0x5c" (subscript_expression "local_60[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x31] = 0x5c;" (assignment_expression "local_60[0x31] = 0x5c" (subscript_expression "local_60[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x32] = 0x5c;" (assignment_expression "local_60[0x32] = 0x5c" (subscript_expression "local_60[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x33] = 0x5c;" (assignment_expression "local_60[0x33] = 0x5c" (subscript_expression "local_60[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x34] = 0x5c;" (assignment_expression "local_60[0x34] = 0x5c" (subscript_expression "local_60[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x35] = 0x5c;" (assignment_expression "local_60[0x35] = 0x5c" (subscript_expression "local_60[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x36] = 0x5c;" (assignment_expression "local_60[0x36] = 0x5c" (subscript_expression "local_60[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x37] = 0x5c;" (assignment_expression "local_60[0x37] = 0x5c" (subscript_expression "local_60[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x38] = 0x5c;" (assignment_expression "local_60[0x38] = 0x5c" (subscript_expression "local_60[0x38]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x39] = 0x5c;" (assignment_expression "local_60[0x39] = 0x5c" (subscript_expression "local_60[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3a] = 0x5c;" (assignment_expression "local_60[0x3a] = 0x5c" (subscript_expression "local_60[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3b] = 0x5c;" (assignment_expression "local_60[0x3b] = 0x5c" (subscript_expression "local_60[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3c] = 0x5c;" (assignment_expression "local_60[0x3c] = 0x5c" (subscript_expression "local_60[0x3c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3d] = 0x5c;" (assignment_expression "local_60[0x3d] = 0x5c" (subscript_expression "local_60[0x3d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3e] = 0x5c;" (assignment_expression "local_60[0x3e] = 0x5c" (subscript_expression "local_60[0x3e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3f] = 0x5c;" (assignment_expression "local_60[0x3f] = 0x5c" (subscript_expression "local_60[0x3f]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }" else (compound_statement "{\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }" { (do_statement "do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);" do (compound_statement "{\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    }" { (expression_statement "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);" (assignment_expression "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" identifier [ identifier ]) = (binary_expression "local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" identifier [ identifier ]) ^ (pointer_expression "*(byte *)(param_2 + iVar1)" * (cast_expression "(byte *)(param_2 + iVar1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + iVar1)" ( (binary_expression "param_2 + iVar1" identifier + identifier) )))))) ;) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 <= iVar1) break;" if (parenthesized_expression "(param_3 <= iVar1)" ( (binary_expression "param_3 <= iVar1" identifier <= identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(iVar1 < 0x40)" ( (binary_expression "iVar1 < 0x40" identifier < number_literal) )) ;) (expression_statement "*param_1 = 0x67452301;" (assignment_expression "*param_1 = 0x67452301" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[1] = 0xefcdab89;" (assignment_expression "param_1[1] = 0xefcdab89" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0x98badcfe;" (assignment_expression "param_1[2] = 0x98badcfe" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0x10325476;" (assignment_expression "param_1[3] = 0x10325476" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[4] = 0xc3d2e1f0;" (assignment_expression "param_1[4] = 0xc3d2e1f0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x15] = 0;" (assignment_expression "param_1[0x15] = 0" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x17] = 0;" (assignment_expression "param_1[0x17] = 0" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x16] = 0;" (assignment_expression "param_1[0x16] = 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00037e70(param_1,local_60,0x40);" (call_expression "FUN_00037e70(param_1,local_60,0x40)" identifier (argument_list "(param_1,local_60,0x40)" ( identifier , identifier , number_literal ))) ;) (expression_statement "local_60[0] = 0x5c;" (assignment_expression "local_60[0] = 0x5c" (subscript_expression "local_60[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[1] = 0x5c;" (assignment_expression "local_60[1] = 0x5c" (subscript_expression "local_60[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[2] = 0x5c;" (assignment_expression "local_60[2] = 0x5c" (subscript_expression "local_60[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[3] = 0x5c;" (assignment_expression "local_60[3] = 0x5c" (subscript_expression "local_60[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "local_60[4] = 0x5c;" (assignment_expression "local_60[4] = 0x5c" (subscript_expression "local_60[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[5] = 0x5c;" (assignment_expression "local_60[5] = 0x5c" (subscript_expression "local_60[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[6] = 0x5c;" (assignment_expression "local_60[6] = 0x5c" (subscript_expression "local_60[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[7] = 0x5c;" (assignment_expression "local_60[7] = 0x5c" (subscript_expression "local_60[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[8] = 0x5c;" (assignment_expression "local_60[8] = 0x5c" (subscript_expression "local_60[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[9] = 0x5c;" (assignment_expression "local_60[9] = 0x5c" (subscript_expression "local_60[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[10] = 0x5c;" (assignment_expression "local_60[10] = 0x5c" (subscript_expression "local_60[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xb] = 0x5c;" (assignment_expression "local_60[0xb] = 0x5c" (subscript_expression "local_60[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xc] = 0x5c;" (assignment_expression "local_60[0xc] = 0x5c" (subscript_expression "local_60[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xd] = 0x5c;" (assignment_expression "local_60[0xd] = 0x5c" (subscript_expression "local_60[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xe] = 0x5c;" (assignment_expression "local_60[0xe] = 0x5c" (subscript_expression "local_60[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xf] = 0x5c;" (assignment_expression "local_60[0xf] = 0x5c" (subscript_expression "local_60[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x10] = 0x5c;" (assignment_expression "local_60[0x10] = 0x5c" (subscript_expression "local_60[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x11] = 0x5c;" (assignment_expression "local_60[0x11] = 0x5c" (subscript_expression "local_60[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x12] = 0x5c;" (assignment_expression "local_60[0x12] = 0x5c" (subscript_expression "local_60[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x13] = 0x5c;" (assignment_expression "local_60[0x13] = 0x5c" (subscript_expression "local_60[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x14] = 0x5c;" (assignment_expression "local_60[0x14] = 0x5c" (subscript_expression "local_60[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x15] = 0x5c;" (assignment_expression "local_60[0x15] = 0x5c" (subscript_expression "local_60[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x16] = 0x5c;" (assignment_expression "local_60[0x16] = 0x5c" (subscript_expression "local_60[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x17] = 0x5c;" (assignment_expression "local_60[0x17] = 0x5c" (subscript_expression "local_60[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x18] = 0x5c;" (assignment_expression "local_60[0x18] = 0x5c" (subscript_expression "local_60[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x19] = 0x5c;" (assignment_expression "local_60[0x19] = 0x5c" (subscript_expression "local_60[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1a] = 0x5c;" (assignment_expression "local_60[0x1a] = 0x5c" (subscript_expression "local_60[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1b] = 0x5c;" (assignment_expression "local_60[0x1b] = 0x5c" (subscript_expression "local_60[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1c] = 0x5c;" (assignment_expression "local_60[0x1c] = 0x5c" (subscript_expression "local_60[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1d] = 0x5c;" (assignment_expression "local_60[0x1d] = 0x5c" (subscript_expression "local_60[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1e] = 0x5c;" (assignment_expression "local_60[0x1e] = 0x5c" (subscript_expression "local_60[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1f] = 0x5c;" (assignment_expression "local_60[0x1f] = 0x5c" (subscript_expression "local_60[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x20] = 0x5c;" (assignment_expression "local_60[0x20] = 0x5c" (subscript_expression "local_60[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x21] = 0x5c;" (assignment_expression "local_60[0x21] = 0x5c" (subscript_expression "local_60[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x22] = 0x5c;" (assignment_expression "local_60[0x22] = 0x5c" (subscript_expression "local_60[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x23] = 0x5c;" (assignment_expression "local_60[0x23] = 0x5c" (subscript_expression "local_60[0x23]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x24] = 0x5c;" (assignment_expression "local_60[0x24] = 0x5c" (subscript_expression "local_60[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x25] = 0x5c;" (assignment_expression "local_60[0x25] = 0x5c" (subscript_expression "local_60[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x26] = 0x5c;" (assignment_expression "local_60[0x26] = 0x5c" (subscript_expression "local_60[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x27] = 0x5c;" (assignment_expression "local_60[0x27] = 0x5c" (subscript_expression "local_60[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x28] = 0x5c;" (assignment_expression "local_60[0x28] = 0x5c" (subscript_expression "local_60[0x28]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x29] = 0x5c;" (assignment_expression "local_60[0x29] = 0x5c" (subscript_expression "local_60[0x29]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2a] = 0x5c;" (assignment_expression "local_60[0x2a] = 0x5c" (subscript_expression "local_60[0x2a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2b] = 0x5c;" (assignment_expression "local_60[0x2b] = 0x5c" (subscript_expression "local_60[0x2b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2c] = 0x5c;" (assignment_expression "local_60[0x2c] = 0x5c" (subscript_expression "local_60[0x2c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2d] = 0x5c;" (assignment_expression "local_60[0x2d] = 0x5c" (subscript_expression "local_60[0x2d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2e] = 0x5c;" (assignment_expression "local_60[0x2e] = 0x5c" (subscript_expression "local_60[0x2e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2f] = 0x5c;" (assignment_expression "local_60[0x2f] = 0x5c" (subscript_expression "local_60[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x30] = 0x5c;" (assignment_expression "local_60[0x30] = 0x5c" (subscript_expression "local_60[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x31] = 0x5c;" (assignment_expression "local_60[0x31] = 0x5c" (subscript_expression "local_60[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x32] = 0x5c;" (assignment_expression "local_60[0x32] = 0x5c" (subscript_expression "local_60[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x33] = 0x5c;" (assignment_expression "local_60[0x33] = 0x5c" (subscript_expression "local_60[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x34] = 0x5c;" (assignment_expression "local_60[0x34] = 0x5c" (subscript_expression "local_60[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x35] = 0x5c;" (assignment_expression "local_60[0x35] = 0x5c" (subscript_expression "local_60[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x36] = 0x5c;" (assignment_expression "local_60[0x36] = 0x5c" (subscript_expression "local_60[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x37] = 0x5c;" (assignment_expression "local_60[0x37] = 0x5c" (subscript_expression "local_60[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x38] = 0x5c;" (assignment_expression "local_60[0x38] = 0x5c" (subscript_expression "local_60[0x38]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x39] = 0x5c;" (assignment_expression "local_60[0x39] = 0x5c" (subscript_expression "local_60[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3a] = 0x5c;" (assignment_expression "local_60[0x3a] = 0x5c" (subscript_expression "local_60[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3b] = 0x5c;" (assignment_expression "local_60[0x3b] = 0x5c" (subscript_expression "local_60[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3c] = 0x5c;" (assignment_expression "local_60[0x3c] = 0x5c" (subscript_expression "local_60[0x3c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3d] = 0x5c;" (assignment_expression "local_60[0x3d] = 0x5c" (subscript_expression "local_60[0x3d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3e] = 0x5c;" (assignment_expression "local_60[0x3e] = 0x5c" (subscript_expression "local_60[0x3e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3f] = 0x5c;" (assignment_expression "local_60[0x3f] = 0x5c" (subscript_expression "local_60[0x3f]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);" do (compound_statement "{\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    }" { (expression_statement "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);" (assignment_expression "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" identifier [ identifier ]) = (binary_expression "local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" identifier [ identifier ]) ^ (pointer_expression "*(byte *)(param_2 + iVar1)" * (cast_expression "(byte *)(param_2 + iVar1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + iVar1)" ( (binary_expression "param_2 + iVar1" identifier + identifier) )))))) ;) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 <= iVar1) break;" if (parenthesized_expression "(param_3 <= iVar1)" ( (binary_expression "param_3 <= iVar1" identifier <= identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(iVar1 < 0x40)" ( (binary_expression "iVar1 < 0x40" identifier < number_literal) )) ;) }))) (expression_statement "param_1[0x18] = 0x67452301;" (assignment_expression "param_1[0x18] = 0x67452301" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x19] = 0xefcdab89;" (assignment_expression "param_1[0x19] = 0xefcdab89" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1a] = 0x98badcfe;" (assignment_expression "param_1[0x1a] = 0x98badcfe" (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1b] = 0x10325476;" (assignment_expression "param_1[0x1b] = 0x10325476" (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1c] = 0xc3d2e1f0;" (assignment_expression "param_1[0x1c] = 0xc3d2e1f0" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2d] = 0;" (assignment_expression "param_1[0x2d] = 0" (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2f] = 0;" (assignment_expression "param_1[0x2f] = 0" (subscript_expression "param_1[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2e] = 0;" (assignment_expression "param_1[0x2e] = 0" (subscript_expression "param_1[0x2e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00037e70(param_1 + 0x18,local_60,0x40);" (call_expression "FUN_00037e70(param_1 + 0x18,local_60,0x40)" identifier (argument_list "(param_1 + 0x18,local_60,0x40)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "FUN_0001c6d0(local_60,0x40);" (call_expression "FUN_0001c6d0(local_60,0x40)" identifier (argument_list "(local_60,0x40)" ( identifier , number_literal ))) ;) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0003dc30();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0003dc30();\n  }" { comment (expression_statement "FUN_0003dc30();" (call_expression "FUN_0003dc30()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 sha1_key_internal(void *handle,uchar *key,int len)\n\n{\n  int iVar1;\n  int iVar2;\n  int in_GS_OFFSET;\n  uchar foo [64];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar2 = 0;\n  builtin_memcpy(foo,"6666666666666666666666666666666666666666666666666666666666666666",0x40);\n  if (len < 1) {\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n  }\n  else {\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n    iVar2 = 0;\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n  }\n  *(undefined4 *)((int)handle + 0x60) = 0x67452301;\n  *(undefined4 *)((int)handle + 100) = 0xefcdab89;\n  *(undefined4 *)((int)handle + 0x68) = 0x98badcfe;\n  *(undefined4 *)((int)handle + 0x6c) = 0x10325476;\n  *(undefined4 *)((int)handle + 0x70) = 0xc3d2e1f0;\n  *(undefined4 *)((int)handle + 0xb4) = 0;\n  *(undefined4 *)((int)handle + 0xbc) = 0;\n  *(undefined4 *)((int)handle + 0xb8) = 0;\n  SHA_Bytes((SHA_State *)((int)handle + 0x60),foo,0x40);\n  smemclr(foo,0x40);\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return;\n}\n\n" comment (function_definition "void __regparm3 sha1_key_internal(void *handle,uchar *key,int len)\n\n{\n  int iVar1;\n  int iVar2;\n  int in_GS_OFFSET;\n  uchar foo [64];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar2 = 0;\n  builtin_memcpy(foo,"6666666666666666666666666666666666666666666666666666666666666666",0x40);\n  if (len < 1) {\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n  }\n  else {\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n    iVar2 = 0;\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n  }\n  *(undefined4 *)((int)handle + 0x60) = 0x67452301;\n  *(undefined4 *)((int)handle + 100) = 0xefcdab89;\n  *(undefined4 *)((int)handle + 0x68) = 0x98badcfe;\n  *(undefined4 *)((int)handle + 0x6c) = 0x10325476;\n  *(undefined4 *)((int)handle + 0x70) = 0xc3d2e1f0;\n  *(undefined4 *)((int)handle + 0xb4) = 0;\n  *(undefined4 *)((int)handle + 0xbc) = 0;\n  *(undefined4 *)((int)handle + 0xb8) = 0;\n  SHA_Bytes((SHA_State *)((int)handle + 0x60),foo,0x40);\n  smemclr(foo,0x40);\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "sha1_key_internal(void *handle,uchar *key,int len)" identifier (parameter_list "(void *handle,uchar *key,int len)" ( (parameter_declaration "void *handle" primitive_type (pointer_declarator "*handle" * identifier)) , (parameter_declaration "uchar *key" type_identifier (pointer_declarator "*key" * identifier)) , (parameter_declaration "int len" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  int in_GS_OFFSET;\n  uchar foo [64];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar2 = 0;\n  builtin_memcpy(foo,"6666666666666666666666666666666666666666666666666666666666666666",0x40);\n  if (len < 1) {\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n  }\n  else {\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n    iVar2 = 0;\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n  }\n  *(undefined4 *)((int)handle + 0x60) = 0x67452301;\n  *(undefined4 *)((int)handle + 100) = 0xefcdab89;\n  *(undefined4 *)((int)handle + 0x68) = 0x98badcfe;\n  *(undefined4 *)((int)handle + 0x6c) = 0x10325476;\n  *(undefined4 *)((int)handle + 0x70) = 0xc3d2e1f0;\n  *(undefined4 *)((int)handle + 0xb4) = 0;\n  *(undefined4 *)((int)handle + 0xbc) = 0;\n  *(undefined4 *)((int)handle + 0xb8) = 0;\n  SHA_Bytes((SHA_State *)((int)handle + 0x60),foo,0x40);\n  smemclr(foo,0x40);\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uchar foo [64];" type_identifier (array_declarator "foo [64]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "builtin_memcpy(foo,"6666666666666666666666666666666666666666666666666666666666666666",0x40);" (call_expression "builtin_memcpy(foo,"6666666666666666666666666666666666666666666666666666666666666666",0x40)" identifier (argument_list "(foo,"6666666666666666666666666666666666666666666666666666666666666666",0x40)" ( identifier , (string_literal ""6666666666666666666666666666666666666666666666666666666666666666"" " string_content ") , number_literal ))) ;) (if_statement "if (len < 1) {\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n  }\n  else {\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n    iVar2 = 0;\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n  }" if (parenthesized_expression "(len < 1)" ( (binary_expression "len < 1" identifier < number_literal) )) (compound_statement "{\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n  }" { (expression_statement "*(undefined4 *)handle = 0x67452301;" (assignment_expression "*(undefined4 *)handle = 0x67452301" (pointer_expression "*(undefined4 *)handle" * (cast_expression "(undefined4 *)handle" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 4) = 0xefcdab89;" (assignment_expression "*(undefined4 *)((int)handle + 4) = 0xefcdab89" (pointer_expression "*(undefined4 *)((int)handle + 4)" * (cast_expression "(undefined4 *)((int)handle + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 4)" ( (binary_expression "(int)handle + 4" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 8) = 0x98badcfe;" (assignment_expression "*(undefined4 *)((int)handle + 8) = 0x98badcfe" (pointer_expression "*(undefined4 *)((int)handle + 8)" * (cast_expression "(undefined4 *)((int)handle + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 8)" ( (binary_expression "(int)handle + 8" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0xc) = 0x10325476;" (assignment_expression "*(undefined4 *)((int)handle + 0xc) = 0x10325476" (pointer_expression "*(undefined4 *)((int)handle + 0xc)" * (cast_expression "(undefined4 *)((int)handle + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0xc)" ( (binary_expression "(int)handle + 0xc" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;" (assignment_expression "*(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0" (pointer_expression "*(undefined4 *)((int)handle + 0x10)" * (cast_expression "(undefined4 *)((int)handle + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x10)" ( (binary_expression "(int)handle + 0x10" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x54) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x54) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x54)" * (cast_expression "(undefined4 *)((int)handle + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x54)" ( (binary_expression "(int)handle + 0x54" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x5c) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x5c) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x5c)" * (cast_expression "(undefined4 *)((int)handle + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x5c)" ( (binary_expression "(int)handle + 0x5c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x58) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x58) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x58)" * (cast_expression "(undefined4 *)((int)handle + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x58)" ( (binary_expression "(int)handle + 0x58" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "SHA_Bytes((SHA_State *)handle,foo,0x40);" (call_expression "SHA_Bytes((SHA_State *)handle,foo,0x40)" identifier (argument_list "((SHA_State *)handle,foo,0x40)" ( (cast_expression "(SHA_State *)handle" ( (type_descriptor "SHA_State *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal ))) ;) (expression_statement "builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);" (call_expression "builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40)" identifier (argument_list "(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40)" ( identifier , (string_literal ""\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"" " escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence ") , number_literal ))) ;) }) (else_clause "else {\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n    iVar2 = 0;\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n  }" else (compound_statement "{\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n    *(undefined4 *)handle = 0x67452301;\n    *(undefined4 *)((int)handle + 4) = 0xefcdab89;\n    *(undefined4 *)((int)handle + 8) = 0x98badcfe;\n    *(undefined4 *)((int)handle + 0xc) = 0x10325476;\n    *(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;\n    *(undefined4 *)((int)handle + 0x54) = 0;\n    *(undefined4 *)((int)handle + 0x5c) = 0;\n    *(undefined4 *)((int)handle + 0x58) = 0;\n    SHA_Bytes((SHA_State *)handle,foo,0x40);\n    builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);\n    iVar2 = 0;\n    do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);\n  }" { (do_statement "do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);" do (compound_statement "{\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    }" { (expression_statement "foo[iVar2] = foo[iVar2] ^ key[iVar2];" (assignment_expression "foo[iVar2] = foo[iVar2] ^ key[iVar2]" (subscript_expression "foo[iVar2]" identifier [ identifier ]) = (binary_expression "foo[iVar2] ^ key[iVar2]" (subscript_expression "foo[iVar2]" identifier [ identifier ]) ^ (subscript_expression "key[iVar2]" identifier [ identifier ]))) ;) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (if_statement "if (len <= iVar2) break;" if (parenthesized_expression "(len <= iVar2)" ( (binary_expression "len <= iVar2" identifier <= identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(iVar2 < 0x40)" ( (binary_expression "iVar2 < 0x40" identifier < number_literal) )) ;) (expression_statement "*(undefined4 *)handle = 0x67452301;" (assignment_expression "*(undefined4 *)handle = 0x67452301" (pointer_expression "*(undefined4 *)handle" * (cast_expression "(undefined4 *)handle" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 4) = 0xefcdab89;" (assignment_expression "*(undefined4 *)((int)handle + 4) = 0xefcdab89" (pointer_expression "*(undefined4 *)((int)handle + 4)" * (cast_expression "(undefined4 *)((int)handle + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 4)" ( (binary_expression "(int)handle + 4" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 8) = 0x98badcfe;" (assignment_expression "*(undefined4 *)((int)handle + 8) = 0x98badcfe" (pointer_expression "*(undefined4 *)((int)handle + 8)" * (cast_expression "(undefined4 *)((int)handle + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 8)" ( (binary_expression "(int)handle + 8" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0xc) = 0x10325476;" (assignment_expression "*(undefined4 *)((int)handle + 0xc) = 0x10325476" (pointer_expression "*(undefined4 *)((int)handle + 0xc)" * (cast_expression "(undefined4 *)((int)handle + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0xc)" ( (binary_expression "(int)handle + 0xc" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0;" (assignment_expression "*(undefined4 *)((int)handle + 0x10) = 0xc3d2e1f0" (pointer_expression "*(undefined4 *)((int)handle + 0x10)" * (cast_expression "(undefined4 *)((int)handle + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x10)" ( (binary_expression "(int)handle + 0x10" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x54) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x54) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x54)" * (cast_expression "(undefined4 *)((int)handle + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x54)" ( (binary_expression "(int)handle + 0x54" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x5c) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x5c) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x5c)" * (cast_expression "(undefined4 *)((int)handle + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x5c)" ( (binary_expression "(int)handle + 0x5c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x58) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0x58) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0x58)" * (cast_expression "(undefined4 *)((int)handle + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x58)" ( (binary_expression "(int)handle + 0x58" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "SHA_Bytes((SHA_State *)handle,foo,0x40);" (call_expression "SHA_Bytes((SHA_State *)handle,foo,0x40)" identifier (argument_list "((SHA_State *)handle,foo,0x40)" ( (cast_expression "(SHA_State *)handle" ( (type_descriptor "SHA_State *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal ))) ;) (expression_statement "builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40);" (call_expression "builtin_memcpy(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40)" identifier (argument_list "(foo,\n                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\n                   ,0x40)" ( identifier , (string_literal ""\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"" " escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence ") , number_literal ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    } while (iVar2 < 0x40);" do (compound_statement "{\n      foo[iVar2] = foo[iVar2] ^ key[iVar2];\n      iVar2 = iVar2 + 1;\n      if (len <= iVar2) break;\n    }" { (expression_statement "foo[iVar2] = foo[iVar2] ^ key[iVar2];" (assignment_expression "foo[iVar2] = foo[iVar2] ^ key[iVar2]" (subscript_expression "foo[iVar2]" identifier [ identifier ]) = (binary_expression "foo[iVar2] ^ key[iVar2]" (subscript_expression "foo[iVar2]" identifier [ identifier ]) ^ (subscript_expression "key[iVar2]" identifier [ identifier ]))) ;) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (if_statement "if (len <= iVar2) break;" if (parenthesized_expression "(len <= iVar2)" ( (binary_expression "len <= iVar2" identifier <= identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(iVar2 < 0x40)" ( (binary_expression "iVar2 < 0x40" identifier < number_literal) )) ;) }))) (expression_statement "*(undefined4 *)((int)handle + 0x60) = 0x67452301;" (assignment_expression "*(undefined4 *)((int)handle + 0x60) = 0x67452301" (pointer_expression "*(undefined4 *)((int)handle + 0x60)" * (cast_expression "(undefined4 *)((int)handle + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x60)" ( (binary_expression "(int)handle + 0x60" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 100) = 0xefcdab89;" (assignment_expression "*(undefined4 *)((int)handle + 100) = 0xefcdab89" (pointer_expression "*(undefined4 *)((int)handle + 100)" * (cast_expression "(undefined4 *)((int)handle + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 100)" ( (binary_expression "(int)handle + 100" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x68) = 0x98badcfe;" (assignment_expression "*(undefined4 *)((int)handle + 0x68) = 0x98badcfe" (pointer_expression "*(undefined4 *)((int)handle + 0x68)" * (cast_expression "(undefined4 *)((int)handle + 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x68)" ( (binary_expression "(int)handle + 0x68" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x6c) = 0x10325476;" (assignment_expression "*(undefined4 *)((int)handle + 0x6c) = 0x10325476" (pointer_expression "*(undefined4 *)((int)handle + 0x6c)" * (cast_expression "(undefined4 *)((int)handle + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x6c)" ( (binary_expression "(int)handle + 0x6c" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0x70) = 0xc3d2e1f0;" (assignment_expression "*(undefined4 *)((int)handle + 0x70) = 0xc3d2e1f0" (pointer_expression "*(undefined4 *)((int)handle + 0x70)" * (cast_expression "(undefined4 *)((int)handle + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x70)" ( (binary_expression "(int)handle + 0x70" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0xb4) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0xb4) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0xb4)" * (cast_expression "(undefined4 *)((int)handle + 0xb4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0xb4)" ( (binary_expression "(int)handle + 0xb4" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0xbc) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0xbc) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0xbc)" * (cast_expression "(undefined4 *)((int)handle + 0xbc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0xbc)" ( (binary_expression "(int)handle + 0xbc" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)handle + 0xb8) = 0;" (assignment_expression "*(undefined4 *)((int)handle + 0xb8) = 0" (pointer_expression "*(undefined4 *)((int)handle + 0xb8)" * (cast_expression "(undefined4 *)((int)handle + 0xb8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0xb8)" ( (binary_expression "(int)handle + 0xb8" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "SHA_Bytes((SHA_State *)((int)handle + 0x60),foo,0x40);" (call_expression "SHA_Bytes((SHA_State *)((int)handle + 0x60),foo,0x40)" identifier (argument_list "((SHA_State *)((int)handle + 0x60),foo,0x40)" ( (cast_expression "(SHA_State *)((int)handle + 0x60)" ( (type_descriptor "SHA_State *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)handle + 0x60)" ( (binary_expression "(int)handle + 0x60" (cast_expression "(int)handle" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , identifier , number_literal ))) ;) (expression_statement "smemclr(foo,0x40);" (call_expression "smemclr(foo,0x40)" identifier (argument_list "(foo,0x40)" ( identifier , number_literal ))) ;) (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_00037ff0(undefined4 *param_1,int param_2,int param_3)\n\n{\n  int iVar1;\n  int in_GS_OFFSET;\n  byte local_60 [64];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x37ffb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  local_60[0] = 0x36;\n  local_60[1] = 0x36;\n  local_60[2] = 0x36;\n  local_60[3] = 0x36;\n  local_60[4] = 0x36;\n  local_60[5] = 0x36;\n  local_60[6] = 0x36;\n  local_60[7] = 0x36;\n  local_60[8] = 0x36;\n  local_60[9] = 0x36;\n  local_60[10] = 0x36;\n  local_60[0xb] = 0x36;\n  local_60[0xc] = 0x36;\n  local_60[0xd] = 0x36;\n  local_60[0xe] = 0x36;\n  local_60[0xf] = 0x36;\n  local_60[0x10] = 0x36;\n  local_60[0x11] = 0x36;\n  local_60[0x12] = 0x36;\n  local_60[0x13] = 0x36;\n  local_60[0x14] = 0x36;\n  local_60[0x15] = 0x36;\n  local_60[0x16] = 0x36;\n  local_60[0x17] = 0x36;\n  local_60[0x18] = 0x36;\n  local_60[0x19] = 0x36;\n  local_60[0x1a] = 0x36;\n  local_60[0x1b] = 0x36;\n  local_60[0x1c] = 0x36;\n  local_60[0x1d] = 0x36;\n  local_60[0x1e] = 0x36;\n  local_60[0x1f] = 0x36;\n  local_60[0x20] = 0x36;\n  local_60[0x21] = 0x36;\n  local_60[0x22] = 0x36;\n  local_60[0x23] = 0x36;\n  local_60[0x24] = 0x36;\n  local_60[0x25] = 0x36;\n  local_60[0x26] = 0x36;\n  local_60[0x27] = 0x36;\n  local_60[0x28] = 0x36;\n  local_60[0x29] = 0x36;\n  local_60[0x2a] = 0x36;\n  local_60[0x2b] = 0x36;\n  local_60[0x2c] = 0x36;\n  local_60[0x2d] = 0x36;\n  local_60[0x2e] = 0x36;\n  local_60[0x2f] = 0x36;\n  local_60[0x30] = 0x36;\n  local_60[0x31] = 0x36;\n  local_60[0x32] = 0x36;\n  local_60[0x33] = 0x36;\n  local_60[0x34] = 0x36;\n  local_60[0x35] = 0x36;\n  local_60[0x36] = 0x36;\n  local_60[0x37] = 0x36;\n  local_60[0x38] = 0x36;\n  local_60[0x39] = 0x36;\n  local_60[0x3a] = 0x36;\n  local_60[0x3b] = 0x36;\n  local_60[0x3c] = 0x36;\n  local_60[0x3d] = 0x36;\n  local_60[0x3e] = 0x36;\n  local_60[0x3f] = 0x36;\n  if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }\n  param_1[0x18] = 0x67452301;\n  param_1[0x19] = 0xefcdab89;\n  param_1[0x1a] = 0x98badcfe;\n  param_1[0x1b] = 0x10325476;\n  param_1[0x1c] = 0xc3d2e1f0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x2e] = 0;\n  FUN_00037e70(param_1 + 0x18,local_60,0x40);\n  FUN_0001c6d0(local_60,0x40);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0003dc30();\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00037ff0(undefined4 *param_1,int param_2,int param_3)\n\n{\n  int iVar1;\n  int in_GS_OFFSET;\n  byte local_60 [64];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x37ffb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  local_60[0] = 0x36;\n  local_60[1] = 0x36;\n  local_60[2] = 0x36;\n  local_60[3] = 0x36;\n  local_60[4] = 0x36;\n  local_60[5] = 0x36;\n  local_60[6] = 0x36;\n  local_60[7] = 0x36;\n  local_60[8] = 0x36;\n  local_60[9] = 0x36;\n  local_60[10] = 0x36;\n  local_60[0xb] = 0x36;\n  local_60[0xc] = 0x36;\n  local_60[0xd] = 0x36;\n  local_60[0xe] = 0x36;\n  local_60[0xf] = 0x36;\n  local_60[0x10] = 0x36;\n  local_60[0x11] = 0x36;\n  local_60[0x12] = 0x36;\n  local_60[0x13] = 0x36;\n  local_60[0x14] = 0x36;\n  local_60[0x15] = 0x36;\n  local_60[0x16] = 0x36;\n  local_60[0x17] = 0x36;\n  local_60[0x18] = 0x36;\n  local_60[0x19] = 0x36;\n  local_60[0x1a] = 0x36;\n  local_60[0x1b] = 0x36;\n  local_60[0x1c] = 0x36;\n  local_60[0x1d] = 0x36;\n  local_60[0x1e] = 0x36;\n  local_60[0x1f] = 0x36;\n  local_60[0x20] = 0x36;\n  local_60[0x21] = 0x36;\n  local_60[0x22] = 0x36;\n  local_60[0x23] = 0x36;\n  local_60[0x24] = 0x36;\n  local_60[0x25] = 0x36;\n  local_60[0x26] = 0x36;\n  local_60[0x27] = 0x36;\n  local_60[0x28] = 0x36;\n  local_60[0x29] = 0x36;\n  local_60[0x2a] = 0x36;\n  local_60[0x2b] = 0x36;\n  local_60[0x2c] = 0x36;\n  local_60[0x2d] = 0x36;\n  local_60[0x2e] = 0x36;\n  local_60[0x2f] = 0x36;\n  local_60[0x30] = 0x36;\n  local_60[0x31] = 0x36;\n  local_60[0x32] = 0x36;\n  local_60[0x33] = 0x36;\n  local_60[0x34] = 0x36;\n  local_60[0x35] = 0x36;\n  local_60[0x36] = 0x36;\n  local_60[0x37] = 0x36;\n  local_60[0x38] = 0x36;\n  local_60[0x39] = 0x36;\n  local_60[0x3a] = 0x36;\n  local_60[0x3b] = 0x36;\n  local_60[0x3c] = 0x36;\n  local_60[0x3d] = 0x36;\n  local_60[0x3e] = 0x36;\n  local_60[0x3f] = 0x36;\n  if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }\n  param_1[0x18] = 0x67452301;\n  param_1[0x19] = 0xefcdab89;\n  param_1[0x1a] = 0x98badcfe;\n  param_1[0x1b] = 0x10325476;\n  param_1[0x1c] = 0xc3d2e1f0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x2e] = 0;\n  FUN_00037e70(param_1 + 0x18,local_60,0x40);\n  FUN_0001c6d0(local_60,0x40);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0003dc30();\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00037ff0(undefined4 *param_1,int param_2,int param_3)" identifier (parameter_list "(undefined4 *param_1,int param_2,int param_3)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int in_GS_OFFSET;\n  byte local_60 [64];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x37ffb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  local_60[0] = 0x36;\n  local_60[1] = 0x36;\n  local_60[2] = 0x36;\n  local_60[3] = 0x36;\n  local_60[4] = 0x36;\n  local_60[5] = 0x36;\n  local_60[6] = 0x36;\n  local_60[7] = 0x36;\n  local_60[8] = 0x36;\n  local_60[9] = 0x36;\n  local_60[10] = 0x36;\n  local_60[0xb] = 0x36;\n  local_60[0xc] = 0x36;\n  local_60[0xd] = 0x36;\n  local_60[0xe] = 0x36;\n  local_60[0xf] = 0x36;\n  local_60[0x10] = 0x36;\n  local_60[0x11] = 0x36;\n  local_60[0x12] = 0x36;\n  local_60[0x13] = 0x36;\n  local_60[0x14] = 0x36;\n  local_60[0x15] = 0x36;\n  local_60[0x16] = 0x36;\n  local_60[0x17] = 0x36;\n  local_60[0x18] = 0x36;\n  local_60[0x19] = 0x36;\n  local_60[0x1a] = 0x36;\n  local_60[0x1b] = 0x36;\n  local_60[0x1c] = 0x36;\n  local_60[0x1d] = 0x36;\n  local_60[0x1e] = 0x36;\n  local_60[0x1f] = 0x36;\n  local_60[0x20] = 0x36;\n  local_60[0x21] = 0x36;\n  local_60[0x22] = 0x36;\n  local_60[0x23] = 0x36;\n  local_60[0x24] = 0x36;\n  local_60[0x25] = 0x36;\n  local_60[0x26] = 0x36;\n  local_60[0x27] = 0x36;\n  local_60[0x28] = 0x36;\n  local_60[0x29] = 0x36;\n  local_60[0x2a] = 0x36;\n  local_60[0x2b] = 0x36;\n  local_60[0x2c] = 0x36;\n  local_60[0x2d] = 0x36;\n  local_60[0x2e] = 0x36;\n  local_60[0x2f] = 0x36;\n  local_60[0x30] = 0x36;\n  local_60[0x31] = 0x36;\n  local_60[0x32] = 0x36;\n  local_60[0x33] = 0x36;\n  local_60[0x34] = 0x36;\n  local_60[0x35] = 0x36;\n  local_60[0x36] = 0x36;\n  local_60[0x37] = 0x36;\n  local_60[0x38] = 0x36;\n  local_60[0x39] = 0x36;\n  local_60[0x3a] = 0x36;\n  local_60[0x3b] = 0x36;\n  local_60[0x3c] = 0x36;\n  local_60[0x3d] = 0x36;\n  local_60[0x3e] = 0x36;\n  local_60[0x3f] = 0x36;\n  if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }\n  param_1[0x18] = 0x67452301;\n  param_1[0x19] = 0xefcdab89;\n  param_1[0x1a] = 0x98badcfe;\n  param_1[0x1b] = 0x10325476;\n  param_1[0x1c] = 0xc3d2e1f0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x2e] = 0;\n  FUN_00037e70(param_1 + 0x18,local_60,0x40);\n  FUN_0001c6d0(local_60,0x40);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0003dc30();\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte local_60 [64];" type_identifier (array_declarator "local_60 [64]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x37ffb;" (assignment_expression "uStack_14 = 0x37ffb" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "local_60[0] = 0x36;" (assignment_expression "local_60[0] = 0x36" (subscript_expression "local_60[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[1] = 0x36;" (assignment_expression "local_60[1] = 0x36" (subscript_expression "local_60[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[2] = 0x36;" (assignment_expression "local_60[2] = 0x36" (subscript_expression "local_60[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[3] = 0x36;" (assignment_expression "local_60[3] = 0x36" (subscript_expression "local_60[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[4] = 0x36;" (assignment_expression "local_60[4] = 0x36" (subscript_expression "local_60[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[5] = 0x36;" (assignment_expression "local_60[5] = 0x36" (subscript_expression "local_60[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[6] = 0x36;" (assignment_expression "local_60[6] = 0x36" (subscript_expression "local_60[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[7] = 0x36;" (assignment_expression "local_60[7] = 0x36" (subscript_expression "local_60[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[8] = 0x36;" (assignment_expression "local_60[8] = 0x36" (subscript_expression "local_60[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[9] = 0x36;" (assignment_expression "local_60[9] = 0x36" (subscript_expression "local_60[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[10] = 0x36;" (assignment_expression "local_60[10] = 0x36" (subscript_expression "local_60[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xb] = 0x36;" (assignment_expression "local_60[0xb] = 0x36" (subscript_expression "local_60[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xc] = 0x36;" (assignment_expression "local_60[0xc] = 0x36" (subscript_expression "local_60[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xd] = 0x36;" (assignment_expression "local_60[0xd] = 0x36" (subscript_expression "local_60[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xe] = 0x36;" (assignment_expression "local_60[0xe] = 0x36" (subscript_expression "local_60[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xf] = 0x36;" (assignment_expression "local_60[0xf] = 0x36" (subscript_expression "local_60[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x10] = 0x36;" (assignment_expression "local_60[0x10] = 0x36" (subscript_expression "local_60[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x11] = 0x36;" (assignment_expression "local_60[0x11] = 0x36" (subscript_expression "local_60[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x12] = 0x36;" (assignment_expression "local_60[0x12] = 0x36" (subscript_expression "local_60[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x13] = 0x36;" (assignment_expression "local_60[0x13] = 0x36" (subscript_expression "local_60[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x14] = 0x36;" (assignment_expression "local_60[0x14] = 0x36" (subscript_expression "local_60[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x15] = 0x36;" (assignment_expression "local_60[0x15] = 0x36" (subscript_expression "local_60[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x16] = 0x36;" (assignment_expression "local_60[0x16] = 0x36" (subscript_expression "local_60[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x17] = 0x36;" (assignment_expression "local_60[0x17] = 0x36" (subscript_expression "local_60[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x18] = 0x36;" (assignment_expression "local_60[0x18] = 0x36" (subscript_expression "local_60[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x19] = 0x36;" (assignment_expression "local_60[0x19] = 0x36" (subscript_expression "local_60[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1a] = 0x36;" (assignment_expression "local_60[0x1a] = 0x36" (subscript_expression "local_60[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1b] = 0x36;" (assignment_expression "local_60[0x1b] = 0x36" (subscript_expression "local_60[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1c] = 0x36;" (assignment_expression "local_60[0x1c] = 0x36" (subscript_expression "local_60[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1d] = 0x36;" (assignment_expression "local_60[0x1d] = 0x36" (subscript_expression "local_60[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1e] = 0x36;" (assignment_expression "local_60[0x1e] = 0x36" (subscript_expression "local_60[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1f] = 0x36;" (assignment_expression "local_60[0x1f] = 0x36" (subscript_expression "local_60[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x20] = 0x36;" (assignment_expression "local_60[0x20] = 0x36" (subscript_expression "local_60[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x21] = 0x36;" (assignment_expression "local_60[0x21] = 0x36" (subscript_expression "local_60[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x22] = 0x36;" (assignment_expression "local_60[0x22] = 0x36" (subscript_expression "local_60[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x23] = 0x36;" (assignment_expression "local_60[0x23] = 0x36" (subscript_expression "local_60[0x23]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x24] = 0x36;" (assignment_expression "local_60[0x24] = 0x36" (subscript_expression "local_60[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x25] = 0x36;" (assignment_expression "local_60[0x25] = 0x36" (subscript_expression "local_60[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x26] = 0x36;" (assignment_expression "local_60[0x26] = 0x36" (subscript_expression "local_60[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x27] = 0x36;" (assignment_expression "local_60[0x27] = 0x36" (subscript_expression "local_60[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x28] = 0x36;" (assignment_expression "local_60[0x28] = 0x36" (subscript_expression "local_60[0x28]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x29] = 0x36;" (assignment_expression "local_60[0x29] = 0x36" (subscript_expression "local_60[0x29]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2a] = 0x36;" (assignment_expression "local_60[0x2a] = 0x36" (subscript_expression "local_60[0x2a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2b] = 0x36;" (assignment_expression "local_60[0x2b] = 0x36" (subscript_expression "local_60[0x2b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2c] = 0x36;" (assignment_expression "local_60[0x2c] = 0x36" (subscript_expression "local_60[0x2c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2d] = 0x36;" (assignment_expression "local_60[0x2d] = 0x36" (subscript_expression "local_60[0x2d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2e] = 0x36;" (assignment_expression "local_60[0x2e] = 0x36" (subscript_expression "local_60[0x2e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2f] = 0x36;" (assignment_expression "local_60[0x2f] = 0x36" (subscript_expression "local_60[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x30] = 0x36;" (assignment_expression "local_60[0x30] = 0x36" (subscript_expression "local_60[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x31] = 0x36;" (assignment_expression "local_60[0x31] = 0x36" (subscript_expression "local_60[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x32] = 0x36;" (assignment_expression "local_60[0x32] = 0x36" (subscript_expression "local_60[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x33] = 0x36;" (assignment_expression "local_60[0x33] = 0x36" (subscript_expression "local_60[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x34] = 0x36;" (assignment_expression "local_60[0x34] = 0x36" (subscript_expression "local_60[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x35] = 0x36;" (assignment_expression "local_60[0x35] = 0x36" (subscript_expression "local_60[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x36] = 0x36;" (assignment_expression "local_60[0x36] = 0x36" (subscript_expression "local_60[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x37] = 0x36;" (assignment_expression "local_60[0x37] = 0x36" (subscript_expression "local_60[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x38] = 0x36;" (assignment_expression "local_60[0x38] = 0x36" (subscript_expression "local_60[0x38]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x39] = 0x36;" (assignment_expression "local_60[0x39] = 0x36" (subscript_expression "local_60[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3a] = 0x36;" (assignment_expression "local_60[0x3a] = 0x36" (subscript_expression "local_60[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3b] = 0x36;" (assignment_expression "local_60[0x3b] = 0x36" (subscript_expression "local_60[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3c] = 0x36;" (assignment_expression "local_60[0x3c] = 0x36" (subscript_expression "local_60[0x3c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3d] = 0x36;" (assignment_expression "local_60[0x3d] = 0x36" (subscript_expression "local_60[0x3d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3e] = 0x36;" (assignment_expression "local_60[0x3e] = 0x36" (subscript_expression "local_60[0x3e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3f] = 0x36;" (assignment_expression "local_60[0x3f] = 0x36" (subscript_expression "local_60[0x3f]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }" if (parenthesized_expression "(param_3 < 1)" ( (binary_expression "param_3 < 1" identifier < number_literal) )) (compound_statement "{\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }" { (expression_statement "*param_1 = 0x67452301;" (assignment_expression "*param_1 = 0x67452301" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[1] = 0xefcdab89;" (assignment_expression "param_1[1] = 0xefcdab89" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0x98badcfe;" (assignment_expression "param_1[2] = 0x98badcfe" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0x10325476;" (assignment_expression "param_1[3] = 0x10325476" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[4] = 0xc3d2e1f0;" (assignment_expression "param_1[4] = 0xc3d2e1f0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x15] = 0;" (assignment_expression "param_1[0x15] = 0" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x17] = 0;" (assignment_expression "param_1[0x17] = 0" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x16] = 0;" (assignment_expression "param_1[0x16] = 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00037e70(param_1,local_60,0x40);" (call_expression "FUN_00037e70(param_1,local_60,0x40)" identifier (argument_list "(param_1,local_60,0x40)" ( identifier , identifier , number_literal ))) ;) (expression_statement "local_60[0] = 0x5c;" (assignment_expression "local_60[0] = 0x5c" (subscript_expression "local_60[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[1] = 0x5c;" (assignment_expression "local_60[1] = 0x5c" (subscript_expression "local_60[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[2] = 0x5c;" (assignment_expression "local_60[2] = 0x5c" (subscript_expression "local_60[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[3] = 0x5c;" (assignment_expression "local_60[3] = 0x5c" (subscript_expression "local_60[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[4] = 0x5c;" (assignment_expression "local_60[4] = 0x5c" (subscript_expression "local_60[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[5] = 0x5c;" (assignment_expression "local_60[5] = 0x5c" (subscript_expression "local_60[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[6] = 0x5c;" (assignment_expression "local_60[6] = 0x5c" (subscript_expression "local_60[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[7] = 0x5c;" (assignment_expression "local_60[7] = 0x5c" (subscript_expression "local_60[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[8] = 0x5c;" (assignment_expression "local_60[8] = 0x5c" (subscript_expression "local_60[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[9] = 0x5c;" (assignment_expression "local_60[9] = 0x5c" (subscript_expression "local_60[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[10] = 0x5c;" (assignment_expression "local_60[10] = 0x5c" (subscript_expression "local_60[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xb] = 0x5c;" (assignment_expression "local_60[0xb] = 0x5c" (subscript_expression "local_60[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xc] = 0x5c;" (assignment_expression "local_60[0xc] = 0x5c" (subscript_expression "local_60[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xd] = 0x5c;" (assignment_expression "local_60[0xd] = 0x5c" (subscript_expression "local_60[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xe] = 0x5c;" (assignment_expression "local_60[0xe] = 0x5c" (subscript_expression "local_60[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xf] = 0x5c;" (assignment_expression "local_60[0xf] = 0x5c" (subscript_expression "local_60[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x10] = 0x5c;" (assignment_expression "local_60[0x10] = 0x5c" (subscript_expression "local_60[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x11] = 0x5c;" (assignment_expression "local_60[0x11] = 0x5c" (subscript_expression "local_60[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x12] = 0x5c;" (assignment_expression "local_60[0x12] = 0x5c" (subscript_expression "local_60[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x13] = 0x5c;" (assignment_expression "local_60[0x13] = 0x5c" (subscript_expression "local_60[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x14] = 0x5c;" (assignment_expression "local_60[0x14] = 0x5c" (subscript_expression "local_60[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x15] = 0x5c;" (assignment_expression "local_60[0x15] = 0x5c" (subscript_expression "local_60[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x16] = 0x5c;" (assignment_expression "local_60[0x16] = 0x5c" (subscript_expression "local_60[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x17] = 0x5c;" (assignment_expression "local_60[0x17] = 0x5c" (subscript_expression "local_60[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x18] = 0x5c;" (assignment_expression "local_60[0x18] = 0x5c" (subscript_expression "local_60[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x19] = 0x5c;" (assignment_expression "local_60[0x19] = 0x5c" (subscript_expression "local_60[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1a] = 0x5c;" (assignment_expression "local_60[0x1a] = 0x5c" (subscript_expression "local_60[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1b] = 0x5c;" (assignment_expression "local_60[0x1b] = 0x5c" (subscript_expression "local_60[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1c] = 0x5c;" (assignment_expression "local_60[0x1c] = 0x5c" (subscript_expression "local_60[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1d] = 0x5c;" (assignment_expression "local_60[0x1d] = 0x5c" (subscript_expression "local_60[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1e] = 0x5c;" (assignment_expression "local_60[0x1e] = 0x5c" (subscript_expression "local_60[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1f] = 0x5c;" (assignment_expression "local_60[0x1f] = 0x5c" (subscript_expression "local_60[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x20] = 0x5c;" (assignment_expression "local_60[0x20] = 0x5c" (subscript_expression "local_60[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x21] = 0x5c;" (assignment_expression "local_60[0x21] = 0x5c" (subscript_expression "local_60[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x22] = 0x5c;" (assignment_expression "local_60[0x22] = 0x5c" (subscript_expression "local_60[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x23] = 0x5c;" (assignment_expression "local_60[0x23] = 0x5c" (subscript_expression "local_60[0x23]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x24] = 0x5c;" (assignment_expression "local_60[0x24] = 0x5c" (subscript_expression "local_60[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x25] = 0x5c;" (assignment_expression "local_60[0x25] = 0x5c" (subscript_expression "local_60[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x26] = 0x5c;" (assignment_expression "local_60[0x26] = 0x5c" (subscript_expression "local_60[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x27] = 0x5c;" (assignment_expression "local_60[0x27] = 0x5c" (subscript_expression "local_60[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x28] = 0x5c;" (assignment_expression "local_60[0x28] = 0x5c" (subscript_expression "local_60[0x28]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x29] = 0x5c;" (assignment_expression "local_60[0x29] = 0x5c" (subscript_expression "local_60[0x29]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2a] = 0x5c;" (assignment_expression "local_60[0x2a] = 0x5c" (subscript_expression "local_60[0x2a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2b] = 0x5c;" (assignment_expression "local_60[0x2b] = 0x5c" (subscript_expression "local_60[0x2b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2c] = 0x5c;" (assignment_expression "local_60[0x2c] = 0x5c" (subscript_expression "local_60[0x2c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2d] = 0x5c;" (assignment_expression "local_60[0x2d] = 0x5c" (subscript_expression "local_60[0x2d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2e] = 0x5c;" (assignment_expression "local_60[0x2e] = 0x5c" (subscript_expression "local_60[0x2e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2f] = 0x5c;" (assignment_expression "local_60[0x2f] = 0x5c" (subscript_expression "local_60[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x30] = 0x5c;" (assignment_expression "local_60[0x30] = 0x5c" (subscript_expression "local_60[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x31] = 0x5c;" (assignment_expression "local_60[0x31] = 0x5c" (subscript_expression "local_60[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x32] = 0x5c;" (assignment_expression "local_60[0x32] = 0x5c" (subscript_expression "local_60[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x33] = 0x5c;" (assignment_expression "local_60[0x33] = 0x5c" (subscript_expression "local_60[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x34] = 0x5c;" (assignment_expression "local_60[0x34] = 0x5c" (subscript_expression "local_60[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x35] = 0x5c;" (assignment_expression "local_60[0x35] = 0x5c" (subscript_expression "local_60[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x36] = 0x5c;" (assignment_expression "local_60[0x36] = 0x5c" (subscript_expression "local_60[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x37] = 0x5c;" (assignment_expression "local_60[0x37] = 0x5c" (subscript_expression "local_60[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x38] = 0x5c;" (assignment_expression "local_60[0x38] = 0x5c" (subscript_expression "local_60[0x38]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x39] = 0x5c;" (assignment_expression "local_60[0x39] = 0x5c" (subscript_expression "local_60[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3a] = 0x5c;" (assignment_expression "local_60[0x3a] = 0x5c" (subscript_expression "local_60[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3b] = 0x5c;" (assignment_expression "local_60[0x3b] = 0x5c" (subscript_expression "local_60[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3c] = 0x5c;" (assignment_expression "local_60[0x3c] = 0x5c" (subscript_expression "local_60[0x3c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3d] = 0x5c;" (assignment_expression "local_60[0x3d] = 0x5c" (subscript_expression "local_60[0x3d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3e] = 0x5c;" (assignment_expression "local_60[0x3e] = 0x5c" (subscript_expression "local_60[0x3e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3f] = 0x5c;" (assignment_expression "local_60[0x3f] = 0x5c" (subscript_expression "local_60[0x3f]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }" else (compound_statement "{\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }" { (do_statement "do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);" do (compound_statement "{\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    }" { (expression_statement "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);" (assignment_expression "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" identifier [ identifier ]) = (binary_expression "local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" identifier [ identifier ]) ^ (pointer_expression "*(byte *)(param_2 + iVar1)" * (cast_expression "(byte *)(param_2 + iVar1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + iVar1)" ( (binary_expression "param_2 + iVar1" identifier + identifier) )))))) ;) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 <= iVar1) break;" if (parenthesized_expression "(param_3 <= iVar1)" ( (binary_expression "param_3 <= iVar1" identifier <= identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(iVar1 < 0x40)" ( (binary_expression "iVar1 < 0x40" identifier < number_literal) )) ;) (expression_statement "*param_1 = 0x67452301;" (assignment_expression "*param_1 = 0x67452301" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[1] = 0xefcdab89;" (assignment_expression "param_1[1] = 0xefcdab89" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0x98badcfe;" (assignment_expression "param_1[2] = 0x98badcfe" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0x10325476;" (assignment_expression "param_1[3] = 0x10325476" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[4] = 0xc3d2e1f0;" (assignment_expression "param_1[4] = 0xc3d2e1f0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x15] = 0;" (assignment_expression "param_1[0x15] = 0" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x17] = 0;" (assignment_expression "param_1[0x17] = 0" (subscript_expression "param_1[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x16] = 0;" (assignment_expression "param_1[0x16] = 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00037e70(param_1,local_60,0x40);" (call_expression "FUN_00037e70(param_1,local_60,0x40)" identifier (argument_list "(param_1,local_60,0x40)" ( identifier , identifier , number_literal ))) ;) (expression_statement "local_60[0] = 0x5c;" (assignment_expression "local_60[0] = 0x5c" (subscript_expression "local_60[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[1] = 0x5c;" (assignment_expression "local_60[1] = 0x5c" (subscript_expression "local_60[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[2] = 0x5c;" (assignment_expression "local_60[2] = 0x5c" (subscript_expression "local_60[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[3] = 0x5c;" (assignment_expression "local_60[3] = 0x5c" (subscript_expression "local_60[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "local_60[4] = 0x5c;" (assignment_expression "local_60[4] = 0x5c" (subscript_expression "local_60[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[5] = 0x5c;" (assignment_expression "local_60[5] = 0x5c" (subscript_expression "local_60[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[6] = 0x5c;" (assignment_expression "local_60[6] = 0x5c" (subscript_expression "local_60[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[7] = 0x5c;" (assignment_expression "local_60[7] = 0x5c" (subscript_expression "local_60[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[8] = 0x5c;" (assignment_expression "local_60[8] = 0x5c" (subscript_expression "local_60[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[9] = 0x5c;" (assignment_expression "local_60[9] = 0x5c" (subscript_expression "local_60[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[10] = 0x5c;" (assignment_expression "local_60[10] = 0x5c" (subscript_expression "local_60[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xb] = 0x5c;" (assignment_expression "local_60[0xb] = 0x5c" (subscript_expression "local_60[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xc] = 0x5c;" (assignment_expression "local_60[0xc] = 0x5c" (subscript_expression "local_60[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xd] = 0x5c;" (assignment_expression "local_60[0xd] = 0x5c" (subscript_expression "local_60[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xe] = 0x5c;" (assignment_expression "local_60[0xe] = 0x5c" (subscript_expression "local_60[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0xf] = 0x5c;" (assignment_expression "local_60[0xf] = 0x5c" (subscript_expression "local_60[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x10] = 0x5c;" (assignment_expression "local_60[0x10] = 0x5c" (subscript_expression "local_60[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x11] = 0x5c;" (assignment_expression "local_60[0x11] = 0x5c" (subscript_expression "local_60[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x12] = 0x5c;" (assignment_expression "local_60[0x12] = 0x5c" (subscript_expression "local_60[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x13] = 0x5c;" (assignment_expression "local_60[0x13] = 0x5c" (subscript_expression "local_60[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x14] = 0x5c;" (assignment_expression "local_60[0x14] = 0x5c" (subscript_expression "local_60[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x15] = 0x5c;" (assignment_expression "local_60[0x15] = 0x5c" (subscript_expression "local_60[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x16] = 0x5c;" (assignment_expression "local_60[0x16] = 0x5c" (subscript_expression "local_60[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x17] = 0x5c;" (assignment_expression "local_60[0x17] = 0x5c" (subscript_expression "local_60[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x18] = 0x5c;" (assignment_expression "local_60[0x18] = 0x5c" (subscript_expression "local_60[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x19] = 0x5c;" (assignment_expression "local_60[0x19] = 0x5c" (subscript_expression "local_60[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1a] = 0x5c;" (assignment_expression "local_60[0x1a] = 0x5c" (subscript_expression "local_60[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1b] = 0x5c;" (assignment_expression "local_60[0x1b] = 0x5c" (subscript_expression "local_60[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1c] = 0x5c;" (assignment_expression "local_60[0x1c] = 0x5c" (subscript_expression "local_60[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1d] = 0x5c;" (assignment_expression "local_60[0x1d] = 0x5c" (subscript_expression "local_60[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1e] = 0x5c;" (assignment_expression "local_60[0x1e] = 0x5c" (subscript_expression "local_60[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x1f] = 0x5c;" (assignment_expression "local_60[0x1f] = 0x5c" (subscript_expression "local_60[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x20] = 0x5c;" (assignment_expression "local_60[0x20] = 0x5c" (subscript_expression "local_60[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x21] = 0x5c;" (assignment_expression "local_60[0x21] = 0x5c" (subscript_expression "local_60[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x22] = 0x5c;" (assignment_expression "local_60[0x22] = 0x5c" (subscript_expression "local_60[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x23] = 0x5c;" (assignment_expression "local_60[0x23] = 0x5c" (subscript_expression "local_60[0x23]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x24] = 0x5c;" (assignment_expression "local_60[0x24] = 0x5c" (subscript_expression "local_60[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x25] = 0x5c;" (assignment_expression "local_60[0x25] = 0x5c" (subscript_expression "local_60[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x26] = 0x5c;" (assignment_expression "local_60[0x26] = 0x5c" (subscript_expression "local_60[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x27] = 0x5c;" (assignment_expression "local_60[0x27] = 0x5c" (subscript_expression "local_60[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x28] = 0x5c;" (assignment_expression "local_60[0x28] = 0x5c" (subscript_expression "local_60[0x28]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x29] = 0x5c;" (assignment_expression "local_60[0x29] = 0x5c" (subscript_expression "local_60[0x29]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2a] = 0x5c;" (assignment_expression "local_60[0x2a] = 0x5c" (subscript_expression "local_60[0x2a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2b] = 0x5c;" (assignment_expression "local_60[0x2b] = 0x5c" (subscript_expression "local_60[0x2b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2c] = 0x5c;" (assignment_expression "local_60[0x2c] = 0x5c" (subscript_expression "local_60[0x2c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2d] = 0x5c;" (assignment_expression "local_60[0x2d] = 0x5c" (subscript_expression "local_60[0x2d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2e] = 0x5c;" (assignment_expression "local_60[0x2e] = 0x5c" (subscript_expression "local_60[0x2e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x2f] = 0x5c;" (assignment_expression "local_60[0x2f] = 0x5c" (subscript_expression "local_60[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x30] = 0x5c;" (assignment_expression "local_60[0x30] = 0x5c" (subscript_expression "local_60[0x30]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x31] = 0x5c;" (assignment_expression "local_60[0x31] = 0x5c" (subscript_expression "local_60[0x31]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x32] = 0x5c;" (assignment_expression "local_60[0x32] = 0x5c" (subscript_expression "local_60[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x33] = 0x5c;" (assignment_expression "local_60[0x33] = 0x5c" (subscript_expression "local_60[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x34] = 0x5c;" (assignment_expression "local_60[0x34] = 0x5c" (subscript_expression "local_60[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x35] = 0x5c;" (assignment_expression "local_60[0x35] = 0x5c" (subscript_expression "local_60[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x36] = 0x5c;" (assignment_expression "local_60[0x36] = 0x5c" (subscript_expression "local_60[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x37] = 0x5c;" (assignment_expression "local_60[0x37] = 0x5c" (subscript_expression "local_60[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x38] = 0x5c;" (assignment_expression "local_60[0x38] = 0x5c" (subscript_expression "local_60[0x38]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x39] = 0x5c;" (assignment_expression "local_60[0x39] = 0x5c" (subscript_expression "local_60[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3a] = 0x5c;" (assignment_expression "local_60[0x3a] = 0x5c" (subscript_expression "local_60[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3b] = 0x5c;" (assignment_expression "local_60[0x3b] = 0x5c" (subscript_expression "local_60[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3c] = 0x5c;" (assignment_expression "local_60[0x3c] = 0x5c" (subscript_expression "local_60[0x3c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3d] = 0x5c;" (assignment_expression "local_60[0x3d] = 0x5c" (subscript_expression "local_60[0x3d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3e] = 0x5c;" (assignment_expression "local_60[0x3e] = 0x5c" (subscript_expression "local_60[0x3e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_60[0x3f] = 0x5c;" (assignment_expression "local_60[0x3f] = 0x5c" (subscript_expression "local_60[0x3f]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);" do (compound_statement "{\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    }" { (expression_statement "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);" (assignment_expression "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" identifier [ identifier ]) = (binary_expression "local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" identifier [ identifier ]) ^ (pointer_expression "*(byte *)(param_2 + iVar1)" * (cast_expression "(byte *)(param_2 + iVar1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + iVar1)" ( (binary_expression "param_2 + iVar1" identifier + identifier) )))))) ;) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 <= iVar1) break;" if (parenthesized_expression "(param_3 <= iVar1)" ( (binary_expression "param_3 <= iVar1" identifier <= identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(iVar1 < 0x40)" ( (binary_expression "iVar1 < 0x40" identifier < number_literal) )) ;) }))) (expression_statement "param_1[0x18] = 0x67452301;" (assignment_expression "param_1[0x18] = 0x67452301" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x19] = 0xefcdab89;" (assignment_expression "param_1[0x19] = 0xefcdab89" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1a] = 0x98badcfe;" (assignment_expression "param_1[0x1a] = 0x98badcfe" (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1b] = 0x10325476;" (assignment_expression "param_1[0x1b] = 0x10325476" (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1c] = 0xc3d2e1f0;" (assignment_expression "param_1[0x1c] = 0xc3d2e1f0" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2d] = 0;" (assignment_expression "param_1[0x2d] = 0" (subscript_expression "param_1[0x2d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2f] = 0;" (assignment_expression "param_1[0x2f] = 0" (subscript_expression "param_1[0x2f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x2e] = 0;" (assignment_expression "param_1[0x2e] = 0" (subscript_expression "param_1[0x2e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00037e70(param_1 + 0x18,local_60,0x40);" (call_expression "FUN_00037e70(param_1 + 0x18,local_60,0x40)" identifier (argument_list "(param_1 + 0x18,local_60,0x40)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "FUN_0001c6d0(local_60,0x40);" (call_expression "FUN_0001c6d0(local_60,0x40)" identifier (argument_list "(local_60,0x40)" ( identifier , number_literal ))) ;) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0003dc30();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_0003dc30();\n  }" { (expression_statement "FUN_0003dc30();" (call_expression "FUN_0003dc30()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (subscript_expression IDENT [ IDENT ]) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (subscript_expression IDENT [ IDENT ]) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00037ff0(undefined4 *param_1,int param_2,int param_3)\n\n{\n  int iVar1;\n  int in_GS_OFFSET;\n  byte local_60 [64];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x37ffb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  local_60[0] = 0x36;\n  local_60[1] = 0x36;\n  local_60[2] = 0x36;\n  local_60[3] = 0x36;\n  local_60[4] = 0x36;\n  local_60[5] = 0x36;\n  local_60[6] = 0x36;\n  local_60[7] = 0x36;\n  local_60[8] = 0x36;\n  local_60[9] = 0x36;\n  local_60[10] = 0x36;\n  local_60[0xb] = 0x36;\n  local_60[0xc] = 0x36;\n  local_60[0xd] = 0x36;\n  local_60[0xe] = 0x36;\n  local_60[0xf] = 0x36;\n  local_60[0x10] = 0x36;\n  local_60[0x11] = 0x36;\n  local_60[0x12] = 0x36;\n  local_60[0x13] = 0x36;\n  local_60[0x14] = 0x36;\n  local_60[0x15] = 0x36;\n  local_60[0x16] = 0x36;\n  local_60[0x17] = 0x36;\n  local_60[0x18] = 0x36;\n  local_60[0x19] = 0x36;\n  local_60[0x1a] = 0x36;\n  local_60[0x1b] = 0x36;\n  local_60[0x1c] = 0x36;\n  local_60[0x1d] = 0x36;\n  local_60[0x1e] = 0x36;\n  local_60[0x1f] = 0x36;\n  local_60[0x20] = 0x36;\n  local_60[0x21] = 0x36;\n  local_60[0x22] = 0x36;\n  local_60[0x23] = 0x36;\n  local_60[0x24] = 0x36;\n  local_60[0x25] = 0x36;\n  local_60[0x26] = 0x36;\n  local_60[0x27] = 0x36;\n  local_60[0x28] = 0x36;\n  local_60[0x29] = 0x36;\n  local_60[0x2a] = 0x36;\n  local_60[0x2b] = 0x36;\n  local_60[0x2c] = 0x36;\n  local_60[0x2d] = 0x36;\n  local_60[0x2e] = 0x36;\n  local_60[0x2f] = 0x36;\n  local_60[0x30] = 0x36;\n  local_60[0x31] = 0x36;\n  local_60[0x32] = 0x36;\n  local_60[0x33] = 0x36;\n  local_60[0x34] = 0x36;\n  local_60[0x35] = 0x36;\n  local_60[0x36] = 0x36;\n  local_60[0x37] = 0x36;\n  local_60[0x38] = 0x36;\n  local_60[0x39] = 0x36;\n  local_60[0x3a] = 0x36;\n  local_60[0x3b] = 0x36;\n  local_60[0x3c] = 0x36;\n  local_60[0x3d] = 0x36;\n  local_60[0x3e] = 0x36;\n  local_60[0x3f] = 0x36;\n  if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }\n  param_1[0x18] = 0x67452301;\n  param_1[0x19] = 0xefcdab89;\n  param_1[0x1a] = 0x98badcfe;\n  param_1[0x1b] = 0x10325476;\n  param_1[0x1c] = 0xc3d2e1f0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x2e] = 0;\n  FUN_00037e70(param_1 + 0x18,local_60,0x40);\n  FUN_0001c6d0(local_60,0x40);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0003dc30();\n  }\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00037ff0(undefined4 *param_1,int param_2,int param_3)" (identifier "FUN_00037ff0") (parameter_list "(undefined4 *param_1,int param_2,int param_3)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  int iVar1;\n  int in_GS_OFFSET;\n  byte local_60 [64];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x37ffb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  local_60[0] = 0x36;\n  local_60[1] = 0x36;\n  local_60[2] = 0x36;\n  local_60[3] = 0x36;\n  local_60[4] = 0x36;\n  local_60[5] = 0x36;\n  local_60[6] = 0x36;\n  local_60[7] = 0x36;\n  local_60[8] = 0x36;\n  local_60[9] = 0x36;\n  local_60[10] = 0x36;\n  local_60[0xb] = 0x36;\n  local_60[0xc] = 0x36;\n  local_60[0xd] = 0x36;\n  local_60[0xe] = 0x36;\n  local_60[0xf] = 0x36;\n  local_60[0x10] = 0x36;\n  local_60[0x11] = 0x36;\n  local_60[0x12] = 0x36;\n  local_60[0x13] = 0x36;\n  local_60[0x14] = 0x36;\n  local_60[0x15] = 0x36;\n  local_60[0x16] = 0x36;\n  local_60[0x17] = 0x36;\n  local_60[0x18] = 0x36;\n  local_60[0x19] = 0x36;\n  local_60[0x1a] = 0x36;\n  local_60[0x1b] = 0x36;\n  local_60[0x1c] = 0x36;\n  local_60[0x1d] = 0x36;\n  local_60[0x1e] = 0x36;\n  local_60[0x1f] = 0x36;\n  local_60[0x20] = 0x36;\n  local_60[0x21] = 0x36;\n  local_60[0x22] = 0x36;\n  local_60[0x23] = 0x36;\n  local_60[0x24] = 0x36;\n  local_60[0x25] = 0x36;\n  local_60[0x26] = 0x36;\n  local_60[0x27] = 0x36;\n  local_60[0x28] = 0x36;\n  local_60[0x29] = 0x36;\n  local_60[0x2a] = 0x36;\n  local_60[0x2b] = 0x36;\n  local_60[0x2c] = 0x36;\n  local_60[0x2d] = 0x36;\n  local_60[0x2e] = 0x36;\n  local_60[0x2f] = 0x36;\n  local_60[0x30] = 0x36;\n  local_60[0x31] = 0x36;\n  local_60[0x32] = 0x36;\n  local_60[0x33] = 0x36;\n  local_60[0x34] = 0x36;\n  local_60[0x35] = 0x36;\n  local_60[0x36] = 0x36;\n  local_60[0x37] = 0x36;\n  local_60[0x38] = 0x36;\n  local_60[0x39] = 0x36;\n  local_60[0x3a] = 0x36;\n  local_60[0x3b] = 0x36;\n  local_60[0x3c] = 0x36;\n  local_60[0x3d] = 0x36;\n  local_60[0x3e] = 0x36;\n  local_60[0x3f] = 0x36;\n  if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }\n  param_1[0x18] = 0x67452301;\n  param_1[0x19] = 0xefcdab89;\n  param_1[0x1a] = 0x98badcfe;\n  param_1[0x1b] = 0x10325476;\n  param_1[0x1c] = 0xc3d2e1f0;\n  param_1[0x2d] = 0;\n  param_1[0x2f] = 0;\n  param_1[0x2e] = 0;\n  FUN_00037e70(param_1 + 0x18,local_60,0x40);\n  FUN_0001c6d0(local_60,0x40);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0003dc30();\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "byte local_60 [64];" (type_identifier "byte") (array_declarator "local_60 [64]" (identifier "local_60") ([ "[") (number_literal "64") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x37ffb;" (assignment_expression "uStack_14 = 0x37ffb" (identifier "uStack_14") (= "=") (number_literal "0x37ffb")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_60[0] = 0x36;" (assignment_expression "local_60[0] = 0x36" (subscript_expression "local_60[0]" (identifier "local_60") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[1] = 0x36;" (assignment_expression "local_60[1] = 0x36" (subscript_expression "local_60[1]" (identifier "local_60") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[2] = 0x36;" (assignment_expression "local_60[2] = 0x36" (subscript_expression "local_60[2]" (identifier "local_60") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[3] = 0x36;" (assignment_expression "local_60[3] = 0x36" (subscript_expression "local_60[3]" (identifier "local_60") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[4] = 0x36;" (assignment_expression "local_60[4] = 0x36" (subscript_expression "local_60[4]" (identifier "local_60") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[5] = 0x36;" (assignment_expression "local_60[5] = 0x36" (subscript_expression "local_60[5]" (identifier "local_60") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[6] = 0x36;" (assignment_expression "local_60[6] = 0x36" (subscript_expression "local_60[6]" (identifier "local_60") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[7] = 0x36;" (assignment_expression "local_60[7] = 0x36" (subscript_expression "local_60[7]" (identifier "local_60") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[8] = 0x36;" (assignment_expression "local_60[8] = 0x36" (subscript_expression "local_60[8]" (identifier "local_60") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[9] = 0x36;" (assignment_expression "local_60[9] = 0x36" (subscript_expression "local_60[9]" (identifier "local_60") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[10] = 0x36;" (assignment_expression "local_60[10] = 0x36" (subscript_expression "local_60[10]" (identifier "local_60") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0xb] = 0x36;" (assignment_expression "local_60[0xb] = 0x36" (subscript_expression "local_60[0xb]" (identifier "local_60") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0xc] = 0x36;" (assignment_expression "local_60[0xc] = 0x36" (subscript_expression "local_60[0xc]" (identifier "local_60") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0xd] = 0x36;" (assignment_expression "local_60[0xd] = 0x36" (subscript_expression "local_60[0xd]" (identifier "local_60") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0xe] = 0x36;" (assignment_expression "local_60[0xe] = 0x36" (subscript_expression "local_60[0xe]" (identifier "local_60") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0xf] = 0x36;" (assignment_expression "local_60[0xf] = 0x36" (subscript_expression "local_60[0xf]" (identifier "local_60") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x10] = 0x36;" (assignment_expression "local_60[0x10] = 0x36" (subscript_expression "local_60[0x10]" (identifier "local_60") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x11] = 0x36;" (assignment_expression "local_60[0x11] = 0x36" (subscript_expression "local_60[0x11]" (identifier "local_60") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x12] = 0x36;" (assignment_expression "local_60[0x12] = 0x36" (subscript_expression "local_60[0x12]" (identifier "local_60") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x13] = 0x36;" (assignment_expression "local_60[0x13] = 0x36" (subscript_expression "local_60[0x13]" (identifier "local_60") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x14] = 0x36;" (assignment_expression "local_60[0x14] = 0x36" (subscript_expression "local_60[0x14]" (identifier "local_60") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x15] = 0x36;" (assignment_expression "local_60[0x15] = 0x36" (subscript_expression "local_60[0x15]" (identifier "local_60") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x16] = 0x36;" (assignment_expression "local_60[0x16] = 0x36" (subscript_expression "local_60[0x16]" (identifier "local_60") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x17] = 0x36;" (assignment_expression "local_60[0x17] = 0x36" (subscript_expression "local_60[0x17]" (identifier "local_60") ([ "[") (number_literal "0x17") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x18] = 0x36;" (assignment_expression "local_60[0x18] = 0x36" (subscript_expression "local_60[0x18]" (identifier "local_60") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x19] = 0x36;" (assignment_expression "local_60[0x19] = 0x36" (subscript_expression "local_60[0x19]" (identifier "local_60") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x1a] = 0x36;" (assignment_expression "local_60[0x1a] = 0x36" (subscript_expression "local_60[0x1a]" (identifier "local_60") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x1b] = 0x36;" (assignment_expression "local_60[0x1b] = 0x36" (subscript_expression "local_60[0x1b]" (identifier "local_60") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x1c] = 0x36;" (assignment_expression "local_60[0x1c] = 0x36" (subscript_expression "local_60[0x1c]" (identifier "local_60") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x1d] = 0x36;" (assignment_expression "local_60[0x1d] = 0x36" (subscript_expression "local_60[0x1d]" (identifier "local_60") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x1e] = 0x36;" (assignment_expression "local_60[0x1e] = 0x36" (subscript_expression "local_60[0x1e]" (identifier "local_60") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x1f] = 0x36;" (assignment_expression "local_60[0x1f] = 0x36" (subscript_expression "local_60[0x1f]" (identifier "local_60") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x20] = 0x36;" (assignment_expression "local_60[0x20] = 0x36" (subscript_expression "local_60[0x20]" (identifier "local_60") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x21] = 0x36;" (assignment_expression "local_60[0x21] = 0x36" (subscript_expression "local_60[0x21]" (identifier "local_60") ([ "[") (number_literal "0x21") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x22] = 0x36;" (assignment_expression "local_60[0x22] = 0x36" (subscript_expression "local_60[0x22]" (identifier "local_60") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x23] = 0x36;" (assignment_expression "local_60[0x23] = 0x36" (subscript_expression "local_60[0x23]" (identifier "local_60") ([ "[") (number_literal "0x23") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x24] = 0x36;" (assignment_expression "local_60[0x24] = 0x36" (subscript_expression "local_60[0x24]" (identifier "local_60") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x25] = 0x36;" (assignment_expression "local_60[0x25] = 0x36" (subscript_expression "local_60[0x25]" (identifier "local_60") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x26] = 0x36;" (assignment_expression "local_60[0x26] = 0x36" (subscript_expression "local_60[0x26]" (identifier "local_60") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x27] = 0x36;" (assignment_expression "local_60[0x27] = 0x36" (subscript_expression "local_60[0x27]" (identifier "local_60") ([ "[") (number_literal "0x27") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x28] = 0x36;" (assignment_expression "local_60[0x28] = 0x36" (subscript_expression "local_60[0x28]" (identifier "local_60") ([ "[") (number_literal "0x28") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x29] = 0x36;" (assignment_expression "local_60[0x29] = 0x36" (subscript_expression "local_60[0x29]" (identifier "local_60") ([ "[") (number_literal "0x29") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x2a] = 0x36;" (assignment_expression "local_60[0x2a] = 0x36" (subscript_expression "local_60[0x2a]" (identifier "local_60") ([ "[") (number_literal "0x2a") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x2b] = 0x36;" (assignment_expression "local_60[0x2b] = 0x36" (subscript_expression "local_60[0x2b]" (identifier "local_60") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x2c] = 0x36;" (assignment_expression "local_60[0x2c] = 0x36" (subscript_expression "local_60[0x2c]" (identifier "local_60") ([ "[") (number_literal "0x2c") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x2d] = 0x36;" (assignment_expression "local_60[0x2d] = 0x36" (subscript_expression "local_60[0x2d]" (identifier "local_60") ([ "[") (number_literal "0x2d") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x2e] = 0x36;" (assignment_expression "local_60[0x2e] = 0x36" (subscript_expression "local_60[0x2e]" (identifier "local_60") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x2f] = 0x36;" (assignment_expression "local_60[0x2f] = 0x36" (subscript_expression "local_60[0x2f]" (identifier "local_60") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x30] = 0x36;" (assignment_expression "local_60[0x30] = 0x36" (subscript_expression "local_60[0x30]" (identifier "local_60") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x31] = 0x36;" (assignment_expression "local_60[0x31] = 0x36" (subscript_expression "local_60[0x31]" (identifier "local_60") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x32] = 0x36;" (assignment_expression "local_60[0x32] = 0x36" (subscript_expression "local_60[0x32]" (identifier "local_60") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x33] = 0x36;" (assignment_expression "local_60[0x33] = 0x36" (subscript_expression "local_60[0x33]" (identifier "local_60") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x34] = 0x36;" (assignment_expression "local_60[0x34] = 0x36" (subscript_expression "local_60[0x34]" (identifier "local_60") ([ "[") (number_literal "0x34") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x35] = 0x36;" (assignment_expression "local_60[0x35] = 0x36" (subscript_expression "local_60[0x35]" (identifier "local_60") ([ "[") (number_literal "0x35") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x36] = 0x36;" (assignment_expression "local_60[0x36] = 0x36" (subscript_expression "local_60[0x36]" (identifier "local_60") ([ "[") (number_literal "0x36") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x37] = 0x36;" (assignment_expression "local_60[0x37] = 0x36" (subscript_expression "local_60[0x37]" (identifier "local_60") ([ "[") (number_literal "0x37") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x38] = 0x36;" (assignment_expression "local_60[0x38] = 0x36" (subscript_expression "local_60[0x38]" (identifier "local_60") ([ "[") (number_literal "0x38") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x39] = 0x36;" (assignment_expression "local_60[0x39] = 0x36" (subscript_expression "local_60[0x39]" (identifier "local_60") ([ "[") (number_literal "0x39") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x3a] = 0x36;" (assignment_expression "local_60[0x3a] = 0x36" (subscript_expression "local_60[0x3a]" (identifier "local_60") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x3b] = 0x36;" (assignment_expression "local_60[0x3b] = 0x36" (subscript_expression "local_60[0x3b]" (identifier "local_60") ([ "[") (number_literal "0x3b") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x3c] = 0x36;" (assignment_expression "local_60[0x3c] = 0x36" (subscript_expression "local_60[0x3c]" (identifier "local_60") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x3d] = 0x36;" (assignment_expression "local_60[0x3d] = 0x36" (subscript_expression "local_60[0x3d]" (identifier "local_60") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x3e] = 0x36;" (assignment_expression "local_60[0x3e] = 0x36" (subscript_expression "local_60[0x3e]" (identifier "local_60") ([ "[") (number_literal "0x3e") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (expression_statement "local_60[0x3f] = 0x36;" (assignment_expression "local_60[0x3f] = 0x36" (subscript_expression "local_60[0x3f]" (identifier "local_60") ([ "[") (number_literal "0x3f") (] "]")) (= "=") (number_literal "0x36")) (; ";")) (if_statement "if (param_3 < 1) {\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }\n  else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }" (if "if") (parenthesized_expression "(param_3 < 1)" (( "(") (binary_expression "param_3 < 1" (identifier "param_3") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n  }" ({ "{") (expression_statement "*param_1 = 0x67452301;" (assignment_expression "*param_1 = 0x67452301" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0x67452301")) (; ";")) (expression_statement "param_1[1] = 0xefcdab89;" (assignment_expression "param_1[1] = 0xefcdab89" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xefcdab89")) (; ";")) (expression_statement "param_1[2] = 0x98badcfe;" (assignment_expression "param_1[2] = 0x98badcfe" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x98badcfe")) (; ";")) (expression_statement "param_1[3] = 0x10325476;" (assignment_expression "param_1[3] = 0x10325476" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x10325476")) (; ";")) (expression_statement "param_1[4] = 0xc3d2e1f0;" (assignment_expression "param_1[4] = 0xc3d2e1f0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xc3d2e1f0")) (; ";")) (expression_statement "param_1[0x15] = 0;" (assignment_expression "param_1[0x15] = 0" (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x17] = 0;" (assignment_expression "param_1[0x17] = 0" (subscript_expression "param_1[0x17]" (identifier "param_1") ([ "[") (number_literal "0x17") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x16] = 0;" (assignment_expression "param_1[0x16] = 0" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00037e70(param_1,local_60,0x40);" (call_expression "FUN_00037e70(param_1,local_60,0x40)" (identifier "FUN_00037e70") (argument_list "(param_1,local_60,0x40)" (( "(") (identifier "param_1") (, ",") (identifier "local_60") (, ",") (number_literal "0x40") () ")"))) (; ";")) (expression_statement "local_60[0] = 0x5c;" (assignment_expression "local_60[0] = 0x5c" (subscript_expression "local_60[0]" (identifier "local_60") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[1] = 0x5c;" (assignment_expression "local_60[1] = 0x5c" (subscript_expression "local_60[1]" (identifier "local_60") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[2] = 0x5c;" (assignment_expression "local_60[2] = 0x5c" (subscript_expression "local_60[2]" (identifier "local_60") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[3] = 0x5c;" (assignment_expression "local_60[3] = 0x5c" (subscript_expression "local_60[3]" (identifier "local_60") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[4] = 0x5c;" (assignment_expression "local_60[4] = 0x5c" (subscript_expression "local_60[4]" (identifier "local_60") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[5] = 0x5c;" (assignment_expression "local_60[5] = 0x5c" (subscript_expression "local_60[5]" (identifier "local_60") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[6] = 0x5c;" (assignment_expression "local_60[6] = 0x5c" (subscript_expression "local_60[6]" (identifier "local_60") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[7] = 0x5c;" (assignment_expression "local_60[7] = 0x5c" (subscript_expression "local_60[7]" (identifier "local_60") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[8] = 0x5c;" (assignment_expression "local_60[8] = 0x5c" (subscript_expression "local_60[8]" (identifier "local_60") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[9] = 0x5c;" (assignment_expression "local_60[9] = 0x5c" (subscript_expression "local_60[9]" (identifier "local_60") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[10] = 0x5c;" (assignment_expression "local_60[10] = 0x5c" (subscript_expression "local_60[10]" (identifier "local_60") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0xb] = 0x5c;" (assignment_expression "local_60[0xb] = 0x5c" (subscript_expression "local_60[0xb]" (identifier "local_60") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0xc] = 0x5c;" (assignment_expression "local_60[0xc] = 0x5c" (subscript_expression "local_60[0xc]" (identifier "local_60") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0xd] = 0x5c;" (assignment_expression "local_60[0xd] = 0x5c" (subscript_expression "local_60[0xd]" (identifier "local_60") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0xe] = 0x5c;" (assignment_expression "local_60[0xe] = 0x5c" (subscript_expression "local_60[0xe]" (identifier "local_60") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0xf] = 0x5c;" (assignment_expression "local_60[0xf] = 0x5c" (subscript_expression "local_60[0xf]" (identifier "local_60") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x10] = 0x5c;" (assignment_expression "local_60[0x10] = 0x5c" (subscript_expression "local_60[0x10]" (identifier "local_60") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x11] = 0x5c;" (assignment_expression "local_60[0x11] = 0x5c" (subscript_expression "local_60[0x11]" (identifier "local_60") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x12] = 0x5c;" (assignment_expression "local_60[0x12] = 0x5c" (subscript_expression "local_60[0x12]" (identifier "local_60") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x13] = 0x5c;" (assignment_expression "local_60[0x13] = 0x5c" (subscript_expression "local_60[0x13]" (identifier "local_60") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x14] = 0x5c;" (assignment_expression "local_60[0x14] = 0x5c" (subscript_expression "local_60[0x14]" (identifier "local_60") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x15] = 0x5c;" (assignment_expression "local_60[0x15] = 0x5c" (subscript_expression "local_60[0x15]" (identifier "local_60") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x16] = 0x5c;" (assignment_expression "local_60[0x16] = 0x5c" (subscript_expression "local_60[0x16]" (identifier "local_60") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x17] = 0x5c;" (assignment_expression "local_60[0x17] = 0x5c" (subscript_expression "local_60[0x17]" (identifier "local_60") ([ "[") (number_literal "0x17") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x18] = 0x5c;" (assignment_expression "local_60[0x18] = 0x5c" (subscript_expression "local_60[0x18]" (identifier "local_60") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x19] = 0x5c;" (assignment_expression "local_60[0x19] = 0x5c" (subscript_expression "local_60[0x19]" (identifier "local_60") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1a] = 0x5c;" (assignment_expression "local_60[0x1a] = 0x5c" (subscript_expression "local_60[0x1a]" (identifier "local_60") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1b] = 0x5c;" (assignment_expression "local_60[0x1b] = 0x5c" (subscript_expression "local_60[0x1b]" (identifier "local_60") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1c] = 0x5c;" (assignment_expression "local_60[0x1c] = 0x5c" (subscript_expression "local_60[0x1c]" (identifier "local_60") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1d] = 0x5c;" (assignment_expression "local_60[0x1d] = 0x5c" (subscript_expression "local_60[0x1d]" (identifier "local_60") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1e] = 0x5c;" (assignment_expression "local_60[0x1e] = 0x5c" (subscript_expression "local_60[0x1e]" (identifier "local_60") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1f] = 0x5c;" (assignment_expression "local_60[0x1f] = 0x5c" (subscript_expression "local_60[0x1f]" (identifier "local_60") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x20] = 0x5c;" (assignment_expression "local_60[0x20] = 0x5c" (subscript_expression "local_60[0x20]" (identifier "local_60") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x21] = 0x5c;" (assignment_expression "local_60[0x21] = 0x5c" (subscript_expression "local_60[0x21]" (identifier "local_60") ([ "[") (number_literal "0x21") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x22] = 0x5c;" (assignment_expression "local_60[0x22] = 0x5c" (subscript_expression "local_60[0x22]" (identifier "local_60") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x23] = 0x5c;" (assignment_expression "local_60[0x23] = 0x5c" (subscript_expression "local_60[0x23]" (identifier "local_60") ([ "[") (number_literal "0x23") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x24] = 0x5c;" (assignment_expression "local_60[0x24] = 0x5c" (subscript_expression "local_60[0x24]" (identifier "local_60") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x25] = 0x5c;" (assignment_expression "local_60[0x25] = 0x5c" (subscript_expression "local_60[0x25]" (identifier "local_60") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x26] = 0x5c;" (assignment_expression "local_60[0x26] = 0x5c" (subscript_expression "local_60[0x26]" (identifier "local_60") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x27] = 0x5c;" (assignment_expression "local_60[0x27] = 0x5c" (subscript_expression "local_60[0x27]" (identifier "local_60") ([ "[") (number_literal "0x27") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x28] = 0x5c;" (assignment_expression "local_60[0x28] = 0x5c" (subscript_expression "local_60[0x28]" (identifier "local_60") ([ "[") (number_literal "0x28") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x29] = 0x5c;" (assignment_expression "local_60[0x29] = 0x5c" (subscript_expression "local_60[0x29]" (identifier "local_60") ([ "[") (number_literal "0x29") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2a] = 0x5c;" (assignment_expression "local_60[0x2a] = 0x5c" (subscript_expression "local_60[0x2a]" (identifier "local_60") ([ "[") (number_literal "0x2a") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2b] = 0x5c;" (assignment_expression "local_60[0x2b] = 0x5c" (subscript_expression "local_60[0x2b]" (identifier "local_60") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2c] = 0x5c;" (assignment_expression "local_60[0x2c] = 0x5c" (subscript_expression "local_60[0x2c]" (identifier "local_60") ([ "[") (number_literal "0x2c") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2d] = 0x5c;" (assignment_expression "local_60[0x2d] = 0x5c" (subscript_expression "local_60[0x2d]" (identifier "local_60") ([ "[") (number_literal "0x2d") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2e] = 0x5c;" (assignment_expression "local_60[0x2e] = 0x5c" (subscript_expression "local_60[0x2e]" (identifier "local_60") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2f] = 0x5c;" (assignment_expression "local_60[0x2f] = 0x5c" (subscript_expression "local_60[0x2f]" (identifier "local_60") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x30] = 0x5c;" (assignment_expression "local_60[0x30] = 0x5c" (subscript_expression "local_60[0x30]" (identifier "local_60") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x31] = 0x5c;" (assignment_expression "local_60[0x31] = 0x5c" (subscript_expression "local_60[0x31]" (identifier "local_60") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x32] = 0x5c;" (assignment_expression "local_60[0x32] = 0x5c" (subscript_expression "local_60[0x32]" (identifier "local_60") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x33] = 0x5c;" (assignment_expression "local_60[0x33] = 0x5c" (subscript_expression "local_60[0x33]" (identifier "local_60") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x34] = 0x5c;" (assignment_expression "local_60[0x34] = 0x5c" (subscript_expression "local_60[0x34]" (identifier "local_60") ([ "[") (number_literal "0x34") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x35] = 0x5c;" (assignment_expression "local_60[0x35] = 0x5c" (subscript_expression "local_60[0x35]" (identifier "local_60") ([ "[") (number_literal "0x35") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x36] = 0x5c;" (assignment_expression "local_60[0x36] = 0x5c" (subscript_expression "local_60[0x36]" (identifier "local_60") ([ "[") (number_literal "0x36") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x37] = 0x5c;" (assignment_expression "local_60[0x37] = 0x5c" (subscript_expression "local_60[0x37]" (identifier "local_60") ([ "[") (number_literal "0x37") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x38] = 0x5c;" (assignment_expression "local_60[0x38] = 0x5c" (subscript_expression "local_60[0x38]" (identifier "local_60") ([ "[") (number_literal "0x38") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x39] = 0x5c;" (assignment_expression "local_60[0x39] = 0x5c" (subscript_expression "local_60[0x39]" (identifier "local_60") ([ "[") (number_literal "0x39") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3a] = 0x5c;" (assignment_expression "local_60[0x3a] = 0x5c" (subscript_expression "local_60[0x3a]" (identifier "local_60") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3b] = 0x5c;" (assignment_expression "local_60[0x3b] = 0x5c" (subscript_expression "local_60[0x3b]" (identifier "local_60") ([ "[") (number_literal "0x3b") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3c] = 0x5c;" (assignment_expression "local_60[0x3c] = 0x5c" (subscript_expression "local_60[0x3c]" (identifier "local_60") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3d] = 0x5c;" (assignment_expression "local_60[0x3d] = 0x5c" (subscript_expression "local_60[0x3d]" (identifier "local_60") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3e] = 0x5c;" (assignment_expression "local_60[0x3e] = 0x5c" (subscript_expression "local_60[0x3e]" (identifier "local_60") ([ "[") (number_literal "0x3e") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3f] = 0x5c;" (assignment_expression "local_60[0x3f] = 0x5c" (subscript_expression "local_60[0x3f]" (identifier "local_60") ([ "[") (number_literal "0x3f") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (} "}")) (else_clause "else {\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }" (else "else") (compound_statement "{\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n    *param_1 = 0x67452301;\n    param_1[1] = 0xefcdab89;\n    param_1[2] = 0x98badcfe;\n    param_1[3] = 0x10325476;\n    param_1[4] = 0xc3d2e1f0;\n    param_1[0x15] = 0;\n    param_1[0x17] = 0;\n    param_1[0x16] = 0;\n    FUN_00037e70(param_1,local_60,0x40);\n    local_60[0] = 0x5c;\n    local_60[1] = 0x5c;\n    local_60[2] = 0x5c;\n    local_60[3] = 0x5c;\n    iVar1 = 0;\n    local_60[4] = 0x5c;\n    local_60[5] = 0x5c;\n    local_60[6] = 0x5c;\n    local_60[7] = 0x5c;\n    local_60[8] = 0x5c;\n    local_60[9] = 0x5c;\n    local_60[10] = 0x5c;\n    local_60[0xb] = 0x5c;\n    local_60[0xc] = 0x5c;\n    local_60[0xd] = 0x5c;\n    local_60[0xe] = 0x5c;\n    local_60[0xf] = 0x5c;\n    local_60[0x10] = 0x5c;\n    local_60[0x11] = 0x5c;\n    local_60[0x12] = 0x5c;\n    local_60[0x13] = 0x5c;\n    local_60[0x14] = 0x5c;\n    local_60[0x15] = 0x5c;\n    local_60[0x16] = 0x5c;\n    local_60[0x17] = 0x5c;\n    local_60[0x18] = 0x5c;\n    local_60[0x19] = 0x5c;\n    local_60[0x1a] = 0x5c;\n    local_60[0x1b] = 0x5c;\n    local_60[0x1c] = 0x5c;\n    local_60[0x1d] = 0x5c;\n    local_60[0x1e] = 0x5c;\n    local_60[0x1f] = 0x5c;\n    local_60[0x20] = 0x5c;\n    local_60[0x21] = 0x5c;\n    local_60[0x22] = 0x5c;\n    local_60[0x23] = 0x5c;\n    local_60[0x24] = 0x5c;\n    local_60[0x25] = 0x5c;\n    local_60[0x26] = 0x5c;\n    local_60[0x27] = 0x5c;\n    local_60[0x28] = 0x5c;\n    local_60[0x29] = 0x5c;\n    local_60[0x2a] = 0x5c;\n    local_60[0x2b] = 0x5c;\n    local_60[0x2c] = 0x5c;\n    local_60[0x2d] = 0x5c;\n    local_60[0x2e] = 0x5c;\n    local_60[0x2f] = 0x5c;\n    local_60[0x30] = 0x5c;\n    local_60[0x31] = 0x5c;\n    local_60[0x32] = 0x5c;\n    local_60[0x33] = 0x5c;\n    local_60[0x34] = 0x5c;\n    local_60[0x35] = 0x5c;\n    local_60[0x36] = 0x5c;\n    local_60[0x37] = 0x5c;\n    local_60[0x38] = 0x5c;\n    local_60[0x39] = 0x5c;\n    local_60[0x3a] = 0x5c;\n    local_60[0x3b] = 0x5c;\n    local_60[0x3c] = 0x5c;\n    local_60[0x3d] = 0x5c;\n    local_60[0x3e] = 0x5c;\n    local_60[0x3f] = 0x5c;\n    do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);\n  }" ({ "{") (do_statement "do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);" (do "do") (compound_statement "{\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    }" ({ "{") (expression_statement "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);" (assignment_expression "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" (identifier "local_60") ([ "[") (identifier "iVar1") (] "]")) (= "=") (binary_expression "local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" (identifier "local_60") ([ "[") (identifier "iVar1") (] "]")) (^ "^") (pointer_expression "*(byte *)(param_2 + iVar1)" (* "*") (cast_expression "(byte *)(param_2 + iVar1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + iVar1)" (( "(") (binary_expression "param_2 + iVar1" (identifier "param_2") (+ "+") (identifier "iVar1")) () ")")))))) (; ";")) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_3 <= iVar1) break;" (if "if") (parenthesized_expression "(param_3 <= iVar1)" (( "(") (binary_expression "param_3 <= iVar1" (identifier "param_3") (<= "<=") (identifier "iVar1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar1 < 0x40)" (( "(") (binary_expression "iVar1 < 0x40" (identifier "iVar1") (< "<") (number_literal "0x40")) () ")")) (; ";")) (expression_statement "*param_1 = 0x67452301;" (assignment_expression "*param_1 = 0x67452301" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0x67452301")) (; ";")) (expression_statement "param_1[1] = 0xefcdab89;" (assignment_expression "param_1[1] = 0xefcdab89" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xefcdab89")) (; ";")) (expression_statement "param_1[2] = 0x98badcfe;" (assignment_expression "param_1[2] = 0x98badcfe" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x98badcfe")) (; ";")) (expression_statement "param_1[3] = 0x10325476;" (assignment_expression "param_1[3] = 0x10325476" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x10325476")) (; ";")) (expression_statement "param_1[4] = 0xc3d2e1f0;" (assignment_expression "param_1[4] = 0xc3d2e1f0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xc3d2e1f0")) (; ";")) (expression_statement "param_1[0x15] = 0;" (assignment_expression "param_1[0x15] = 0" (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x17] = 0;" (assignment_expression "param_1[0x17] = 0" (subscript_expression "param_1[0x17]" (identifier "param_1") ([ "[") (number_literal "0x17") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x16] = 0;" (assignment_expression "param_1[0x16] = 0" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00037e70(param_1,local_60,0x40);" (call_expression "FUN_00037e70(param_1,local_60,0x40)" (identifier "FUN_00037e70") (argument_list "(param_1,local_60,0x40)" (( "(") (identifier "param_1") (, ",") (identifier "local_60") (, ",") (number_literal "0x40") () ")"))) (; ";")) (expression_statement "local_60[0] = 0x5c;" (assignment_expression "local_60[0] = 0x5c" (subscript_expression "local_60[0]" (identifier "local_60") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[1] = 0x5c;" (assignment_expression "local_60[1] = 0x5c" (subscript_expression "local_60[1]" (identifier "local_60") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[2] = 0x5c;" (assignment_expression "local_60[2] = 0x5c" (subscript_expression "local_60[2]" (identifier "local_60") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[3] = 0x5c;" (assignment_expression "local_60[3] = 0x5c" (subscript_expression "local_60[3]" (identifier "local_60") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_60[4] = 0x5c;" (assignment_expression "local_60[4] = 0x5c" (subscript_expression "local_60[4]" (identifier "local_60") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[5] = 0x5c;" (assignment_expression "local_60[5] = 0x5c" (subscript_expression "local_60[5]" (identifier "local_60") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[6] = 0x5c;" (assignment_expression "local_60[6] = 0x5c" (subscript_expression "local_60[6]" (identifier "local_60") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[7] = 0x5c;" (assignment_expression "local_60[7] = 0x5c" (subscript_expression "local_60[7]" (identifier "local_60") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[8] = 0x5c;" (assignment_expression "local_60[8] = 0x5c" (subscript_expression "local_60[8]" (identifier "local_60") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[9] = 0x5c;" (assignment_expression "local_60[9] = 0x5c" (subscript_expression "local_60[9]" (identifier "local_60") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[10] = 0x5c;" (assignment_expression "local_60[10] = 0x5c" (subscript_expression "local_60[10]" (identifier "local_60") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0xb] = 0x5c;" (assignment_expression "local_60[0xb] = 0x5c" (subscript_expression "local_60[0xb]" (identifier "local_60") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0xc] = 0x5c;" (assignment_expression "local_60[0xc] = 0x5c" (subscript_expression "local_60[0xc]" (identifier "local_60") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0xd] = 0x5c;" (assignment_expression "local_60[0xd] = 0x5c" (subscript_expression "local_60[0xd]" (identifier "local_60") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0xe] = 0x5c;" (assignment_expression "local_60[0xe] = 0x5c" (subscript_expression "local_60[0xe]" (identifier "local_60") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0xf] = 0x5c;" (assignment_expression "local_60[0xf] = 0x5c" (subscript_expression "local_60[0xf]" (identifier "local_60") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x10] = 0x5c;" (assignment_expression "local_60[0x10] = 0x5c" (subscript_expression "local_60[0x10]" (identifier "local_60") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x11] = 0x5c;" (assignment_expression "local_60[0x11] = 0x5c" (subscript_expression "local_60[0x11]" (identifier "local_60") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x12] = 0x5c;" (assignment_expression "local_60[0x12] = 0x5c" (subscript_expression "local_60[0x12]" (identifier "local_60") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x13] = 0x5c;" (assignment_expression "local_60[0x13] = 0x5c" (subscript_expression "local_60[0x13]" (identifier "local_60") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x14] = 0x5c;" (assignment_expression "local_60[0x14] = 0x5c" (subscript_expression "local_60[0x14]" (identifier "local_60") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x15] = 0x5c;" (assignment_expression "local_60[0x15] = 0x5c" (subscript_expression "local_60[0x15]" (identifier "local_60") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x16] = 0x5c;" (assignment_expression "local_60[0x16] = 0x5c" (subscript_expression "local_60[0x16]" (identifier "local_60") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x17] = 0x5c;" (assignment_expression "local_60[0x17] = 0x5c" (subscript_expression "local_60[0x17]" (identifier "local_60") ([ "[") (number_literal "0x17") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x18] = 0x5c;" (assignment_expression "local_60[0x18] = 0x5c" (subscript_expression "local_60[0x18]" (identifier "local_60") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x19] = 0x5c;" (assignment_expression "local_60[0x19] = 0x5c" (subscript_expression "local_60[0x19]" (identifier "local_60") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1a] = 0x5c;" (assignment_expression "local_60[0x1a] = 0x5c" (subscript_expression "local_60[0x1a]" (identifier "local_60") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1b] = 0x5c;" (assignment_expression "local_60[0x1b] = 0x5c" (subscript_expression "local_60[0x1b]" (identifier "local_60") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1c] = 0x5c;" (assignment_expression "local_60[0x1c] = 0x5c" (subscript_expression "local_60[0x1c]" (identifier "local_60") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1d] = 0x5c;" (assignment_expression "local_60[0x1d] = 0x5c" (subscript_expression "local_60[0x1d]" (identifier "local_60") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1e] = 0x5c;" (assignment_expression "local_60[0x1e] = 0x5c" (subscript_expression "local_60[0x1e]" (identifier "local_60") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x1f] = 0x5c;" (assignment_expression "local_60[0x1f] = 0x5c" (subscript_expression "local_60[0x1f]" (identifier "local_60") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x20] = 0x5c;" (assignment_expression "local_60[0x20] = 0x5c" (subscript_expression "local_60[0x20]" (identifier "local_60") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x21] = 0x5c;" (assignment_expression "local_60[0x21] = 0x5c" (subscript_expression "local_60[0x21]" (identifier "local_60") ([ "[") (number_literal "0x21") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x22] = 0x5c;" (assignment_expression "local_60[0x22] = 0x5c" (subscript_expression "local_60[0x22]" (identifier "local_60") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x23] = 0x5c;" (assignment_expression "local_60[0x23] = 0x5c" (subscript_expression "local_60[0x23]" (identifier "local_60") ([ "[") (number_literal "0x23") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x24] = 0x5c;" (assignment_expression "local_60[0x24] = 0x5c" (subscript_expression "local_60[0x24]" (identifier "local_60") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x25] = 0x5c;" (assignment_expression "local_60[0x25] = 0x5c" (subscript_expression "local_60[0x25]" (identifier "local_60") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x26] = 0x5c;" (assignment_expression "local_60[0x26] = 0x5c" (subscript_expression "local_60[0x26]" (identifier "local_60") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x27] = 0x5c;" (assignment_expression "local_60[0x27] = 0x5c" (subscript_expression "local_60[0x27]" (identifier "local_60") ([ "[") (number_literal "0x27") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x28] = 0x5c;" (assignment_expression "local_60[0x28] = 0x5c" (subscript_expression "local_60[0x28]" (identifier "local_60") ([ "[") (number_literal "0x28") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x29] = 0x5c;" (assignment_expression "local_60[0x29] = 0x5c" (subscript_expression "local_60[0x29]" (identifier "local_60") ([ "[") (number_literal "0x29") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2a] = 0x5c;" (assignment_expression "local_60[0x2a] = 0x5c" (subscript_expression "local_60[0x2a]" (identifier "local_60") ([ "[") (number_literal "0x2a") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2b] = 0x5c;" (assignment_expression "local_60[0x2b] = 0x5c" (subscript_expression "local_60[0x2b]" (identifier "local_60") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2c] = 0x5c;" (assignment_expression "local_60[0x2c] = 0x5c" (subscript_expression "local_60[0x2c]" (identifier "local_60") ([ "[") (number_literal "0x2c") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2d] = 0x5c;" (assignment_expression "local_60[0x2d] = 0x5c" (subscript_expression "local_60[0x2d]" (identifier "local_60") ([ "[") (number_literal "0x2d") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2e] = 0x5c;" (assignment_expression "local_60[0x2e] = 0x5c" (subscript_expression "local_60[0x2e]" (identifier "local_60") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x2f] = 0x5c;" (assignment_expression "local_60[0x2f] = 0x5c" (subscript_expression "local_60[0x2f]" (identifier "local_60") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x30] = 0x5c;" (assignment_expression "local_60[0x30] = 0x5c" (subscript_expression "local_60[0x30]" (identifier "local_60") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x31] = 0x5c;" (assignment_expression "local_60[0x31] = 0x5c" (subscript_expression "local_60[0x31]" (identifier "local_60") ([ "[") (number_literal "0x31") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x32] = 0x5c;" (assignment_expression "local_60[0x32] = 0x5c" (subscript_expression "local_60[0x32]" (identifier "local_60") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x33] = 0x5c;" (assignment_expression "local_60[0x33] = 0x5c" (subscript_expression "local_60[0x33]" (identifier "local_60") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x34] = 0x5c;" (assignment_expression "local_60[0x34] = 0x5c" (subscript_expression "local_60[0x34]" (identifier "local_60") ([ "[") (number_literal "0x34") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x35] = 0x5c;" (assignment_expression "local_60[0x35] = 0x5c" (subscript_expression "local_60[0x35]" (identifier "local_60") ([ "[") (number_literal "0x35") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x36] = 0x5c;" (assignment_expression "local_60[0x36] = 0x5c" (subscript_expression "local_60[0x36]" (identifier "local_60") ([ "[") (number_literal "0x36") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x37] = 0x5c;" (assignment_expression "local_60[0x37] = 0x5c" (subscript_expression "local_60[0x37]" (identifier "local_60") ([ "[") (number_literal "0x37") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x38] = 0x5c;" (assignment_expression "local_60[0x38] = 0x5c" (subscript_expression "local_60[0x38]" (identifier "local_60") ([ "[") (number_literal "0x38") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x39] = 0x5c;" (assignment_expression "local_60[0x39] = 0x5c" (subscript_expression "local_60[0x39]" (identifier "local_60") ([ "[") (number_literal "0x39") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3a] = 0x5c;" (assignment_expression "local_60[0x3a] = 0x5c" (subscript_expression "local_60[0x3a]" (identifier "local_60") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3b] = 0x5c;" (assignment_expression "local_60[0x3b] = 0x5c" (subscript_expression "local_60[0x3b]" (identifier "local_60") ([ "[") (number_literal "0x3b") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3c] = 0x5c;" (assignment_expression "local_60[0x3c] = 0x5c" (subscript_expression "local_60[0x3c]" (identifier "local_60") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3d] = 0x5c;" (assignment_expression "local_60[0x3d] = 0x5c" (subscript_expression "local_60[0x3d]" (identifier "local_60") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3e] = 0x5c;" (assignment_expression "local_60[0x3e] = 0x5c" (subscript_expression "local_60[0x3e]" (identifier "local_60") ([ "[") (number_literal "0x3e") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "local_60[0x3f] = 0x5c;" (assignment_expression "local_60[0x3f] = 0x5c" (subscript_expression "local_60[0x3f]" (identifier "local_60") ([ "[") (number_literal "0x3f") (] "]")) (= "=") (number_literal "0x5c")) (; ";")) (do_statement "do {\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    } while (iVar1 < 0x40);" (do "do") (compound_statement "{\n      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);\n      iVar1 = iVar1 + 1;\n      if (param_3 <= iVar1) break;\n    }" ({ "{") (expression_statement "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);" (assignment_expression "local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" (identifier "local_60") ([ "[") (identifier "iVar1") (] "]")) (= "=") (binary_expression "local_60[iVar1] ^ *(byte *)(param_2 + iVar1)" (subscript_expression "local_60[iVar1]" (identifier "local_60") ([ "[") (identifier "iVar1") (] "]")) (^ "^") (pointer_expression "*(byte *)(param_2 + iVar1)" (* "*") (cast_expression "(byte *)(param_2 + iVar1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + iVar1)" (( "(") (binary_expression "param_2 + iVar1" (identifier "param_2") (+ "+") (identifier "iVar1")) () ")")))))) (; ";")) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_3 <= iVar1) break;" (if "if") (parenthesized_expression "(param_3 <= iVar1)" (( "(") (binary_expression "param_3 <= iVar1" (identifier "param_3") (<= "<=") (identifier "iVar1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar1 < 0x40)" (( "(") (binary_expression "iVar1 < 0x40" (identifier "iVar1") (< "<") (number_literal "0x40")) () ")")) (; ";")) (} "}")))) (expression_statement "param_1[0x18] = 0x67452301;" (assignment_expression "param_1[0x18] = 0x67452301" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "0x67452301")) (; ";")) (expression_statement "param_1[0x19] = 0xefcdab89;" (assignment_expression "param_1[0x19] = 0xefcdab89" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0xefcdab89")) (; ";")) (expression_statement "param_1[0x1a] = 0x98badcfe;" (assignment_expression "param_1[0x1a] = 0x98badcfe" (subscript_expression "param_1[0x1a]" (identifier "param_1") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0x98badcfe")) (; ";")) (expression_statement "param_1[0x1b] = 0x10325476;" (assignment_expression "param_1[0x1b] = 0x10325476" (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0x10325476")) (; ";")) (expression_statement "param_1[0x1c] = 0xc3d2e1f0;" (assignment_expression "param_1[0x1c] = 0xc3d2e1f0" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0xc3d2e1f0")) (; ";")) (expression_statement "param_1[0x2d] = 0;" (assignment_expression "param_1[0x2d] = 0" (subscript_expression "param_1[0x2d]" (identifier "param_1") ([ "[") (number_literal "0x2d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x2f] = 0;" (assignment_expression "param_1[0x2f] = 0" (subscript_expression "param_1[0x2f]" (identifier "param_1") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x2e] = 0;" (assignment_expression "param_1[0x2e] = 0" (subscript_expression "param_1[0x2e]" (identifier "param_1") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00037e70(param_1 + 0x18,local_60,0x40);" (call_expression "FUN_00037e70(param_1 + 0x18,local_60,0x40)" (identifier "FUN_00037e70") (argument_list "(param_1 + 0x18,local_60,0x40)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) (, ",") (identifier "local_60") (, ",") (number_literal "0x40") () ")"))) (; ";")) (expression_statement "FUN_0001c6d0(local_60,0x40);" (call_expression "FUN_0001c6d0(local_60,0x40)" (identifier "FUN_0001c6d0") (argument_list "(local_60,0x40)" (( "(") (identifier "local_60") (, ",") (number_literal "0x40") () ")"))) (; ";")) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0003dc30();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_0003dc30();\n  }" ({ "{") (expression_statement "FUN_0003dc30();" (call_expression "FUN_0003dc30()" (identifier "FUN_0003dc30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void __regparm3 function_1(void *handle,type_1 *key,int var_3)

{
  int var_7;
  int var_5;
  int var_1;
  type_1 foo [64];
  
  var_7 = *(int *)(var_1 + 0x14);
  var_5 = 0;
  var_2(foo,"6666666666666666666666666666666666666666666666666666666666666666",0x40);
  if (var_3 < 1) {
    *(type_2 *)handle = 0x67452301;
    *(type_2 *)((int)handle + 4) = 0xefcdab89;
    *(type_2 *)((int)handle + 8) = 0x98badcfe;
    *(type_2 *)((int)handle + 0xc) = 0x10325476;
    *(type_2 *)((int)handle + 0x10) = 0xc3d2e1f0;
    *(type_2 *)((int)handle + 0x54) = 0;
    *(type_2 *)((int)handle + 0x5c) = 0;
    *(type_2 *)((int)handle + 0x58) = 0;
    var_4((type_3 *)handle,foo,0x40);
    var_2(foo,
                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
                   ,0x40);
  }
  else {
    do {
      foo[var_5] = foo[var_5] ^ key[var_5];
      var_5 = var_5 + 1;
      if (var_3 <= var_5) break;
    } while (var_5 < 0x40);
    *(type_2 *)handle = 0x67452301;
    *(type_2 *)((int)handle + 4) = 0xefcdab89;
    *(type_2 *)((int)handle + 8) = 0x98badcfe;
    *(type_2 *)((int)handle + 0xc) = 0x10325476;
    *(type_2 *)((int)handle + 0x10) = 0xc3d2e1f0;
    *(type_2 *)((int)handle + 0x54) = 0;
    *(type_2 *)((int)handle + 0x5c) = 0;
    *(type_2 *)((int)handle + 0x58) = 0;
    var_4((type_3 *)handle,foo,0x40);
    var_2(foo,
                   "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
                   ,0x40);
    var_5 = 0;
    do {
      foo[var_5] = foo[var_5] ^ key[var_5];
      var_5 = var_5 + 1;
      if (var_3 <= var_5) break;
    } while (var_5 < 0x40);
  }
  *(type_2 *)((int)handle + 0x60) = 0x67452301;
  *(type_2 *)((int)handle + 100) = 0xefcdab89;
  *(type_2 *)((int)handle + 0x68) = 0x98badcfe;
  *(type_2 *)((int)handle + 0x6c) = 0x10325476;
  *(type_2 *)((int)handle + 0x70) = 0xc3d2e1f0;
  *(type_2 *)((int)handle + 0xb4) = 0;
  *(type_2 *)((int)handle + 0xbc) = 0;
  *(type_2 *)((int)handle + 0xb8) = 0;
  var_4((type_3 *)((int)handle + 0x60),foo,0x40);
  var_6(foo,0x40);
  if (var_7 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_8();
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (return_statement))))

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

void __regparm3 MASKED(undefined4 *param_1,int param_2,int param_3)

{
  int iVar1;
  int in_GS_OFFSET;
  byte local_60 [64];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x37ffb;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar1 = 0;
  local_60[0] = 0x36;
  local_60[1] = 0x36;
  local_60[2] = 0x36;
  local_60[3] = 0x36;
  local_60[4] = 0x36;
  local_60[5] = 0x36;
  local_60[6] = 0x36;
  local_60[7] = 0x36;
  local_60[8] = 0x36;
  local_60[9] = 0x36;
  local_60[10] = 0x36;
  local_60[0xb] = 0x36;
  local_60[0xc] = 0x36;
  local_60[0xd] = 0x36;
  local_60[0xe] = 0x36;
  local_60[0xf] = 0x36;
  local_60[0x10] = 0x36;
  local_60[0x11] = 0x36;
  local_60[0x12] = 0x36;
  local_60[0x13] = 0x36;
  local_60[0x14] = 0x36;
  local_60[0x15] = 0x36;
  local_60[0x16] = 0x36;
  local_60[0x17] = 0x36;
  local_60[0x18] = 0x36;
  local_60[0x19] = 0x36;
  local_60[0x1a] = 0x36;
  local_60[0x1b] = 0x36;
  local_60[0x1c] = 0x36;
  local_60[0x1d] = 0x36;
  local_60[0x1e] = 0x36;
  local_60[0x1f] = 0x36;
  local_60[0x20] = 0x36;
  local_60[0x21] = 0x36;
  local_60[0x22] = 0x36;
  local_60[0x23] = 0x36;
  local_60[0x24] = 0x36;
  local_60[0x25] = 0x36;
  local_60[0x26] = 0x36;
  local_60[0x27] = 0x36;
  local_60[0x28] = 0x36;
  local_60[0x29] = 0x36;
  local_60[0x2a] = 0x36;
  local_60[0x2b] = 0x36;
  local_60[0x2c] = 0x36;
  local_60[0x2d] = 0x36;
  local_60[0x2e] = 0x36;
  local_60[0x2f] = 0x36;
  local_60[0x30] = 0x36;
  local_60[0x31] = 0x36;
  local_60[0x32] = 0x36;
  local_60[0x33] = 0x36;
  local_60[0x34] = 0x36;
  local_60[0x35] = 0x36;
  local_60[0x36] = 0x36;
  local_60[0x37] = 0x36;
  local_60[0x38] = 0x36;
  local_60[0x39] = 0x36;
  local_60[0x3a] = 0x36;
  local_60[0x3b] = 0x36;
  local_60[0x3c] = 0x36;
  local_60[0x3d] = 0x36;
  local_60[0x3e] = 0x36;
  local_60[0x3f] = 0x36;
  if (param_3 < 1) {
    *param_1 = 0x67452301;
    param_1[1] = 0xefcdab89;
    param_1[2] = 0x98badcfe;
    param_1[3] = 0x10325476;
    param_1[4] = 0xc3d2e1f0;
    param_1[0x15] = 0;
    param_1[0x17] = 0;
    param_1[0x16] = 0;
    FUN_00037e70(param_1,local_60,0x40);
    local_60[0] = 0x5c;
    local_60[1] = 0x5c;
    local_60[2] = 0x5c;
    local_60[3] = 0x5c;
    local_60[4] = 0x5c;
    local_60[5] = 0x5c;
    local_60[6] = 0x5c;
    local_60[7] = 0x5c;
    local_60[8] = 0x5c;
    local_60[9] = 0x5c;
    local_60[10] = 0x5c;
    local_60[0xb] = 0x5c;
    local_60[0xc] = 0x5c;
    local_60[0xd] = 0x5c;
    local_60[0xe] = 0x5c;
    local_60[0xf] = 0x5c;
    local_60[0x10] = 0x5c;
    local_60[0x11] = 0x5c;
    local_60[0x12] = 0x5c;
    local_60[0x13] = 0x5c;
    local_60[0x14] = 0x5c;
    local_60[0x15] = 0x5c;
    local_60[0x16] = 0x5c;
    local_60[0x17] = 0x5c;
    local_60[0x18] = 0x5c;
    local_60[0x19] = 0x5c;
    local_60[0x1a] = 0x5c;
    local_60[0x1b] = 0x5c;
    local_60[0x1c] = 0x5c;
    local_60[0x1d] = 0x5c;
    local_60[0x1e] = 0x5c;
    local_60[0x1f] = 0x5c;
    local_60[0x20] = 0x5c;
    local_60[0x21] = 0x5c;
    local_60[0x22] = 0x5c;
    local_60[0x23] = 0x5c;
    local_60[0x24] = 0x5c;
    local_60[0x25] = 0x5c;
    local_60[0x26] = 0x5c;
    local_60[0x27] = 0x5c;
    local_60[0x28] = 0x5c;
    local_60[0x29] = 0x5c;
    local_60[0x2a] = 0x5c;
    local_60[0x2b] = 0x5c;
    local_60[0x2c] = 0x5c;
    local_60[0x2d] = 0x5c;
    local_60[0x2e] = 0x5c;
    local_60[0x2f] = 0x5c;
    local_60[0x30] = 0x5c;
    local_60[0x31] = 0x5c;
    local_60[0x32] = 0x5c;
    local_60[0x33] = 0x5c;
    local_60[0x34] = 0x5c;
    local_60[0x35] = 0x5c;
    local_60[0x36] = 0x5c;
    local_60[0x37] = 0x5c;
    local_60[0x38] = 0x5c;
    local_60[0x39] = 0x5c;
    local_60[0x3a] = 0x5c;
    local_60[0x3b] = 0x5c;
    local_60[0x3c] = 0x5c;
    local_60[0x3d] = 0x5c;
    local_60[0x3e] = 0x5c;
    local_60[0x3f] = 0x5c;
  }
  else {
    do {
      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);
      iVar1 = iVar1 + 1;
      if (param_3 <= iVar1) break;
    } while (iVar1 < 0x40);
    *param_1 = 0x67452301;
    param_1[1] = 0xefcdab89;
    param_1[2] = 0x98badcfe;
    param_1[3] = 0x10325476;
    param_1[4] = 0xc3d2e1f0;
    param_1[0x15] = 0;
    param_1[0x17] = 0;
    param_1[0x16] = 0;
    FUN_00037e70(param_1,local_60,0x40);
    local_60[0] = 0x5c;
    local_60[1] = 0x5c;
    local_60[2] = 0x5c;
    local_60[3] = 0x5c;
    iVar1 = 0;
    local_60[4] = 0x5c;
    local_60[5] = 0x5c;
    local_60[6] = 0x5c;
    local_60[7] = 0x5c;
    local_60[8] = 0x5c;
    local_60[9] = 0x5c;
    local_60[10] = 0x5c;
    local_60[0xb] = 0x5c;
    local_60[0xc] = 0x5c;
    local_60[0xd] = 0x5c;
    local_60[0xe] = 0x5c;
    local_60[0xf] = 0x5c;
    local_60[0x10] = 0x5c;
    local_60[0x11] = 0x5c;
    local_60[0x12] = 0x5c;
    local_60[0x13] = 0x5c;
    local_60[0x14] = 0x5c;
    local_60[0x15] = 0x5c;
    local_60[0x16] = 0x5c;
    local_60[0x17] = 0x5c;
    local_60[0x18] = 0x5c;
    local_60[0x19] = 0x5c;
    local_60[0x1a] = 0x5c;
    local_60[0x1b] = 0x5c;
    local_60[0x1c] = 0x5c;
    local_60[0x1d] = 0x5c;
    local_60[0x1e] = 0x5c;
    local_60[0x1f] = 0x5c;
    local_60[0x20] = 0x5c;
    local_60[0x21] = 0x5c;
    local_60[0x22] = 0x5c;
    local_60[0x23] = 0x5c;
    local_60[0x24] = 0x5c;
    local_60[0x25] = 0x5c;
    local_60[0x26] = 0x5c;
    local_60[0x27] = 0x5c;
    local_60[0x28] = 0x5c;
    local_60[0x29] = 0x5c;
    local_60[0x2a] = 0x5c;
    local_60[0x2b] = 0x5c;
    local_60[0x2c] = 0x5c;
    local_60[0x2d] = 0x5c;
    local_60[0x2e] = 0x5c;
    local_60[0x2f] = 0x5c;
    local_60[0x30] = 0x5c;
    local_60[0x31] = 0x5c;
    local_60[0x32] = 0x5c;
    local_60[0x33] = 0x5c;
    local_60[0x34] = 0x5c;
    local_60[0x35] = 0x5c;
    local_60[0x36] = 0x5c;
    local_60[0x37] = 0x5c;
    local_60[0x38] = 0x5c;
    local_60[0x39] = 0x5c;
    local_60[0x3a] = 0x5c;
    local_60[0x3b] = 0x5c;
    local_60[0x3c] = 0x5c;
    local_60[0x3d] = 0x5c;
    local_60[0x3e] = 0x5c;
    local_60[0x3f] = 0x5c;
    do {
      local_60[iVar1] = local_60[iVar1] ^ *(byte *)(param_2 + iVar1);
      iVar1 = iVar1 + 1;
      if (param_3 <= iVar1) break;
    } while (iVar1 < 0x40);
  }
  param_1[0x18] = 0x67452301;
  param_1[0x19] = 0xefcdab89;
  param_1[0x1a] = 0x98badcfe;
  param_1[0x1b] = 0x10325476;
  param_1[0x1c] = 0xc3d2e1f0;
  param_1[0x2d] = 0;
  param_1[0x2f] = 0;
  param_1[0x2e] = 0;
  FUN_00037e70(param_1 + 0x18,local_60,0x40);
  FUN_0001c6d0(local_60,0x40);
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0003dc30();
  }
  return;
}

