{"name": "_ZL21quizpun2_protection_wP13address_spacejh", "code": "__int64 __fastcall quizpun2_protection_w ( address_space * @@a1@@ , unsigned int @@a2@@ , unsigned __int8 @@a3@@ ) { __int64 v3 ; running_machine * v4 ; memory_region * v5 ; __int64 result ; _DWORD * @@v8@@ ; v3 = address_space machine ( @@a1@@ ) ; @@v8@@ = ( _DWORD * ) ( running_machine driver_data < quizpun2_state > ( v3 ) + Number ) ; if ( * @@v8@@ == Number ) { v4 = ( running_machine * ) address_space machine ( @@a1@@ ) ; v5 = ( memory_region * ) running_machine region ( v4 , String ) ; * ( _BYTE * ) ( memory_region base ( v5 ) + ( int ) @@v8@@ [ Number ] ) = @@a3@@ ; result = ++ @@v8@@ [ Number ] & Number ; if ( ! ( _DWORD ) result ) { result = ( __int64 ) @@v8@@ ; * @@v8@@ = Number ; } } else if ( @@v8@@ [ Number ] ) { @@v8@@ [ Number ] = @@a3@@ ; @@v8@@ [ Number ] = Number ; if ( ( @@v8@@ [ Number ] & Number ) != Number ) { if ( @@v8@@ [ Number ] ) { if ( @@v8@@ [ Number ] == Number ) { * @@v8@@ = Number ; result = ( __int64 ) @@v8@@ ; @@v8@@ [ Number ] = Number ; } else { result = log_protection ( @@a1@@ , String ) ; } } else { * @@v8@@ = Number ; result = ( __int64 ) @@v8@@ ; @@v8@@ [ Number ] = Number * ( @@v8@@ [ Number ] & Number ) ; } } else if ( ( int ) @@v8@@ [ Number ] < Number || ( int ) @@v8@@ [ Number ] > Number ) { if ( ( int ) @@v8@@ [ Number ] <= Number || ( int ) @@v8@@ [ Number ] > Number ) { * @@v8@@ = Number ; result = log_protection ( @@a1@@ , String ) ; } else { * @@v8@@ = Number ; result = ( __int64 ) @@v8@@ ; @@v8@@ [ Number ] = Number * ( @@v8@@ [ Number ] & Number ) ; } } else { * @@v8@@ = Number ; result = ( __int64 ) @@v8@@ ; @@v8@@ [ Number ] = Number * ( @@v8@@ [ Number ] & Number ) ; } } else { @@v8@@ [ Number ] = @@a3@@ ; result = ( __int64 ) @@v8@@ ; @@v8@@ [ Number ] = Number ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "address_space"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "v8", "t": {"T": 3, "t": "_DWORD"}, "location": "s16"}]}