
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void unifontsel_button_toggled(GtkToggleButton *tb,gpointer data)

{
  uint uVar1;
  int iVar2;
  undefined4 uVar3;
  uint uVar4;
  
  iVar2 = gtk_toggle_button_get_active(tb);
  uVar3 = g_type_check_instance_cast(tb,0x50);
  uVar4 = g_object_get_data(uVar3,"user-data");
  uVar1 = *(uint *)((int)data + 100);
  if (iVar2 == 0) {
    uVar4 = ~uVar4 & uVar1;
  }
  else {
    uVar4 = uVar4 | uVar1;
  }
  if (uVar4 == uVar1) {
    return;
  }
  *(uint *)((int)data + 100) = uVar4;
  unifontsel_setup_familylist((unifontsel_internal *)data);
  return;
}



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

void FUN_00053fc0(undefined4 param_1,int param_2)

{
  uint uVar1;
  int iVar2;
  undefined4 uVar3;
  uint uVar4;
  
  iVar2 = gtk_toggle_button_get_active(param_1);
  uVar3 = g_type_check_instance_cast(param_1,0x50);
  uVar4 = g_object_get_data(uVar3,"user-data");
  uVar1 = *(uint *)(param_2 + 100);
  if (iVar2 == 0) {
    uVar4 = ~uVar4 & uVar1;
  }
  else {
    uVar4 = uVar4 | uVar1;
  }
  if (uVar4 == uVar1) {
    return;
  }
  *(uint *)(param_2 + 100) = uVar4;
  FUN_00053dc0();
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0001b410
ADD EBX,0x5c7db
SUB ESP,0x18
MOV EDI,dword ptr [ESP + 0x2c]
MOV ESI,dword ptr [ESP + 0x30]
PUSH EDI
CALL 0x0001b010
MOV EBP,EAX
POP EAX
POP EDX
PUSH 0x50
PUSH EDI
CALL 0x00019590
LEA EDX,[EBX + 0xfffd2123]
POP ECX
POP EDI
PUSH EDX
PUSH EAX
CALL 0x0001aed0
ADD ESP,0x10
MOV EDX,dword ptr [ESI + 0x64]
TEST EBP,EBP
JZ 0x00054018
OR EAX,EDX
CMP EAX,EDX
JNZ 0x00054020
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
NOT EAX
AND EAX,EDX
CMP EAX,EDX
JZ 0x0005400b
MOV dword ptr [ESI + 0x64],EAX
ADD ESP,0xc
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
JMP 0x00053dc0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00053fc0(undefined4 param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(param_1);\n  uVar3 = g_type_check_instance_cast(param_1,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)(param_2 + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)(param_2 + 100) = uVar4;\n  FUN_00053dc0();\n  return;\n}\n\n" comment (function_definition "void FUN_00053fc0(undefined4 param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(param_1);\n  uVar3 = g_type_check_instance_cast(param_1,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)(param_2 + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)(param_2 + 100) = uVar4;\n  FUN_00053dc0();\n  return;\n}" primitive_type (function_declarator "FUN_00053fc0(undefined4 param_1,int param_2)" identifier (parameter_list "(undefined4 param_1,int param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(param_1);\n  uVar3 = g_type_check_instance_cast(param_1,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)(param_2 + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)(param_2 + 100) = uVar4;\n  FUN_00053dc0();\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (expression_statement "iVar2 = gtk_toggle_button_get_active(param_1);" (assignment_expression "iVar2 = gtk_toggle_button_get_active(param_1)" identifier = (call_expression "gtk_toggle_button_get_active(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar3 = g_type_check_instance_cast(param_1,0x50);" (assignment_expression "uVar3 = g_type_check_instance_cast(param_1,0x50)" identifier = (call_expression "g_type_check_instance_cast(param_1,0x50)" identifier (argument_list "(param_1,0x50)" ( identifier , number_literal )))) ;) (expression_statement "uVar4 = g_object_get_data(uVar3,"user-data");" (assignment_expression "uVar4 = g_object_get_data(uVar3,"user-data")" identifier = (call_expression "g_object_get_data(uVar3,"user-data")" identifier (argument_list "(uVar3,"user-data")" ( identifier , (string_literal ""user-data"" " string_content ") )))) ;) (expression_statement "uVar1 = *(uint *)(param_2 + 100);" (assignment_expression "uVar1 = *(uint *)(param_2 + 100)" identifier = (pointer_expression "*(uint *)(param_2 + 100)" * (cast_expression "(uint *)(param_2 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar4 = ~uVar4 & uVar1;\n  }" { (expression_statement "uVar4 = ~uVar4 & uVar1;" (assignment_expression "uVar4 = ~uVar4 & uVar1" identifier = (binary_expression "~uVar4 & uVar1" (unary_expression "~uVar4" ~ identifier) & identifier)) ;) }) (else_clause "else {\n    uVar4 = uVar4 | uVar1;\n  }" else (compound_statement "{\n    uVar4 = uVar4 | uVar1;\n  }" { (expression_statement "uVar4 = uVar4 | uVar1;" (assignment_expression "uVar4 = uVar4 | uVar1" identifier = (binary_expression "uVar4 | uVar1" identifier | identifier)) ;) }))) (if_statement "if (uVar4 == uVar1) {\n    return;\n  }" if (parenthesized_expression "(uVar4 == uVar1)" ( (binary_expression "uVar4 == uVar1" identifier == identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "*(uint *)(param_2 + 100) = uVar4;" (assignment_expression "*(uint *)(param_2 + 100) = uVar4" (pointer_expression "*(uint *)(param_2 + 100)" * (cast_expression "(uint *)(param_2 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00053dc0();" (call_expression "FUN_00053dc0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid unifontsel_button_toggled(GtkToggleButton *tb,gpointer data)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(tb);\n  uVar3 = g_type_check_instance_cast(tb,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)((int)data + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)((int)data + 100) = uVar4;\n  unifontsel_setup_familylist((unifontsel_internal *)data);\n  return;\n}\n\n" comment comment comment (function_definition "void unifontsel_button_toggled(GtkToggleButton *tb,gpointer data)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(tb);\n  uVar3 = g_type_check_instance_cast(tb,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)((int)data + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)((int)data + 100) = uVar4;\n  unifontsel_setup_familylist((unifontsel_internal *)data);\n  return;\n}" primitive_type (function_declarator "unifontsel_button_toggled(GtkToggleButton *tb,gpointer data)" identifier (parameter_list "(GtkToggleButton *tb,gpointer data)" ( (parameter_declaration "GtkToggleButton *tb" type_identifier (pointer_declarator "*tb" * identifier)) , (parameter_declaration "gpointer data" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(tb);\n  uVar3 = g_type_check_instance_cast(tb,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)((int)data + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)((int)data + 100) = uVar4;\n  unifontsel_setup_familylist((unifontsel_internal *)data);\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (expression_statement "iVar2 = gtk_toggle_button_get_active(tb);" (assignment_expression "iVar2 = gtk_toggle_button_get_active(tb)" identifier = (call_expression "gtk_toggle_button_get_active(tb)" identifier (argument_list "(tb)" ( identifier )))) ;) (expression_statement "uVar3 = g_type_check_instance_cast(tb,0x50);" (assignment_expression "uVar3 = g_type_check_instance_cast(tb,0x50)" identifier = (call_expression "g_type_check_instance_cast(tb,0x50)" identifier (argument_list "(tb,0x50)" ( identifier , number_literal )))) ;) (expression_statement "uVar4 = g_object_get_data(uVar3,"user-data");" (assignment_expression "uVar4 = g_object_get_data(uVar3,"user-data")" identifier = (call_expression "g_object_get_data(uVar3,"user-data")" identifier (argument_list "(uVar3,"user-data")" ( identifier , (string_literal ""user-data"" " string_content ") )))) ;) (expression_statement "uVar1 = *(uint *)((int)data + 100);" (assignment_expression "uVar1 = *(uint *)((int)data + 100)" identifier = (pointer_expression "*(uint *)((int)data + 100)" * (cast_expression "(uint *)((int)data + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)data + 100)" ( (binary_expression "(int)data + 100" (cast_expression "(int)data" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar4 = ~uVar4 & uVar1;\n  }" { (expression_statement "uVar4 = ~uVar4 & uVar1;" (assignment_expression "uVar4 = ~uVar4 & uVar1" identifier = (binary_expression "~uVar4 & uVar1" (unary_expression "~uVar4" ~ identifier) & identifier)) ;) }) (else_clause "else {\n    uVar4 = uVar4 | uVar1;\n  }" else (compound_statement "{\n    uVar4 = uVar4 | uVar1;\n  }" { (expression_statement "uVar4 = uVar4 | uVar1;" (assignment_expression "uVar4 = uVar4 | uVar1" identifier = (binary_expression "uVar4 | uVar1" identifier | identifier)) ;) }))) (if_statement "if (uVar4 == uVar1) {\n    return;\n  }" if (parenthesized_expression "(uVar4 == uVar1)" ( (binary_expression "uVar4 == uVar1" identifier == identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "*(uint *)((int)data + 100) = uVar4;" (assignment_expression "*(uint *)((int)data + 100) = uVar4" (pointer_expression "*(uint *)((int)data + 100)" * (cast_expression "(uint *)((int)data + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)data + 100)" ( (binary_expression "(int)data + 100" (cast_expression "(int)data" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "unifontsel_setup_familylist((unifontsel_internal *)data);" (call_expression "unifontsel_setup_familylist((unifontsel_internal *)data)" identifier (argument_list "((unifontsel_internal *)data)" ( (cast_expression "(unifontsel_internal *)data" ( (type_descriptor "unifontsel_internal *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00053fc0(undefined4 param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(param_1);\n  uVar3 = g_type_check_instance_cast(param_1,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)(param_2 + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)(param_2 + 100) = uVar4;\n  FUN_00053dc0();\n  return;\n}\n\n" (function_definition "void FUN_00053fc0(undefined4 param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(param_1);\n  uVar3 = g_type_check_instance_cast(param_1,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)(param_2 + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)(param_2 + 100) = uVar4;\n  FUN_00053dc0();\n  return;\n}" primitive_type (function_declarator "FUN_00053fc0(undefined4 param_1,int param_2)" identifier (parameter_list "(undefined4 param_1,int param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(param_1);\n  uVar3 = g_type_check_instance_cast(param_1,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)(param_2 + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)(param_2 + 100) = uVar4;\n  FUN_00053dc0();\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (expression_statement "iVar2 = gtk_toggle_button_get_active(param_1);" (assignment_expression "iVar2 = gtk_toggle_button_get_active(param_1)" identifier = (call_expression "gtk_toggle_button_get_active(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "uVar3 = g_type_check_instance_cast(param_1,0x50);" (assignment_expression "uVar3 = g_type_check_instance_cast(param_1,0x50)" identifier = (call_expression "g_type_check_instance_cast(param_1,0x50)" identifier (argument_list "(param_1,0x50)" ( identifier , number_literal )))) ;) (expression_statement "uVar4 = g_object_get_data(uVar3,"user-data");" (assignment_expression "uVar4 = g_object_get_data(uVar3,"user-data")" identifier = (call_expression "g_object_get_data(uVar3,"user-data")" identifier (argument_list "(uVar3,"user-data")" ( identifier , (string_literal ""user-data"" " string_content ") )))) ;) (expression_statement "uVar1 = *(uint *)(param_2 + 100);" (assignment_expression "uVar1 = *(uint *)(param_2 + 100)" identifier = (pointer_expression "*(uint *)(param_2 + 100)" * (cast_expression "(uint *)(param_2 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar4 = ~uVar4 & uVar1;\n  }" { (expression_statement "uVar4 = ~uVar4 & uVar1;" (assignment_expression "uVar4 = ~uVar4 & uVar1" identifier = (binary_expression "~uVar4 & uVar1" (unary_expression "~uVar4" ~ identifier) & identifier)) ;) }) (else_clause "else {\n    uVar4 = uVar4 | uVar1;\n  }" else (compound_statement "{\n    uVar4 = uVar4 | uVar1;\n  }" { (expression_statement "uVar4 = uVar4 | uVar1;" (assignment_expression "uVar4 = uVar4 | uVar1" identifier = (binary_expression "uVar4 | uVar1" identifier | identifier)) ;) }))) (if_statement "if (uVar4 == uVar1) {\n    return;\n  }" if (parenthesized_expression "(uVar4 == uVar1)" ( (binary_expression "uVar4 == uVar1" identifier == identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "*(uint *)(param_2 + 100) = uVar4;" (assignment_expression "*(uint *)(param_2 + 100) = uVar4" (pointer_expression "*(uint *)(param_2 + 100)" * (cast_expression "(uint *)(param_2 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 100)" ( (binary_expression "param_2 + 100" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00053dc0();" (call_expression "FUN_00053dc0()" identifier (argument_list "()" ( ))) ;) (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression ~ IDENT) & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00053fc0(undefined4 param_1,int param_2)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(param_1);\n  uVar3 = g_type_check_instance_cast(param_1,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)(param_2 + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)(param_2 + 100) = uVar4;\n  FUN_00053dc0();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00053fc0(undefined4 param_1,int param_2)" (identifier "FUN_00053fc0") (parameter_list "(undefined4 param_1,int param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  \n  iVar2 = gtk_toggle_button_get_active(param_1);\n  uVar3 = g_type_check_instance_cast(param_1,0x50);\n  uVar4 = g_object_get_data(uVar3,"user-data");\n  uVar1 = *(uint *)(param_2 + 100);\n  if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }\n  if (uVar4 == uVar1) {\n    return;\n  }\n  *(uint *)(param_2 + 100) = uVar4;\n  FUN_00053dc0();\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (expression_statement "iVar2 = gtk_toggle_button_get_active(param_1);" (assignment_expression "iVar2 = gtk_toggle_button_get_active(param_1)" (identifier "iVar2") (= "=") (call_expression "gtk_toggle_button_get_active(param_1)" (identifier "gtk_toggle_button_get_active") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar3 = g_type_check_instance_cast(param_1,0x50);" (assignment_expression "uVar3 = g_type_check_instance_cast(param_1,0x50)" (identifier "uVar3") (= "=") (call_expression "g_type_check_instance_cast(param_1,0x50)" (identifier "g_type_check_instance_cast") (argument_list "(param_1,0x50)" (( "(") (identifier "param_1") (, ",") (number_literal "0x50") () ")")))) (; ";")) (expression_statement "uVar4 = g_object_get_data(uVar3,"user-data");" (assignment_expression "uVar4 = g_object_get_data(uVar3,"user-data")" (identifier "uVar4") (= "=") (call_expression "g_object_get_data(uVar3,"user-data")" (identifier "g_object_get_data") (argument_list "(uVar3,"user-data")" (( "(") (identifier "uVar3") (, ",") (string_literal ""user-data"" (" """) (string_content "user-data") (" """)) () ")")))) (; ";")) (expression_statement "uVar1 = *(uint *)(param_2 + 100);" (assignment_expression "uVar1 = *(uint *)(param_2 + 100)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(param_2 + 100)" (* "*") (cast_expression "(uint *)(param_2 + 100)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 100)" (( "(") (binary_expression "param_2 + 100" (identifier "param_2") (+ "+") (number_literal "100")) () ")"))))) (; ";")) (if_statement "if (iVar2 == 0) {\n    uVar4 = ~uVar4 & uVar1;\n  }\n  else {\n    uVar4 = uVar4 | uVar1;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar4 = ~uVar4 & uVar1;\n  }" ({ "{") (expression_statement "uVar4 = ~uVar4 & uVar1;" (assignment_expression "uVar4 = ~uVar4 & uVar1" (identifier "uVar4") (= "=") (binary_expression "~uVar4 & uVar1" (unary_expression "~uVar4" (~ "~") (identifier "uVar4")) (& "&") (identifier "uVar1"))) (; ";")) (} "}")) (else_clause "else {\n    uVar4 = uVar4 | uVar1;\n  }" (else "else") (compound_statement "{\n    uVar4 = uVar4 | uVar1;\n  }" ({ "{") (expression_statement "uVar4 = uVar4 | uVar1;" (assignment_expression "uVar4 = uVar4 | uVar1" (identifier "uVar4") (= "=") (binary_expression "uVar4 | uVar1" (identifier "uVar4") (| "|") (identifier "uVar1"))) (; ";")) (} "}")))) (if_statement "if (uVar4 == uVar1) {\n    return;\n  }" (if "if") (parenthesized_expression "(uVar4 == uVar1)" (( "(") (binary_expression "uVar4 == uVar1" (identifier "uVar4") (== "==") (identifier "uVar1")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*(uint *)(param_2 + 100) = uVar4;" (assignment_expression "*(uint *)(param_2 + 100) = uVar4" (pointer_expression "*(uint *)(param_2 + 100)" (* "*") (cast_expression "(uint *)(param_2 + 100)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 100)" (( "(") (binary_expression "param_2 + 100" (identifier "param_2") (+ "+") (number_literal "100")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FUN_00053dc0();" (call_expression "FUN_00053dc0()" (identifier "FUN_00053dc0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void function_1(type_1 *tb,type_2 data)

{
  type_3 var_5;
  int var_4;
  type_4 uVar3;
  type_3 var_6;
  
  var_4 = var_1(tb);
  uVar3 = var_2(tb,0x50);
  var_6 = var_3(uVar3,"user-data");
  var_5 = *(type_3 *)((int)data + 100);
  if (var_4 == 0) {
    var_6 = ~var_6 & var_5;
  }
  else {
    var_6 = var_6 | var_5;
  }
  if (var_6 == var_5) {
    return;
  }
  *(type_3 *)((int)data + 100) = var_6;
  var_7((type_5 *)data);
  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: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (identifier)) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

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

void MASKED(undefined4 param_1,int param_2)

{
  uint uVar1;
  int iVar2;
  undefined4 uVar3;
  uint uVar4;
  
  iVar2 = gtk_toggle_button_get_active(param_1);
  uVar3 = g_type_check_instance_cast(param_1,0x50);
  uVar4 = g_object_get_data(uVar3,"user-data");
  uVar1 = *(uint *)(param_2 + 100);
  if (iVar2 == 0) {
    uVar4 = ~uVar4 & uVar1;
  }
  else {
    uVar4 = uVar4 | uVar1;
  }
  if (uVar4 == uVar1) {
    return;
  }
  *(uint *)(param_2 + 100) = uVar4;
  FUN_00053dc0();
  return;
}

