
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* DWARF original prototype: void sRGBTransformImage._omp_fn.22(anon_struct_12_3_5c5126da * param_0)
    */

void __thiscall sRGBTransformImage__omp_fn_22(anon_struct_12_3_5c5126da *this)

{
  double dVar1;
  double dVar2;
  double dVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  TransformPacket *pTVar7;
  TransformPacket *pTVar8;
  TransformPacket *pTVar9;
  
  iVar4 = omp_get_num_threads();
  iVar5 = omp_get_thread_num();
  dVar3 = DAT_002e9da8;
  iVar6 = (int)(0x10000 / (longlong)iVar4);
  iVar4 = (int)(0x10000 % (longlong)iVar4);
  if (iVar5 < iVar4) {
    iVar6 = iVar6 + 1;
    iVar4 = 0;
  }
  iVar4 = iVar4 + iVar5 * iVar6;
  iVar6 = iVar6 + iVar4;
  if (iVar4 < iVar6) {
    pTVar7 = this->z_map + iVar4;
    pTVar8 = this->x_map + iVar4;
    pTVar9 = this->y_map + iVar4;
    do {
      dVar1 = (double)iVar4;
      iVar4 = iVar4 + 1;
      pTVar8->x = dVar1 * dVar3;
      pTVar8->y = DAT_002e9e08 * dVar1;
      dVar2 = (double)DAT_002df2b8;
      pTVar8->z = dVar1 * dVar2;
      pTVar9->x = DAT_002e9db0 * dVar1;
      pTVar9->y = DAT_002e9e10 * dVar1;
      pTVar9->z = DAT_002e9e18 * dVar1;
      pTVar7->x = DAT_002e9db8 * dVar1;
      pTVar7->y = dVar1 * dVar2;
      pTVar7->z = dVar1 * DAT_002e9e20;
      pTVar7 = pTVar7 + 1;
      pTVar8 = pTVar8 + 1;
      pTVar9 = pTVar9 + 1;
    } while (iVar6 != iVar4);
  }
  return;
}



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

void FUN_000651c0(int *param_1)

