
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Unknown calling convention */

float estimate_timestamp_success_rate(time_t when)

{
  float fVar1;
  
  fVar1 = (float)(int)((options.cur_day_start.tv_sec - when) / 0x15180);
  if (fVar1 < DAT_0013bd14) {
    return DAT_0013bd0c;
  }
  if ((DAT_00139578 <= fVar1) && (fVar1 <= _DAT_0013bd18)) {
    return DAT_0013bd10;
  }
  return DAT_0013bd08;
}



/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

long FUN_001101ec(long param_1)

{
  long lVar1;
  float fVar2;
  
  lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;
  fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);
  if (fVar2 < DAT_0013bd14) {
    return lVar1;
  }
  if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {
    return lVar1;
  }
  return lVar1;
}


MOV RCX,qword ptr [0x0014c428]
SUB RCX,RDI
MOV RDX,0x1845c8a0ce512957
MOV RAX,RCX
IMUL RDX
SAR RDX,0xd
SAR RCX,0x3f
SUB RDX,RCX
PXOR XMM1,XMM1
CVTSI2SS XMM1,EDX
MOVSS XMM0,dword ptr [0x0013bd14]
COMISS XMM0,XMM1
JA 0x0011024d
MOVSS XMM0,dword ptr [0x00139578]
COMISS XMM0,XMM1
JA 0x00110256
MOVSS XMM0,dword ptr [0x0013bd08]
COMISS XMM1,dword ptr [0x0013bd18]
JA 0x0011025e
MOVSS XMM0,dword ptr [0x0013bd10]
RET
MOVSS XMM0,dword ptr [0x0013bd0c]
RET
MOVSS XMM0,dword ptr [0x0013bd08]
RET
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nlong FUN_001101ec(long param_1)\n\n{\n  long lVar1;\n  float fVar2;\n  \n  lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;\n  fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);\n  if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }\n  if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }\n  return lVar1;\n}\n\n" comment (function_definition "long FUN_001101ec(long param_1)\n\n{\n  long lVar1;\n  float fVar2;\n  \n  lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;\n  fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);\n  if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }\n  if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }\n  return lVar1;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_001101ec(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  float fVar2;\n  \n  lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;\n  fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);\n  if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }\n  if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }\n  return lVar1;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "float fVar2;" primitive_type identifier ;) (expression_statement "lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;" (assignment_expression "lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957" identifier = (binary_expression "(DAT_0014c428 - param_1) * 0x1845c8a0ce512957" (parenthesized_expression "(DAT_0014c428 - param_1)" ( (binary_expression "DAT_0014c428 - param_1" identifier - identifier) )) * number_literal)) ;) (expression_statement "fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);" (assignment_expression "fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180)" identifier = (cast_expression "(float)(int)((DAT_0014c428 - param_1) / 0x15180)" ( (type_descriptor "float" primitive_type) ) (cast_expression "(int)((DAT_0014c428 - param_1) / 0x15180)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((DAT_0014c428 - param_1) / 0x15180)" ( (binary_expression "(DAT_0014c428 - param_1) / 0x15180" (parenthesized_expression "(DAT_0014c428 - param_1)" ( (binary_expression "DAT_0014c428 - param_1" identifier - identifier) )) / number_literal) ))))) ;) (if_statement "if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }" if (parenthesized_expression "(fVar2 < DAT_0013bd14)" ( (binary_expression "fVar2 < DAT_0013bd14" identifier < identifier) )) (compound_statement "{\n    return lVar1;\n  }" { (return_statement "return lVar1;" return identifier ;) })) (if_statement "if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }" if (parenthesized_expression "((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18))" ( (binary_expression "(DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)" (parenthesized_expression "(DAT_00139578 <= fVar2)" ( (binary_expression "DAT_00139578 <= fVar2" identifier <= identifier) )) && (parenthesized_expression "(fVar2 <= _DAT_0013bd18)" ( (binary_expression "fVar2 <= _DAT_0013bd18" identifier <= identifier) ))) )) (compound_statement "{\n    return lVar1;\n  }" { (return_statement "return lVar1;" return identifier ;) })) (return_statement "return lVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n/* WARNING: Unknown calling convention */\n\nfloat estimate_timestamp_success_rate(time_t when)\n\n{\n  float fVar1;\n  \n  fVar1 = (float)(int)((options.cur_day_start.tv_sec - when) / 0x15180);\n  if (fVar1 < DAT_0013bd14) {\n    return DAT_0013bd0c;\n  }\n  if ((DAT_00139578 <= fVar1) && (fVar1 <= _DAT_0013bd18)) {\n    return DAT_0013bd10;\n  }\n  return DAT_0013bd08;\n}\n\n" comment comment (function_definition "float estimate_timestamp_success_rate(time_t when)\n\n{\n  float fVar1;\n  \n  fVar1 = (float)(int)((options.cur_day_start.tv_sec - when) / 0x15180);\n  if (fVar1 < DAT_0013bd14) {\n    return DAT_0013bd0c;\n  }\n  if ((DAT_00139578 <= fVar1) && (fVar1 <= _DAT_0013bd18)) {\n    return DAT_0013bd10;\n  }\n  return DAT_0013bd08;\n}" primitive_type (function_declarator "estimate_timestamp_success_rate(time_t when)" identifier (parameter_list "(time_t when)" ( (parameter_declaration "time_t when" type_identifier identifier) ))) (compound_statement "{\n  float fVar1;\n  \n  fVar1 = (float)(int)((options.cur_day_start.tv_sec - when) / 0x15180);\n  if (fVar1 < DAT_0013bd14) {\n    return DAT_0013bd0c;\n  }\n  if ((DAT_00139578 <= fVar1) && (fVar1 <= _DAT_0013bd18)) {\n    return DAT_0013bd10;\n  }\n  return DAT_0013bd08;\n}" { (declaration "float fVar1;" primitive_type identifier ;) (expression_statement "fVar1 = (float)(int)((options.cur_day_start.tv_sec - when) / 0x15180);" (assignment_expression "fVar1 = (float)(int)((options.cur_day_start.tv_sec - when) / 0x15180)" identifier = (cast_expression "(float)(int)((options.cur_day_start.tv_sec - when) / 0x15180)" ( (type_descriptor "float" primitive_type) ) (cast_expression "(int)((options.cur_day_start.tv_sec - when) / 0x15180)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((options.cur_day_start.tv_sec - when) / 0x15180)" ( (binary_expression "(options.cur_day_start.tv_sec - when) / 0x15180" (parenthesized_expression "(options.cur_day_start.tv_sec - when)" ( (binary_expression "options.cur_day_start.tv_sec - when" (field_expression "options.cur_day_start.tv_sec" (field_expression "options.cur_day_start" identifier . field_identifier) . field_identifier) - identifier) )) / number_literal) ))))) ;) (if_statement "if (fVar1 < DAT_0013bd14) {\n    return DAT_0013bd0c;\n  }" if (parenthesized_expression "(fVar1 < DAT_0013bd14)" ( (binary_expression "fVar1 < DAT_0013bd14" identifier < identifier) )) (compound_statement "{\n    return DAT_0013bd0c;\n  }" { (return_statement "return DAT_0013bd0c;" return identifier ;) })) (if_statement "if ((DAT_00139578 <= fVar1) && (fVar1 <= _DAT_0013bd18)) {\n    return DAT_0013bd10;\n  }" if (parenthesized_expression "((DAT_00139578 <= fVar1) && (fVar1 <= _DAT_0013bd18))" ( (binary_expression "(DAT_00139578 <= fVar1) && (fVar1 <= _DAT_0013bd18)" (parenthesized_expression "(DAT_00139578 <= fVar1)" ( (binary_expression "DAT_00139578 <= fVar1" identifier <= identifier) )) && (parenthesized_expression "(fVar1 <= _DAT_0013bd18)" ( (binary_expression "fVar1 <= _DAT_0013bd18" identifier <= identifier) ))) )) (compound_statement "{\n    return DAT_0013bd10;\n  }" { (return_statement "return DAT_0013bd10;" return identifier ;) })) (return_statement "return DAT_0013bd08;" return identifier ;) })))
(translation_unit "long FUN_001101ec(long param_1)\n\n{\n  long lVar1;\n  float fVar2;\n  \n  lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;\n  fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);\n  if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }\n  if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }\n  return lVar1;\n}\n\n" (function_definition "long FUN_001101ec(long param_1)\n\n{\n  long lVar1;\n  float fVar2;\n  \n  lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;\n  fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);\n  if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }\n  if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }\n  return lVar1;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_001101ec(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  float fVar2;\n  \n  lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;\n  fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);\n  if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }\n  if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }\n  return lVar1;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "float fVar2;" primitive_type identifier ;) (expression_statement "lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;" (assignment_expression "lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957" identifier = (binary_expression "(DAT_0014c428 - param_1) * 0x1845c8a0ce512957" (parenthesized_expression "(DAT_0014c428 - param_1)" ( (binary_expression "DAT_0014c428 - param_1" identifier - identifier) )) * number_literal)) ;) (expression_statement "fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);" (assignment_expression "fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180)" identifier = (cast_expression "(float)(int)((DAT_0014c428 - param_1) / 0x15180)" ( (type_descriptor "float" primitive_type) ) (cast_expression "(int)((DAT_0014c428 - param_1) / 0x15180)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((DAT_0014c428 - param_1) / 0x15180)" ( (binary_expression "(DAT_0014c428 - param_1) / 0x15180" (parenthesized_expression "(DAT_0014c428 - param_1)" ( (binary_expression "DAT_0014c428 - param_1" identifier - identifier) )) / number_literal) ))))) ;) (if_statement "if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }" if (parenthesized_expression "(fVar2 < DAT_0013bd14)" ( (binary_expression "fVar2 < DAT_0013bd14" identifier < identifier) )) (compound_statement "{\n    return lVar1;\n  }" { (return_statement "return lVar1;" return identifier ;) })) (if_statement "if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }" if (parenthesized_expression "((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18))" ( (binary_expression "(DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)" (parenthesized_expression "(DAT_00139578 <= fVar2)" ( (binary_expression "DAT_00139578 <= fVar2" identifier <= identifier) )) && (parenthesized_expression "(fVar2 <= _DAT_0013bd18)" ( (binary_expression "fVar2 <= _DAT_0013bd18" identifier <= identifier) ))) )) (compound_statement "{\n    return lVar1;\n  }" { (return_statement "return lVar1;" return identifier ;) })) (return_statement "return lVar1;" return identifier ;) })))
(translation_unit (function_definition (sized_type_specifier long) (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) / LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (return_statement return IDENT ;) })) (return_statement return IDENT ;) })))
(function_definition "long FUN_001101ec(long param_1)\n\n{\n  long lVar1;\n  float fVar2;\n  \n  lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;\n  fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);\n  if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }\n  if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }\n  return lVar1;\n}" (sized_type_specifier "long" (long "long")) (function_declarator "FUN_001101ec(long param_1)" (identifier "FUN_001101ec") (parameter_list "(long param_1)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) () ")"))) (compound_statement "{\n  long lVar1;\n  float fVar2;\n  \n  lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;\n  fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);\n  if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }\n  if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }\n  return lVar1;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "float fVar2;" (primitive_type "float") (identifier "fVar2") (; ";")) (expression_statement "lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;" (assignment_expression "lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957" (identifier "lVar1") (= "=") (binary_expression "(DAT_0014c428 - param_1) * 0x1845c8a0ce512957" (parenthesized_expression "(DAT_0014c428 - param_1)" (( "(") (binary_expression "DAT_0014c428 - param_1" (identifier "DAT_0014c428") (- "-") (identifier "param_1")) () ")")) (* "*") (number_literal "0x1845c8a0ce512957"))) (; ";")) (expression_statement "fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);" (assignment_expression "fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180)" (identifier "fVar2") (= "=") (cast_expression "(float)(int)((DAT_0014c428 - param_1) / 0x15180)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (cast_expression "(int)((DAT_0014c428 - param_1) / 0x15180)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((DAT_0014c428 - param_1) / 0x15180)" (( "(") (binary_expression "(DAT_0014c428 - param_1) / 0x15180" (parenthesized_expression "(DAT_0014c428 - param_1)" (( "(") (binary_expression "DAT_0014c428 - param_1" (identifier "DAT_0014c428") (- "-") (identifier "param_1")) () ")")) (/ "/") (number_literal "0x15180")) () ")"))))) (; ";")) (if_statement "if (fVar2 < DAT_0013bd14) {\n    return lVar1;\n  }" (if "if") (parenthesized_expression "(fVar2 < DAT_0013bd14)" (( "(") (binary_expression "fVar2 < DAT_0013bd14" (identifier "fVar2") (< "<") (identifier "DAT_0013bd14")) () ")")) (compound_statement "{\n    return lVar1;\n  }" ({ "{") (return_statement "return lVar1;" (return "return") (identifier "lVar1") (; ";")) (} "}"))) (if_statement "if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {\n    return lVar1;\n  }" (if "if") (parenthesized_expression "((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18))" (( "(") (binary_expression "(DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)" (parenthesized_expression "(DAT_00139578 <= fVar2)" (( "(") (binary_expression "DAT_00139578 <= fVar2" (identifier "DAT_00139578") (<= "<=") (identifier "fVar2")) () ")")) (&& "&&") (parenthesized_expression "(fVar2 <= _DAT_0013bd18)" (( "(") (binary_expression "fVar2 <= _DAT_0013bd18" (identifier "fVar2") (<= "<=") (identifier "_DAT_0013bd18")) () ")"))) () ")")) (compound_statement "{\n    return lVar1;\n  }" ({ "{") (return_statement "return lVar1;" (return "return") (identifier "lVar1") (; ";")) (} "}"))) (return_statement "return lVar1;" (return "return") (identifier "lVar1") (; ";")) (} "}")))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Unknown calling convention */

float function_1(type_1 var_1)

{
  float var_2;
  
  var_2 = (float)(int)((options.cur_day_start.tv_sec - var_1) / 0x15180);
  if (var_2 < var_3) {
    return DAT_0013bd0c;
  }
  if ((var_4 <= var_2) && (var_2 <= var_5)) {
    return DAT_0013bd10;
  }
  return DAT_0013bd08;
}


(translation_unit (function_definition type: (sized_type_specifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (return_statement (identifier)))))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

long MASKED(long param_1)

{
  long lVar1;
  float fVar2;
  
  lVar1 = (DAT_0014c428 - param_1) * 0x1845c8a0ce512957;
  fVar2 = (float)(int)((DAT_0014c428 - param_1) / 0x15180);
  if (fVar2 < DAT_0013bd14) {
    return lVar1;
  }
  if ((DAT_00139578 <= fVar2) && (fVar2 <= _DAT_0013bd18)) {
    return lVar1;
  }
  return lVar1;
}

