
void string_append_template_idx(string *s,int idx)

{
  char buf [33];
  
  sprintf(buf,"T%d",idx);
  if (buf[0] != '\0') {
    string_append(s,buf);
  }
  return;
}



void FUN_0025ef80(undefined8 param_1,ulong param_2)

{
  char local_48 [56];
  
  sprintf(local_48,"T%d",param_2 & 0xffffffff);
  if (local_48[0] != '\0') {
    FUN_0025ef40(param_1,local_48);
  }
  return;
}


PUSH RBP
MOV EDX,ESI
XOR EAX,EAX
MOV RBP,RDI
PUSH RBX
LEA RSI,[0x3260c4]
SUB RSP,0x38
MOV RBX,RSP
MOV RDI,RBX
CALL 0x0013e590
CMP byte ptr [RSP],0x0
JZ 0x0025efb0
MOV RSI,RBX
MOV RDI,RBP
CALL 0x0025ef40
ADD RSP,0x38
POP RBX
POP RBP
RET
(translation_unit "void FUN_0025ef80(undefined8 param_1,ulong param_2)\n\n{\n  char local_48 [56];\n  \n  sprintf(local_48,"T%d",param_2 & 0xffffffff);\n  if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }\n  return;\n}\n\n" (function_definition "void FUN_0025ef80(undefined8 param_1,ulong param_2)\n\n{\n  char local_48 [56];\n  \n  sprintf(local_48,"T%d",param_2 & 0xffffffff);\n  if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0025ef80(undefined8 param_1,ulong param_2)" identifier (parameter_list "(undefined8 param_1,ulong param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "ulong param_2" type_identifier identifier) ))) (compound_statement "{\n  char local_48 [56];\n  \n  sprintf(local_48,"T%d",param_2 & 0xffffffff);\n  if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }\n  return;\n}" { (declaration "char local_48 [56];" primitive_type (array_declarator "local_48 [56]" identifier [ number_literal ]) ;) (expression_statement "sprintf(local_48,"T%d",param_2 & 0xffffffff);" (call_expression "sprintf(local_48,"T%d",param_2 & 0xffffffff)" identifier (argument_list "(local_48,"T%d",param_2 & 0xffffffff)" ( identifier , (string_literal ""T%d"" " string_content ") , (binary_expression "param_2 & 0xffffffff" identifier & number_literal) ))) ;) (if_statement "if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }" if (parenthesized_expression "(local_48[0] != '\0')" ( (binary_expression "local_48[0] != '\0'" (subscript_expression "local_48[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    FUN_0025ef40(param_1,local_48);\n  }" { (expression_statement "FUN_0025ef40(param_1,local_48);" (call_expression "FUN_0025ef40(param_1,local_48)" identifier (argument_list "(param_1,local_48)" ( identifier , identifier ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void string_append_template_idx(string *s,int idx)\n\n{\n  char buf [33];\n  \n  sprintf(buf,"T%d",idx);\n  if (buf[0] != '\0') {\n    string_append(s,buf);\n  }\n  return;\n}\n\n" (function_definition "void string_append_template_idx(string *s,int idx)\n\n{\n  char buf [33];\n  \n  sprintf(buf,"T%d",idx);\n  if (buf[0] != '\0') {\n    string_append(s,buf);\n  }\n  return;\n}" primitive_type (function_declarator "string_append_template_idx(string *s,int idx)" identifier (parameter_list "(string *s,int idx)" ( (parameter_declaration "string *s" type_identifier (pointer_declarator "*s" * identifier)) , (parameter_declaration "int idx" primitive_type identifier) ))) (compound_statement "{\n  char buf [33];\n  \n  sprintf(buf,"T%d",idx);\n  if (buf[0] != '\0') {\n    string_append(s,buf);\n  }\n  return;\n}" { (declaration "char buf [33];" primitive_type (array_declarator "buf [33]" identifier [ number_literal ]) ;) (expression_statement "sprintf(buf,"T%d",idx);" (call_expression "sprintf(buf,"T%d",idx)" identifier (argument_list "(buf,"T%d",idx)" ( identifier , (string_literal ""T%d"" " string_content ") , identifier ))) ;) (if_statement "if (buf[0] != '\0') {\n    string_append(s,buf);\n  }" if (parenthesized_expression "(buf[0] != '\0')" ( (binary_expression "buf[0] != '\0'" (subscript_expression "buf[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    string_append(s,buf);\n  }" { (expression_statement "string_append(s,buf);" (call_expression "string_append(s,buf)" identifier (argument_list "(s,buf)" ( identifier , identifier ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0025ef80(undefined8 param_1,ulong param_2)\n\n{\n  char local_48 [56];\n  \n  sprintf(local_48,"T%d",param_2 & 0xffffffff);\n  if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }\n  return;\n}\n\n" (function_definition "void FUN_0025ef80(undefined8 param_1,ulong param_2)\n\n{\n  char local_48 [56];\n  \n  sprintf(local_48,"T%d",param_2 & 0xffffffff);\n  if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0025ef80(undefined8 param_1,ulong param_2)" identifier (parameter_list "(undefined8 param_1,ulong param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "ulong param_2" type_identifier identifier) ))) (compound_statement "{\n  char local_48 [56];\n  \n  sprintf(local_48,"T%d",param_2 & 0xffffffff);\n  if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }\n  return;\n}" { (declaration "char local_48 [56];" primitive_type (array_declarator "local_48 [56]" identifier [ number_literal ]) ;) (expression_statement "sprintf(local_48,"T%d",param_2 & 0xffffffff);" (call_expression "sprintf(local_48,"T%d",param_2 & 0xffffffff)" identifier (argument_list "(local_48,"T%d",param_2 & 0xffffffff)" ( identifier , (string_literal ""T%d"" " string_content ") , (binary_expression "param_2 & 0xffffffff" identifier & number_literal) ))) ;) (if_statement "if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }" if (parenthesized_expression "(local_48[0] != '\0')" ( (binary_expression "local_48[0] != '\0'" (subscript_expression "local_48[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    FUN_0025ef40(param_1,local_48);\n  }" { (expression_statement "FUN_0025ef40(param_1,local_48);" (call_expression "FUN_0025ef40(param_1,local_48)" identifier (argument_list "(param_1,local_48)" ( identifier , identifier ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (binary_expression IDENT & LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_0025ef80(undefined8 param_1,ulong param_2)\n\n{\n  char local_48 [56];\n  \n  sprintf(local_48,"T%d",param_2 & 0xffffffff);\n  if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0025ef80(undefined8 param_1,ulong param_2)" (identifier "FUN_0025ef80") (parameter_list "(undefined8 param_1,ulong param_2)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "ulong param_2" (type_identifier "ulong") (identifier "param_2")) () ")"))) (compound_statement "{\n  char local_48 [56];\n  \n  sprintf(local_48,"T%d",param_2 & 0xffffffff);\n  if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }\n  return;\n}" ({ "{") (declaration "char local_48 [56];" (primitive_type "char") (array_declarator "local_48 [56]" (identifier "local_48") ([ "[") (number_literal "56") (] "]")) (; ";")) (expression_statement "sprintf(local_48,"T%d",param_2 & 0xffffffff);" (call_expression "sprintf(local_48,"T%d",param_2 & 0xffffffff)" (identifier "sprintf") (argument_list "(local_48,"T%d",param_2 & 0xffffffff)" (( "(") (identifier "local_48") (, ",") (string_literal ""T%d"" (" """) (string_content "T%d") (" """)) (, ",") (binary_expression "param_2 & 0xffffffff" (identifier "param_2") (& "&") (number_literal "0xffffffff")) () ")"))) (; ";")) (if_statement "if (local_48[0] != '\0') {\n    FUN_0025ef40(param_1,local_48);\n  }" (if "if") (parenthesized_expression "(local_48[0] != '\0')" (( "(") (binary_expression "local_48[0] != '\0'" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    FUN_0025ef40(param_1,local_48);\n  }" ({ "{") (expression_statement "FUN_0025ef40(param_1,local_48);" (call_expression "FUN_0025ef40(param_1,local_48)" (identifier "FUN_0025ef40") (argument_list "(param_1,local_48)" (( "(") (identifier "param_1") (, ",") (identifier "local_48") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *s,int idx)

{
  char buf [33];
  
  var_1(buf,"T%d",idx);
  if (buf[0] != '\0') {
    var_2(s,buf);
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (return_statement))))

void MASKED(undefined8 param_1,ulong param_2)

{
  char local_48 [56];
  
  sprintf(local_48,"T%d",param_2 & 0xffffffff);
  if (local_48[0] != '\0') {
    FUN_0025ef40(param_1,local_48);
  }
  return;
}