{
  double dVar1;
  double dVar2;
  double dVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  double *pdVar7;
  double *pdVar8;
  double *pdVar9;
  
  iVar4 = omp_get_num_threads();
  iVar5 = omp_get_thread_num();
  dVar3 = DAT_002e9da8;
  iVar6 = (int)(0x10000 / (longlong)iVar4);
  iVar4 = (int)(0x10000 % (longlong)iVar4);
  if (iVar5 < iVar4) {
    iVar6 = iVar6 + 1;
    iVar4 = 0;
  }
  iVar4 = iVar4 + iVar5 * iVar6;
  iVar6 = iVar6 + iVar4;
  if (iVar4 < iVar6) {
    iVar5 = iVar4 * 0x18;
    pdVar7 = (double *)(iVar5 + param_1[2]);
    pdVar8 = (double *)(*param_1 + iVar5);
    pdVar9 = (double *)(param_1[1] + iVar5);
    do {
      dVar1 = (double)iVar4;
      iVar4 = iVar4 + 1;
      *pdVar8 = dVar1 * dVar3;
      pdVar8[1] = DAT_002e9e08 * dVar1;
      dVar2 = (double)DAT_002df2b8;
      pdVar8[2] = dVar1 * dVar2;
      *pdVar9 = DAT_002e9db0 * dVar1;
      pdVar9[1] = DAT_002e9e10 * dVar1;
      pdVar9[2] = DAT_002e9e18 * dVar1;
      *pdVar7 = DAT_002e9db8 * dVar1;
      pdVar7[1] = dVar1 * dVar2;
      pdVar7[2] = dVar1 * DAT_002e9e20;
      pdVar7 = pdVar7 + 3;
      pdVar8 = pdVar8 + 3;
      pdVar9 = pdVar9 + 3;
    } while (iVar6 != iVar4);
  }
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00039d70
ADD EBX,0x3b8e37
SUB ESP,0x1c
MOV ESI,dword ptr [ESP + 0x30]
CALL 0x00030850
MOV EDI,EAX
CALL 0x000317c0
MOV ECX,EAX
MOV EAX,0x10000
CDQ
IDIV EDI
CMP ECX,EDX
JGE 0x000651f5
ADD EAX,0x1
XOR EDX,EDX
IMUL ECX,EAX
ADD EDX,ECX
ADD EAX,EDX
CMP EDX,EAX
JGE 0x0006528f
MOV EBP,dword ptr [ESI]
LEA ECX,[EDX + EDX*0x2]
MOV EDI,dword ptr [ESI + 0x4]
SHL ECX,0x3
FLD qword ptr [EBX + 0xffecbda8]
ADD EBP,ECX
ADD EDI,ECX
ADD ECX,dword ptr [ESI + 0x8]
LEA ESI,[ESI]
MOV dword ptr [ESP + 0xc],EDX
FILD dword ptr [ESP + 0xc]
ADD EDX,0x1
ADD EBP,0x18
FLD ST0
ADD EDI,0x18
ADD ECX,0x18
FMUL ST2
FSTP qword ptr [EBP + -0x18]
FLD qword ptr [EBX + 0xffecbe08]
FMUL ST1
FSTP qword ptr [EBP + -0x10]
FLD ST0
FMUL dword ptr [EBX + 0xffec12b8]
FST qword ptr [EBP + -0x8]
FLD qword ptr [EBX + 0xffecbdb0]
FMUL ST2
FSTP qword ptr [EDI + -0x18]
FLD qword ptr [EBX + 0xffecbe10]
FMUL ST2
FSTP qword ptr [EDI + -0x10]
FLD qword ptr [EBX + 0xffecbe18]
FMUL ST2
FSTP qword ptr [EDI + -0x8]
FLD qword ptr [EBX + 0xffecbdb8]
FMUL ST2
FSTP qword ptr [ECX + -0x18]
FSTP qword ptr [ECX + -0x10]
FMUL qword ptr [EBX + 0xffecbe20]
FSTP qword ptr [ECX + -0x8]
CMP EAX,EDX
JNZ 0x00065220
FSTP ST0
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_000651c0(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double *pdVar7;\n  double *pdVar8;\n  double *pdVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_000651c0(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double *pdVar7;\n  double *pdVar8;\n  double *pdVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000651c0(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double *pdVar7;\n  double *pdVar8;\n  double *pdVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "double *pdVar7;" primitive_type (pointer_declarator "*pdVar7" * identifier) ;) (declaration "double *pdVar8;" primitive_type (pointer_declarator "*pdVar8" * identifier) ;) (declaration "double *pdVar9;" primitive_type (pointer_declarator "*pdVar9" * identifier) ;) (expression_statement "iVar4 = omp_get_num_threads();" (assignment_expression "iVar4 = omp_get_num_threads()" identifier = (call_expression "omp_get_num_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = omp_get_thread_num();" (assignment_expression "iVar5 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (expression_statement "dVar3 = DAT_002e9da8;" (assignment_expression "dVar3 = DAT_002e9da8" identifier = identifier) ;) (expression_statement "iVar6 = (int)(0x10000 / (longlong)iVar4);" (assignment_expression "iVar6 = (int)(0x10000 / (longlong)iVar4)" identifier = (cast_expression "(int)(0x10000 / (longlong)iVar4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(0x10000 / (longlong)iVar4)" ( (binary_expression "0x10000 / (longlong)iVar4" number_literal / (cast_expression "(longlong)iVar4" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar4 = (int)(0x10000 % (longlong)iVar4);" (assignment_expression "iVar4 = (int)(0x10000 % (longlong)iVar4)" identifier = (cast_expression "(int)(0x10000 % (longlong)iVar4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(0x10000 % (longlong)iVar4)" ( (binary_expression "0x10000 % (longlong)iVar4" number_literal % (cast_expression "(longlong)iVar4" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (if_statement "if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }" if (parenthesized_expression "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) )) (compound_statement "{\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }" { (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "iVar4 = iVar4 + iVar5 * iVar6;" (assignment_expression "iVar4 = iVar4 + iVar5 * iVar6" identifier = (binary_expression "iVar4 + iVar5 * iVar6" identifier + (binary_expression "iVar5 * iVar6" identifier * identifier))) ;) (expression_statement "iVar6 = iVar6 + iVar4;" (assignment_expression "iVar6 = iVar6 + iVar4" identifier = (binary_expression "iVar6 + iVar4" identifier + identifier)) ;) (if_statement "if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }" if (parenthesized_expression "(iVar4 < iVar6)" ( (binary_expression "iVar4 < iVar6" identifier < identifier) )) (compound_statement "{\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }" { (expression_statement "iVar5 = iVar4 * 0x18;" (assignment_expression "iVar5 = iVar4 * 0x18" identifier = (binary_expression "iVar4 * 0x18" identifier * number_literal)) ;) (expression_statement "pdVar7 = (double *)(iVar5 + param_1[2]);" (assignment_expression "pdVar7 = (double *)(iVar5 + param_1[2])" identifier = (cast_expression "(double *)(iVar5 + param_1[2])" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + param_1[2])" ( (binary_expression "iVar5 + param_1[2]" identifier + (subscript_expression "param_1[2]" identifier [ number_literal ])) )))) ;) (expression_statement "pdVar8 = (double *)(*param_1 + iVar5);" (assignment_expression "pdVar8 = (double *)(*param_1 + iVar5)" identifier = (cast_expression "(double *)(*param_1 + iVar5)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + iVar5)" ( (binary_expression "*param_1 + iVar5" (pointer_expression "*param_1" * identifier) + identifier) )))) ;) (expression_statement "pdVar9 = (double *)(param_1[1] + iVar5);" (assignment_expression "pdVar9 = (double *)(param_1[1] + iVar5)" identifier = (cast_expression "(double *)(param_1[1] + iVar5)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + iVar5)" ( (binary_expression "param_1[1] + iVar5" (subscript_expression "param_1[1]" identifier [ number_literal ]) + identifier) )))) ;) (do_statement "do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);" do (compound_statement "{\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    }" { (expression_statement "dVar1 = (double)iVar4;" (assignment_expression "dVar1 = (double)iVar4" identifier = (cast_expression "(double)iVar4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pdVar8 = dVar1 * dVar3;" (assignment_expression "*pdVar8 = dVar1 * dVar3" (pointer_expression "*pdVar8" * identifier) = (binary_expression "dVar1 * dVar3" identifier * identifier)) ;) (expression_statement "pdVar8[1] = DAT_002e9e08 * dVar1;" (assignment_expression "pdVar8[1] = DAT_002e9e08 * dVar1" (subscript_expression "pdVar8[1]" identifier [ number_literal ]) = (binary_expression "DAT_002e9e08 * dVar1" identifier * identifier)) ;) (expression_statement "dVar2 = (double)DAT_002df2b8;" (assignment_expression "dVar2 = (double)DAT_002df2b8" identifier = (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar8[2] = dVar1 * dVar2;" (assignment_expression "pdVar8[2] = dVar1 * dVar2" (subscript_expression "pdVar8[2]" identifier [ number_literal ]) = (binary_expression "dVar1 * dVar2" identifier * identifier)) ;) (expression_statement "*pdVar9 = DAT_002e9db0 * dVar1;" (assignment_expression "*pdVar9 = DAT_002e9db0 * dVar1" (pointer_expression "*pdVar9" * identifier) = (binary_expression "DAT_002e9db0 * dVar1" identifier * identifier)) ;) (expression_statement "pdVar9[1] = DAT_002e9e10 * dVar1;" (assignment_expression "pdVar9[1] = DAT_002e9e10 * dVar1" (subscript_expression "pdVar9[1]" identifier [ number_literal ]) = (binary_expression "DAT_002e9e10 * dVar1" identifier * identifier)) ;) (expression_statement "pdVar9[2] = DAT_002e9e18 * dVar1;" (assignment_expression "pdVar9[2] = DAT_002e9e18 * dVar1" (subscript_expression "pdVar9[2]" identifier [ number_literal ]) = (binary_expression "DAT_002e9e18 * dVar1" identifier * identifier)) ;) (expression_statement "*pdVar7 = DAT_002e9db8 * dVar1;" (assignment_expression "*pdVar7 = DAT_002e9db8 * dVar1" (pointer_expression "*pdVar7" * identifier) = (binary_expression "DAT_002e9db8 * dVar1" identifier * identifier)) ;) (expression_statement "pdVar7[1] = dVar1 * dVar2;" (assignment_expression "pdVar7[1] = dVar1 * dVar2" (subscript_expression "pdVar7[1]" identifier [ number_literal ]) = (binary_expression "dVar1 * dVar2" identifier * identifier)) ;) (expression_statement "pdVar7[2] = dVar1 * DAT_002e9e20;" (assignment_expression "pdVar7[2] = dVar1 * DAT_002e9e20" (subscript_expression "pdVar7[2]" identifier [ number_literal ]) = (binary_expression "dVar1 * DAT_002e9e20" identifier * identifier)) ;) (expression_statement "pdVar7 = pdVar7 + 3;" (assignment_expression "pdVar7 = pdVar7 + 3" identifier = (binary_expression "pdVar7 + 3" identifier + number_literal)) ;) (expression_statement "pdVar8 = pdVar8 + 3;" (assignment_expression "pdVar8 = pdVar8 + 3" identifier = (binary_expression "pdVar8 + 3" identifier + number_literal)) ;) (expression_statement "pdVar9 = pdVar9 + 3;" (assignment_expression "pdVar9 = pdVar9 + 3" identifier = (binary_expression "pdVar9 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 != iVar4)" ( (binary_expression "iVar6 != iVar4" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* DWARF original prototype: void sRGBTransformImage._omp_fn.22(anon_struct_12_3_5c5126da * param_0)\n    */\n\nvoid __thiscall sRGBTransformImage__omp_fn_22(anon_struct_12_3_5c5126da *this)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  TransformPacket *pTVar7;\n  TransformPacket *pTVar8;\n  TransformPacket *pTVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    pTVar7 = this->z_map + iVar4;\n    pTVar8 = this->x_map + iVar4;\n    pTVar9 = this->y_map + iVar4;\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      pTVar8->x = dVar1 * dVar3;\n      pTVar8->y = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pTVar8->z = dVar1 * dVar2;\n      pTVar9->x = DAT_002e9db0 * dVar1;\n      pTVar9->y = DAT_002e9e10 * dVar1;\n      pTVar9->z = DAT_002e9e18 * dVar1;\n      pTVar7->x = DAT_002e9db8 * dVar1;\n      pTVar7->y = dVar1 * dVar2;\n      pTVar7->z = dVar1 * DAT_002e9e20;\n      pTVar7 = pTVar7 + 1;\n      pTVar8 = pTVar8 + 1;\n      pTVar9 = pTVar9 + 1;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}\n\n" comment comment (function_definition "void __thiscall sRGBTransformImage__omp_fn_22(anon_struct_12_3_5c5126da *this)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  TransformPacket *pTVar7;\n  TransformPacket *pTVar8;\n  TransformPacket *pTVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    pTVar7 = this->z_map + iVar4;\n    pTVar8 = this->x_map + iVar4;\n    pTVar9 = this->y_map + iVar4;\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      pTVar8->x = dVar1 * dVar3;\n      pTVar8->y = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pTVar8->z = dVar1 * dVar2;\n      pTVar9->x = DAT_002e9db0 * dVar1;\n      pTVar9->y = DAT_002e9e10 * dVar1;\n      pTVar9->z = DAT_002e9e18 * dVar1;\n      pTVar7->x = DAT_002e9db8 * dVar1;\n      pTVar7->y = dVar1 * dVar2;\n      pTVar7->z = dVar1 * DAT_002e9e20;\n      pTVar7 = pTVar7 + 1;\n      pTVar8 = pTVar8 + 1;\n      pTVar9 = pTVar9 + 1;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (function_declarator "sRGBTransformImage__omp_fn_22(anon_struct_12_3_5c5126da *this)" identifier (parameter_list "(anon_struct_12_3_5c5126da *this)" ( (parameter_declaration "anon_struct_12_3_5c5126da *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  TransformPacket *pTVar7;\n  TransformPacket *pTVar8;\n  TransformPacket *pTVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    pTVar7 = this->z_map + iVar4;\n    pTVar8 = this->x_map + iVar4;\n    pTVar9 = this->y_map + iVar4;\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      pTVar8->x = dVar1 * dVar3;\n      pTVar8->y = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pTVar8->z = dVar1 * dVar2;\n      pTVar9->x = DAT_002e9db0 * dVar1;\n      pTVar9->y = DAT_002e9e10 * dVar1;\n      pTVar9->z = DAT_002e9e18 * dVar1;\n      pTVar7->x = DAT_002e9db8 * dVar1;\n      pTVar7->y = dVar1 * dVar2;\n      pTVar7->z = dVar1 * DAT_002e9e20;\n      pTVar7 = pTVar7 + 1;\n      pTVar8 = pTVar8 + 1;\n      pTVar9 = pTVar9 + 1;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "TransformPacket *pTVar7;" type_identifier (pointer_declarator "*pTVar7" * identifier) ;) (declaration "TransformPacket *pTVar8;" type_identifier (pointer_declarator "*pTVar8" * identifier) ;) (declaration "TransformPacket *pTVar9;" type_identifier (pointer_declarator "*pTVar9" * identifier) ;) (expression_statement "iVar4 = omp_get_num_threads();" (assignment_expression "iVar4 = omp_get_num_threads()" identifier = (call_expression "omp_get_num_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = omp_get_thread_num();" (assignment_expression "iVar5 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (expression_statement "dVar3 = DAT_002e9da8;" (assignment_expression "dVar3 = DAT_002e9da8" identifier = identifier) ;) (expression_statement "iVar6 = (int)(0x10000 / (longlong)iVar4);" (assignment_expression "iVar6 = (int)(0x10000 / (longlong)iVar4)" identifier = (cast_expression "(int)(0x10000 / (longlong)iVar4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(0x10000 / (longlong)iVar4)" ( (binary_expression "0x10000 / (longlong)iVar4" number_literal / (cast_expression "(longlong)iVar4" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar4 = (int)(0x10000 % (longlong)iVar4);" (assignment_expression "iVar4 = (int)(0x10000 % (longlong)iVar4)" identifier = (cast_expression "(int)(0x10000 % (longlong)iVar4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(0x10000 % (longlong)iVar4)" ( (binary_expression "0x10000 % (longlong)iVar4" number_literal % (cast_expression "(longlong)iVar4" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (if_statement "if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }" if (parenthesized_expression "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) )) (compound_statement "{\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }" { (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "iVar4 = iVar4 + iVar5 * iVar6;" (assignment_expression "iVar4 = iVar4 + iVar5 * iVar6" identifier = (binary_expression "iVar4 + iVar5 * iVar6" identifier + (binary_expression "iVar5 * iVar6" identifier * identifier))) ;) (expression_statement "iVar6 = iVar6 + iVar4;" (assignment_expression "iVar6 = iVar6 + iVar4" identifier = (binary_expression "iVar6 + iVar4" identifier + identifier)) ;) (if_statement "if (iVar4 < iVar6) {\n    pTVar7 = this->z_map + iVar4;\n    pTVar8 = this->x_map + iVar4;\n    pTVar9 = this->y_map + iVar4;\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      pTVar8->x = dVar1 * dVar3;\n      pTVar8->y = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pTVar8->z = dVar1 * dVar2;\n      pTVar9->x = DAT_002e9db0 * dVar1;\n      pTVar9->y = DAT_002e9e10 * dVar1;\n      pTVar9->z = DAT_002e9e18 * dVar1;\n      pTVar7->x = DAT_002e9db8 * dVar1;\n      pTVar7->y = dVar1 * dVar2;\n      pTVar7->z = dVar1 * DAT_002e9e20;\n      pTVar7 = pTVar7 + 1;\n      pTVar8 = pTVar8 + 1;\n      pTVar9 = pTVar9 + 1;\n    } while (iVar6 != iVar4);\n  }" if (parenthesized_expression "(iVar4 < iVar6)" ( (binary_expression "iVar4 < iVar6" identifier < identifier) )) (compound_statement "{\n    pTVar7 = this->z_map + iVar4;\n    pTVar8 = this->x_map + iVar4;\n    pTVar9 = this->y_map + iVar4;\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      pTVar8->x = dVar1 * dVar3;\n      pTVar8->y = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pTVar8->z = dVar1 * dVar2;\n      pTVar9->x = DAT_002e9db0 * dVar1;\n      pTVar9->y = DAT_002e9e10 * dVar1;\n      pTVar9->z = DAT_002e9e18 * dVar1;\n      pTVar7->x = DAT_002e9db8 * dVar1;\n      pTVar7->y = dVar1 * dVar2;\n      pTVar7->z = dVar1 * DAT_002e9e20;\n      pTVar7 = pTVar7 + 1;\n      pTVar8 = pTVar8 + 1;\n      pTVar9 = pTVar9 + 1;\n    } while (iVar6 != iVar4);\n  }" { (expression_statement "pTVar7 = this->z_map + iVar4;" (assignment_expression "pTVar7 = this->z_map + iVar4" identifier = (binary_expression "this->z_map + iVar4" (field_expression "this->z_map" identifier -> field_identifier) + identifier)) ;) (expression_statement "pTVar8 = this->x_map + iVar4;" (assignment_expression "pTVar8 = this->x_map + iVar4" identifier = (binary_expression "this->x_map + iVar4" (field_expression "this->x_map" identifier -> field_identifier) + identifier)) ;) (expression_statement "pTVar9 = this->y_map + iVar4;" (assignment_expression "pTVar9 = this->y_map + iVar4" identifier = (binary_expression "this->y_map + iVar4" (field_expression "this->y_map" identifier -> field_identifier) + identifier)) ;) (do_statement "do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      pTVar8->x = dVar1 * dVar3;\n      pTVar8->y = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pTVar8->z = dVar1 * dVar2;\n      pTVar9->x = DAT_002e9db0 * dVar1;\n      pTVar9->y = DAT_002e9e10 * dVar1;\n      pTVar9->z = DAT_002e9e18 * dVar1;\n      pTVar7->x = DAT_002e9db8 * dVar1;\n      pTVar7->y = dVar1 * dVar2;\n      pTVar7->z = dVar1 * DAT_002e9e20;\n      pTVar7 = pTVar7 + 1;\n      pTVar8 = pTVar8 + 1;\n      pTVar9 = pTVar9 + 1;\n    } while (iVar6 != iVar4);" do (compound_statement "{\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      pTVar8->x = dVar1 * dVar3;\n      pTVar8->y = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pTVar8->z = dVar1 * dVar2;\n      pTVar9->x = DAT_002e9db0 * dVar1;\n      pTVar9->y = DAT_002e9e10 * dVar1;\n      pTVar9->z = DAT_002e9e18 * dVar1;\n      pTVar7->x = DAT_002e9db8 * dVar1;\n      pTVar7->y = dVar1 * dVar2;\n      pTVar7->z = dVar1 * DAT_002e9e20;\n      pTVar7 = pTVar7 + 1;\n      pTVar8 = pTVar8 + 1;\n      pTVar9 = pTVar9 + 1;\n    }" { (expression_statement "dVar1 = (double)iVar4;" (assignment_expression "dVar1 = (double)iVar4" identifier = (cast_expression "(double)iVar4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "pTVar8->x = dVar1 * dVar3;" (assignment_expression "pTVar8->x = dVar1 * dVar3" (field_expression "pTVar8->x" identifier -> field_identifier) = (binary_expression "dVar1 * dVar3" identifier * identifier)) ;) (expression_statement "pTVar8->y = DAT_002e9e08 * dVar1;" (assignment_expression "pTVar8->y = DAT_002e9e08 * dVar1" (field_expression "pTVar8->y" identifier -> field_identifier) = (binary_expression "DAT_002e9e08 * dVar1" identifier * identifier)) ;) (expression_statement "dVar2 = (double)DAT_002df2b8;" (assignment_expression "dVar2 = (double)DAT_002df2b8" identifier = (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pTVar8->z = dVar1 * dVar2;" (assignment_expression "pTVar8->z = dVar1 * dVar2" (field_expression "pTVar8->z" identifier -> field_identifier) = (binary_expression "dVar1 * dVar2" identifier * identifier)) ;) (expression_statement "pTVar9->x = DAT_002e9db0 * dVar1;" (assignment_expression "pTVar9->x = DAT_002e9db0 * dVar1" (field_expression "pTVar9->x" identifier -> field_identifier) = (binary_expression "DAT_002e9db0 * dVar1" identifier * identifier)) ;) (expression_statement "pTVar9->y = DAT_002e9e10 * dVar1;" (assignment_expression "pTVar9->y = DAT_002e9e10 * dVar1" (field_expression "pTVar9->y" identifier -> field_identifier) = (binary_expression "DAT_002e9e10 * dVar1" identifier * identifier)) ;) (expression_statement "pTVar9->z = DAT_002e9e18 * dVar1;" (assignment_expression "pTVar9->z = DAT_002e9e18 * dVar1" (field_expression "pTVar9->z" identifier -> field_identifier) = (binary_expression "DAT_002e9e18 * dVar1" identifier * identifier)) ;) (expression_statement "pTVar7->x = DAT_002e9db8 * dVar1;" (assignment_expression "pTVar7->x = DAT_002e9db8 * dVar1" (field_expression "pTVar7->x" identifier -> field_identifier) = (binary_expression "DAT_002e9db8 * dVar1" identifier * identifier)) ;) (expression_statement "pTVar7->y = dVar1 * dVar2;" (assignment_expression "pTVar7->y = dVar1 * dVar2" (field_expression "pTVar7->y" identifier -> field_identifier) = (binary_expression "dVar1 * dVar2" identifier * identifier)) ;) (expression_statement "pTVar7->z = dVar1 * DAT_002e9e20;" (assignment_expression "pTVar7->z = dVar1 * DAT_002e9e20" (field_expression "pTVar7->z" identifier -> field_identifier) = (binary_expression "dVar1 * DAT_002e9e20" identifier * identifier)) ;) (expression_statement "pTVar7 = pTVar7 + 1;" (assignment_expression "pTVar7 = pTVar7 + 1" identifier = (binary_expression "pTVar7 + 1" identifier + number_literal)) ;) (expression_statement "pTVar8 = pTVar8 + 1;" (assignment_expression "pTVar8 = pTVar8 + 1" identifier = (binary_expression "pTVar8 + 1" identifier + number_literal)) ;) (expression_statement "pTVar9 = pTVar9 + 1;" (assignment_expression "pTVar9 = pTVar9 + 1" identifier = (binary_expression "pTVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 != iVar4)" ( (binary_expression "iVar6 != iVar4" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_000651c0(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double *pdVar7;\n  double *pdVar8;\n  double *pdVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}\n\n" (function_definition "void FUN_000651c0(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double *pdVar7;\n  double *pdVar8;\n  double *pdVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000651c0(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double *pdVar7;\n  double *pdVar8;\n  double *pdVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "double *pdVar7;" primitive_type (pointer_declarator "*pdVar7" * identifier) ;) (declaration "double *pdVar8;" primitive_type (pointer_declarator "*pdVar8" * identifier) ;) (declaration "double *pdVar9;" primitive_type (pointer_declarator "*pdVar9" * identifier) ;) (expression_statement "iVar4 = omp_get_num_threads();" (assignment_expression "iVar4 = omp_get_num_threads()" identifier = (call_expression "omp_get_num_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = omp_get_thread_num();" (assignment_expression "iVar5 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (expression_statement "dVar3 = DAT_002e9da8;" (assignment_expression "dVar3 = DAT_002e9da8" identifier = identifier) ;) (expression_statement "iVar6 = (int)(0x10000 / (longlong)iVar4);" (assignment_expression "iVar6 = (int)(0x10000 / (longlong)iVar4)" identifier = (cast_expression "(int)(0x10000 / (longlong)iVar4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(0x10000 / (longlong)iVar4)" ( (binary_expression "0x10000 / (longlong)iVar4" number_literal / (cast_expression "(longlong)iVar4" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar4 = (int)(0x10000 % (longlong)iVar4);" (assignment_expression "iVar4 = (int)(0x10000 % (longlong)iVar4)" identifier = (cast_expression "(int)(0x10000 % (longlong)iVar4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(0x10000 % (longlong)iVar4)" ( (binary_expression "0x10000 % (longlong)iVar4" number_literal % (cast_expression "(longlong)iVar4" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (if_statement "if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }" if (parenthesized_expression "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) )) (compound_statement "{\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }" { (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "iVar4 = iVar4 + iVar5 * iVar6;" (assignment_expression "iVar4 = iVar4 + iVar5 * iVar6" identifier = (binary_expression "iVar4 + iVar5 * iVar6" identifier + (binary_expression "iVar5 * iVar6" identifier * identifier))) ;) (expression_statement "iVar6 = iVar6 + iVar4;" (assignment_expression "iVar6 = iVar6 + iVar4" identifier = (binary_expression "iVar6 + iVar4" identifier + identifier)) ;) (if_statement "if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }" if (parenthesized_expression "(iVar4 < iVar6)" ( (binary_expression "iVar4 < iVar6" identifier < identifier) )) (compound_statement "{\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }" { (expression_statement "iVar5 = iVar4 * 0x18;" (assignment_expression "iVar5 = iVar4 * 0x18" identifier = (binary_expression "iVar4 * 0x18" identifier * number_literal)) ;) (expression_statement "pdVar7 = (double *)(iVar5 + param_1[2]);" (assignment_expression "pdVar7 = (double *)(iVar5 + param_1[2])" identifier = (cast_expression "(double *)(iVar5 + param_1[2])" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + param_1[2])" ( (binary_expression "iVar5 + param_1[2]" identifier + (subscript_expression "param_1[2]" identifier [ number_literal ])) )))) ;) (expression_statement "pdVar8 = (double *)(*param_1 + iVar5);" (assignment_expression "pdVar8 = (double *)(*param_1 + iVar5)" identifier = (cast_expression "(double *)(*param_1 + iVar5)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + iVar5)" ( (binary_expression "*param_1 + iVar5" (pointer_expression "*param_1" * identifier) + identifier) )))) ;) (expression_statement "pdVar9 = (double *)(param_1[1] + iVar5);" (assignment_expression "pdVar9 = (double *)(param_1[1] + iVar5)" identifier = (cast_expression "(double *)(param_1[1] + iVar5)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + iVar5)" ( (binary_expression "param_1[1] + iVar5" (subscript_expression "param_1[1]" identifier [ number_literal ]) + identifier) )))) ;) (do_statement "do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);" do (compound_statement "{\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    }" { (expression_statement "dVar1 = (double)iVar4;" (assignment_expression "dVar1 = (double)iVar4" identifier = (cast_expression "(double)iVar4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pdVar8 = dVar1 * dVar3;" (assignment_expression "*pdVar8 = dVar1 * dVar3" (pointer_expression "*pdVar8" * identifier) = (binary_expression "dVar1 * dVar3" identifier * identifier)) ;) (expression_statement "pdVar8[1] = DAT_002e9e08 * dVar1;" (assignment_expression "pdVar8[1] = DAT_002e9e08 * dVar1" (subscript_expression "pdVar8[1]" identifier [ number_literal ]) = (binary_expression "DAT_002e9e08 * dVar1" identifier * identifier)) ;) (expression_statement "dVar2 = (double)DAT_002df2b8;" (assignment_expression "dVar2 = (double)DAT_002df2b8" identifier = (cast_expression "(double)DAT_002df2b8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar8[2] = dVar1 * dVar2;" (assignment_expression "pdVar8[2] = dVar1 * dVar2" (subscript_expression "pdVar8[2]" identifier [ number_literal ]) = (binary_expression "dVar1 * dVar2" identifier * identifier)) ;) (expression_statement "*pdVar9 = DAT_002e9db0 * dVar1;" (assignment_expression "*pdVar9 = DAT_002e9db0 * dVar1" (pointer_expression "*pdVar9" * identifier) = (binary_expression "DAT_002e9db0 * dVar1" identifier * identifier)) ;) (expression_statement "pdVar9[1] = DAT_002e9e10 * dVar1;" (assignment_expression "pdVar9[1] = DAT_002e9e10 * dVar1" (subscript_expression "pdVar9[1]" identifier [ number_literal ]) = (binary_expression "DAT_002e9e10 * dVar1" identifier * identifier)) ;) (expression_statement "pdVar9[2] = DAT_002e9e18 * dVar1;" (assignment_expression "pdVar9[2] = DAT_002e9e18 * dVar1" (subscript_expression "pdVar9[2]" identifier [ number_literal ]) = (binary_expression "DAT_002e9e18 * dVar1" identifier * identifier)) ;) (expression_statement "*pdVar7 = DAT_002e9db8 * dVar1;" (assignment_expression "*pdVar7 = DAT_002e9db8 * dVar1" (pointer_expression "*pdVar7" * identifier) = (binary_expression "DAT_002e9db8 * dVar1" identifier * identifier)) ;) (expression_statement "pdVar7[1] = dVar1 * dVar2;" (assignment_expression "pdVar7[1] = dVar1 * dVar2" (subscript_expression "pdVar7[1]" identifier [ number_literal ]) = (binary_expression "dVar1 * dVar2" identifier * identifier)) ;) (expression_statement "pdVar7[2] = dVar1 * DAT_002e9e20;" (assignment_expression "pdVar7[2] = dVar1 * DAT_002e9e20" (subscript_expression "pdVar7[2]" identifier [ number_literal ]) = (binary_expression "dVar1 * DAT_002e9e20" identifier * identifier)) ;) (expression_statement "pdVar7 = pdVar7 + 3;" (assignment_expression "pdVar7 = pdVar7 + 3" identifier = (binary_expression "pdVar7 + 3" identifier + number_literal)) ;) (expression_statement "pdVar8 = pdVar8 + 3;" (assignment_expression "pdVar8 = pdVar8 + 3" identifier = (binary_expression "pdVar8 + 3" identifier + number_literal)) ;) (expression_statement "pdVar9 = pdVar9 + 3;" (assignment_expression "pdVar9 = pdVar9 + 3" identifier = (binary_expression "pdVar9 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 != iVar4)" ( (binary_expression "iVar6 != iVar4" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression LIT / (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression LIT % (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void FUN_000651c0(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double *pdVar7;\n  double *pdVar8;\n  double *pdVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000651c0(int *param_1)" (identifier "FUN_000651c0") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  double dVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  double *pdVar7;\n  double *pdVar8;\n  double *pdVar9;\n  \n  iVar4 = omp_get_num_threads();\n  iVar5 = omp_get_thread_num();\n  dVar3 = DAT_002e9da8;\n  iVar6 = (int)(0x10000 / (longlong)iVar4);\n  iVar4 = (int)(0x10000 % (longlong)iVar4);\n  if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }\n  iVar4 = iVar4 + iVar5 * iVar6;\n  iVar6 = iVar6 + iVar4;\n  if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }\n  return;\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (declaration "double dVar2;" (primitive_type "double") (identifier "dVar2") (; ";")) (declaration "double dVar3;" (primitive_type "double") (identifier "dVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "double *pdVar7;" (primitive_type "double") (pointer_declarator "*pdVar7" (* "*") (identifier "pdVar7")) (; ";")) (declaration "double *pdVar8;" (primitive_type "double") (pointer_declarator "*pdVar8" (* "*") (identifier "pdVar8")) (; ";")) (declaration "double *pdVar9;" (primitive_type "double") (pointer_declarator "*pdVar9" (* "*") (identifier "pdVar9")) (; ";")) (expression_statement "iVar4 = omp_get_num_threads();" (assignment_expression "iVar4 = omp_get_num_threads()" (identifier "iVar4") (= "=") (call_expression "omp_get_num_threads()" (identifier "omp_get_num_threads") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = omp_get_thread_num();" (assignment_expression "iVar5 = omp_get_thread_num()" (identifier "iVar5") (= "=") (call_expression "omp_get_thread_num()" (identifier "omp_get_thread_num") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "dVar3 = DAT_002e9da8;" (assignment_expression "dVar3 = DAT_002e9da8" (identifier "dVar3") (= "=") (identifier "DAT_002e9da8")) (; ";")) (expression_statement "iVar6 = (int)(0x10000 / (longlong)iVar4);" (assignment_expression "iVar6 = (int)(0x10000 / (longlong)iVar4)" (identifier "iVar6") (= "=") (cast_expression "(int)(0x10000 / (longlong)iVar4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(0x10000 / (longlong)iVar4)" (( "(") (binary_expression "0x10000 / (longlong)iVar4" (number_literal "0x10000") (/ "/") (cast_expression "(longlong)iVar4" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "iVar4"))) () ")")))) (; ";")) (expression_statement "iVar4 = (int)(0x10000 % (longlong)iVar4);" (assignment_expression "iVar4 = (int)(0x10000 % (longlong)iVar4)" (identifier "iVar4") (= "=") (cast_expression "(int)(0x10000 % (longlong)iVar4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(0x10000 % (longlong)iVar4)" (( "(") (binary_expression "0x10000 % (longlong)iVar4" (number_literal "0x10000") (% "%") (cast_expression "(longlong)iVar4" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "iVar4"))) () ")")))) (; ";")) (if_statement "if (iVar5 < iVar4) {\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }" (if "if") (parenthesized_expression "(iVar5 < iVar4)" (( "(") (binary_expression "iVar5 < iVar4" (identifier "iVar5") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n    iVar6 = iVar6 + 1;\n    iVar4 = 0;\n  }" ({ "{") (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar4 = iVar4 + iVar5 * iVar6;" (assignment_expression "iVar4 = iVar4 + iVar5 * iVar6" (identifier "iVar4") (= "=") (binary_expression "iVar4 + iVar5 * iVar6" (identifier "iVar4") (+ "+") (binary_expression "iVar5 * iVar6" (identifier "iVar5") (* "*") (identifier "iVar6")))) (; ";")) (expression_statement "iVar6 = iVar6 + iVar4;" (assignment_expression "iVar6 = iVar6 + iVar4" (identifier "iVar6") (= "=") (binary_expression "iVar6 + iVar4" (identifier "iVar6") (+ "+") (identifier "iVar4"))) (; ";")) (if_statement "if (iVar4 < iVar6) {\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }" (if "if") (parenthesized_expression "(iVar4 < iVar6)" (( "(") (binary_expression "iVar4 < iVar6" (identifier "iVar4") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n    iVar5 = iVar4 * 0x18;\n    pdVar7 = (double *)(iVar5 + param_1[2]);\n    pdVar8 = (double *)(*param_1 + iVar5);\n    pdVar9 = (double *)(param_1[1] + iVar5);\n    do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);\n  }" ({ "{") (expression_statement "iVar5 = iVar4 * 0x18;" (assignment_expression "iVar5 = iVar4 * 0x18" (identifier "iVar5") (= "=") (binary_expression "iVar4 * 0x18" (identifier "iVar4") (* "*") (number_literal "0x18"))) (; ";")) (expression_statement "pdVar7 = (double *)(iVar5 + param_1[2]);" (assignment_expression "pdVar7 = (double *)(iVar5 + param_1[2])" (identifier "pdVar7") (= "=") (cast_expression "(double *)(iVar5 + param_1[2])" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + param_1[2])" (( "(") (binary_expression "iVar5 + param_1[2]" (identifier "iVar5") (+ "+") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) () ")")))) (; ";")) (expression_statement "pdVar8 = (double *)(*param_1 + iVar5);" (assignment_expression "pdVar8 = (double *)(*param_1 + iVar5)" (identifier "pdVar8") (= "=") (cast_expression "(double *)(*param_1 + iVar5)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + iVar5)" (( "(") (binary_expression "*param_1 + iVar5" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (identifier "iVar5")) () ")")))) (; ";")) (expression_statement "pdVar9 = (double *)(param_1[1] + iVar5);" (assignment_expression "pdVar9 = (double *)(param_1[1] + iVar5)" (identifier "pdVar9") (= "=") (cast_expression "(double *)(param_1[1] + iVar5)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + iVar5)" (( "(") (binary_expression "param_1[1] + iVar5" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "iVar5")) () ")")))) (; ";")) (do_statement "do {\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    } while (iVar6 != iVar4);" (do "do") (compound_statement "{\n      dVar1 = (double)iVar4;\n      iVar4 = iVar4 + 1;\n      *pdVar8 = dVar1 * dVar3;\n      pdVar8[1] = DAT_002e9e08 * dVar1;\n      dVar2 = (double)DAT_002df2b8;\n      pdVar8[2] = dVar1 * dVar2;\n      *pdVar9 = DAT_002e9db0 * dVar1;\n      pdVar9[1] = DAT_002e9e10 * dVar1;\n      pdVar9[2] = DAT_002e9e18 * dVar1;\n      *pdVar7 = DAT_002e9db8 * dVar1;\n      pdVar7[1] = dVar1 * dVar2;\n      pdVar7[2] = dVar1 * DAT_002e9e20;\n      pdVar7 = pdVar7 + 3;\n      pdVar8 = pdVar8 + 3;\n      pdVar9 = pdVar9 + 3;\n    }" ({ "{") (expression_statement "dVar1 = (double)iVar4;" (assignment_expression "dVar1 = (double)iVar4" (identifier "dVar1") (= "=") (cast_expression "(double)iVar4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar4"))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pdVar8 = dVar1 * dVar3;" (assignment_expression "*pdVar8 = dVar1 * dVar3" (pointer_expression "*pdVar8" (* "*") (identifier "pdVar8")) (= "=") (binary_expression "dVar1 * dVar3" (identifier "dVar1") (* "*") (identifier "dVar3"))) (; ";")) (expression_statement "pdVar8[1] = DAT_002e9e08 * dVar1;" (assignment_expression "pdVar8[1] = DAT_002e9e08 * dVar1" (subscript_expression "pdVar8[1]" (identifier "pdVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "DAT_002e9e08 * dVar1" (identifier "DAT_002e9e08") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "dVar2 = (double)DAT_002df2b8;" (assignment_expression "dVar2 = (double)DAT_002df2b8" (identifier "dVar2") (= "=") (cast_expression "(double)DAT_002df2b8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002df2b8"))) (; ";")) (expression_statement "pdVar8[2] = dVar1 * dVar2;" (assignment_expression "pdVar8[2] = dVar1 * dVar2" (subscript_expression "pdVar8[2]" (identifier "pdVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "dVar1 * dVar2" (identifier "dVar1") (* "*") (identifier "dVar2"))) (; ";")) (expression_statement "*pdVar9 = DAT_002e9db0 * dVar1;" (assignment_expression "*pdVar9 = DAT_002e9db0 * dVar1" (pointer_expression "*pdVar9" (* "*") (identifier "pdVar9")) (= "=") (binary_expression "DAT_002e9db0 * dVar1" (identifier "DAT_002e9db0") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "pdVar9[1] = DAT_002e9e10 * dVar1;" (assignment_expression "pdVar9[1] = DAT_002e9e10 * dVar1" (subscript_expression "pdVar9[1]" (identifier "pdVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "DAT_002e9e10 * dVar1" (identifier "DAT_002e9e10") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "pdVar9[2] = DAT_002e9e18 * dVar1;" (assignment_expression "pdVar9[2] = DAT_002e9e18 * dVar1" (subscript_expression "pdVar9[2]" (identifier "pdVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "DAT_002e9e18 * dVar1" (identifier "DAT_002e9e18") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "*pdVar7 = DAT_002e9db8 * dVar1;" (assignment_expression "*pdVar7 = DAT_002e9db8 * dVar1" (pointer_expression "*pdVar7" (* "*") (identifier "pdVar7")) (= "=") (binary_expression "DAT_002e9db8 * dVar1" (identifier "DAT_002e9db8") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "pdVar7[1] = dVar1 * dVar2;" (assignment_expression "pdVar7[1] = dVar1 * dVar2" (subscript_expression "pdVar7[1]" (identifier "pdVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "dVar1 * dVar2" (identifier "dVar1") (* "*") (identifier "dVar2"))) (; ";")) (expression_statement "pdVar7[2] = dVar1 * DAT_002e9e20;" (assignment_expression "pdVar7[2] = dVar1 * DAT_002e9e20" (subscript_expression "pdVar7[2]" (identifier "pdVar7") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "dVar1 * DAT_002e9e20" (identifier "dVar1") (* "*") (identifier "DAT_002e9e20"))) (; ";")) (expression_statement "pdVar7 = pdVar7 + 3;" (assignment_expression "pdVar7 = pdVar7 + 3" (identifier "pdVar7") (= "=") (binary_expression "pdVar7 + 3" (identifier "pdVar7") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pdVar8 = pdVar8 + 3;" (assignment_expression "pdVar8 = pdVar8 + 3" (identifier "pdVar8") (= "=") (binary_expression "pdVar8 + 3" (identifier "pdVar8") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pdVar9 = pdVar9 + 3;" (assignment_expression "pdVar9 = pdVar9 + 3" (identifier "pdVar9") (= "=") (binary_expression "pdVar9 + 3" (identifier "pdVar9") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 != iVar4)" (( "(") (binary_expression "iVar6 != iVar4" (identifier "iVar6") (!= "!=") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* DWARF original prototype: void sRGBTransformImage._omp_fn.22(anon_struct_12_3_5c5126da * param_0)
    */

void __thiscall function_1(type_1 *this)

{
  double var_6;
  double var_9;
  double var_7;
  int var_4;
  int var_3;
  int var_5;
  type_2 *var_15;
  type_2 *var_16;
  type_2 *var_17;
  
  var_4 = var_1();
  var_3 = var_2();
  var_7 = DAT_002e9da8;
  var_5 = (int)(0x10000 / (type_3)var_4);
  var_4 = (int)(0x10000 % (type_3)var_4);
  if (var_3 < var_4) {
    var_5 = var_5 + 1;
    var_4 = 0;
  }
  var_4 = var_4 + var_3 * var_5;
  var_5 = var_5 + var_4;
  if (var_4 < var_5) {
    var_15 = this->z_map + var_4;
    var_16 = this->x_map + var_4;
    var_17 = this->y_map + var_4;
    do {
      var_6 = (double)var_4;
      var_4 = var_4 + 1;
      var_16->x = var_6 * var_7;
      var_16->y = var_8 * var_6;
      var_9 = (double)DAT_002df2b8;
      var_16->z = var_6 * var_9;
      var_17->x = var_10 * var_6;
      var_17->y = var_11 * var_6;
      var_17->z = var_12 * var_6;
      var_15->x = var_13 * var_6;
      var_15->y = var_6 * var_9;
      var_15->z = var_6 * var_14;
      var_15 = var_15 + 1;
      var_16 = var_16 + 1;
      var_17 = var_17 + 1;
    } while (var_5 != var_4);
  }
  return;
}


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

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

void MASKED(int *param_1)

{
  double dVar1;
  double dVar2;
  double dVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  double *pdVar7;
  double *pdVar8;
  double *pdVar9;
  
  iVar4 = omp_get_num_threads();
  iVar5 = omp_get_thread_num();
  dVar3 = DAT_002e9da8;
  iVar6 = (int)(0x10000 / (longlong)iVar4);
  iVar4 = (int)(0x10000 % (longlong)iVar4);
  if (iVar5 < iVar4) {
    iVar6 = iVar6 + 1;
    iVar4 = 0;
  }
  iVar4 = iVar4 + iVar5 * iVar6;
  iVar6 = iVar6 + iVar4;
  if (iVar4 < iVar6) {
    iVar5 = iVar4 * 0x18;
    pdVar7 = (double *)(iVar5 + param_1[2]);
    pdVar8 = (double *)(*param_1 + iVar5);
    pdVar9 = (double *)(param_1[1] + iVar5);
    do {
      dVar1 = (double)iVar4;
      iVar4 = iVar4 + 1;
      *pdVar8 = dVar1 * dVar3;
      pdVar8[1] = DAT_002e9e08 * dVar1;
      dVar2 = (double)DAT_002df2b8;
      pdVar8[2] = dVar1 * dVar2;
      *pdVar9 = DAT_002e9db0 * dVar1;
      pdVar9[1] = DAT_002e9e10 * dVar1;
      pdVar9[2] = DAT_002e9e18 * dVar1;
      *pdVar7 = DAT_002e9db8 * dVar1;
      pdVar7[1] = dVar1 * dVar2;
      pdVar7[2] = dVar1 * DAT_002e9e20;
      pdVar7 = pdVar7 + 3;
      pdVar8 = pdVar8 + 3;
      pdVar9 = pdVar9 + 3;
    } while (iVar6 != iVar4);
  }
  return;
}

