{"name": "kbd_update_aux_irq", "code": "__int64 __fastcall kbd_update_aux_irq ( __int64 @@a1@@ , int @@a2@@ ) { if ( @@a2@@ ) * ( _BYTE * ) ( @@a1@@ + Number ) |= Number ; else * ( _BYTE * ) ( @@a1@@ + Number ) &= Number ; return kbd_update_irq ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}]}
{"name": "kbd_update_irq", "code": "__int64 __fastcall kbd_update_irq ( __int64 @@a1@@ ) { unsigned int @@v2@@ ; unsigned int @@v3@@ ; @@v2@@ = Number ; @@v3@@ = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) &= Number ; * ( _BYTE * ) ( @@a1@@ + Number ) &= Number ; if ( * ( _BYTE * ) ( @@a1@@ + Number ) ) { * ( _BYTE * ) ( @@a1@@ + Number ) |= Number ; * ( _BYTE * ) ( @@a1@@ + Number ) |= Number ; if ( * ( _BYTE * ) ( @@a1@@ + Number ) == Number ) { * ( _BYTE * ) ( @@a1@@ + Number ) |= Number ; * ( _BYTE * ) ( @@a1@@ + Number ) |= Number ; if ( ( * ( _BYTE * ) ( @@a1@@ + Number ) & Number ) != Number ) @@v3@@ = Number ; } else if ( ( * ( _BYTE * ) ( @@a1@@ + Number ) & Number ) != Number && ( * ( _BYTE * ) ( @@a1@@ + Number ) & Number ) == Number ) { @@v2@@ = Number ; } } qemu_set_irq ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v2@@ ) ; return qemu_set_irq ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v3@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s8"}]} {"name": "i8042_mm_init", "code": "__int64 __fastcall i8042_mm_init ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ ) { _QWORD * @@v9@@ ; @@v9@@ = ( _QWORD * ) g_malloc0 ( Number L ) ; @@v9@@ [ Number ] = @@a1@@ ; @@v9@@ [ Number ] = @@a2@@ ; @@v9@@ [ Number ] = @@a5@@ ; vmstate_register ( Number L , Number , ( __int64 ) & vmstate_kbd , ( __int64 ) @@v9@@ ) ; memory_region_init_io ( @@a3@@ , Number L , & i8042_mmio_ops , @@v9@@ , String , @@a4@@ ) ; @@v9@@ [ Number ] = ps2_kbd_init ( kbd_update_kbd_irq , @@v9@@ ) ; @@v9@@ [ Number ] = ps2_mouse_init ( kbd_update_aux_irq , @@v9@@ ) ; return qemu_register_reset ( kbd_reset , @@v9@@ ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "v9", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "i8042_realizefn", "code": "__int64 __fastcall i8042_realizefn ( __int64 @@a1@@ ) { __int64 @@v2@@ ; __int64 @@v3@@ ; @@v2@@ = object_dynamic_cast_assert ( @@a1@@ , String , String , Number L , String ) ; @@v3@@ = object_dynamic_cast_assert ( @@a1@@ , String , String , Number L , String ) ; isa_init_irq ( @@v2@@ , @@v3@@ + Number , Number L ) ; isa_init_irq ( @@v2@@ , @@v3@@ + Number , Number L ) ; isa_register_ioport ( @@v2@@ , @@v3@@ + Number , Number L ) ; isa_register_ioport ( @@v2@@ , @@v3@@ + Number , Number L ) ; * ( _QWORD * ) ( @@v3@@ + Number ) = ps2_kbd_init ( kbd_update_kbd_irq , @@v3@@ + Number ) ; * ( _QWORD * ) ( @@v3@@ + Number ) = ps2_mouse_init ( kbd_update_aux_irq , @@v3@@ + Number ) ; return qemu_register_reset ( kbd_reset , @@v3@@ + Number ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}]}