{"name": "storeMultiple", "code": "unsigned __int64 __fastcall storeMultiple ( unsigned int @@a1@@ , unsigned int @@a2@@ ) { unsigned int * @@v2@@ ; unsigned int @@v3@@ ; _DWORD * @@v5@@ ; _DWORD * @@v6@@ ; _DWORD * @@v7@@ ; _DWORD * @@v8@@ ; _DWORD * @@v9@@ ; _DWORD * @@v10@@ ; unsigned __int64 @@v11@@ ; @@v11@@ = __readfsqword ( Number ) ; @@v2@@ = ( unsigned int * ) ( Number L * @@a1@@ + qemufpa ) ; @@v3@@ = * ( unsigned __int8 * ) ( qemufpa + @@a1@@ + Number L ) ; if ( @@v3@@ > Number ) { if ( @@v3@@ == Number ) { @@v9@@ = ( _DWORD * ) lock_user ( Number , @@a2@@ + Number , Number ) ; if ( @@v9@@ ) { * @@v9@@ = tswap32 ( @@v2@@ [ Number ] ) ; unlock_user ( @@v9@@ , @@a2@@ + Number , Number L ) ; } @@v8@@ = ( _DWORD * ) lock_user ( Number , @@a2@@ + Number , Number ) ; if ( @@v8@@ ) { * @@v8@@ = tswap32 ( @@v2@@ [ Number ] ) ; unlock_user ( @@v8@@ , @@a2@@ + Number , Number L ) ; } @@v7@@ = ( _DWORD * ) lock_user ( Number , @@a2@@ , Number ) ; if ( @@v7@@ ) { * @@v7@@ = tswap32 ( * @@v2@@ & Number | Number ) ; unlock_user ( @@v7@@ , @@a2@@ , Number L ) ; } } } else if ( * ( _BYTE * ) ( qemufpa + @@a1@@ + Number L ) ) { @@v6@@ = ( _DWORD * ) lock_user ( Number , @@a2@@ + Number , Number ) ; if ( @@v6@@ ) { * @@v6@@ = tswap32 ( * @@v2@@ ) ; unlock_user ( @@v6@@ , @@a2@@ + Number , Number L ) ; } @@v5@@ = ( _DWORD * ) lock_user ( Number , @@a2@@ + Number , Number ) ; if ( @@v5@@ ) { * @@v5@@ = tswap32 ( @@v2@@ [ Number ] ) ; unlock_user ( @@v5@@ , @@a2@@ + Number , Number L ) ; } @@v10@@ = ( _DWORD * ) lock_user ( Number , @@a2@@ , Number ) ; if ( @@v10@@ ) { * @@v10@@ = tswap32 ( @@v3@@ << Number ) ; unlock_user ( @@v10@@ , @@a2@@ , Number L ) ; } } return __readfsqword ( Number ) ^ @@v11@@ ; }", "source": [{"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r104"}, {"n": "v2", "t": {"T": 3, "t": "unsigned int"}, "location": "r32"}, {"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "v11", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s24"}, {"n": "v10", "t": {"T": 3, "t": "_DWORD"}, "location": "s32"}, {"n": "v9", "t": {"T": 3, "t": "_DWORD"}, "location": "s48"}, {"n": "v8", "t": {"T": 3, "t": "_DWORD"}, "location": "s56"}, {"n": "v7", "t": {"T": 3, "t": "_DWORD"}, "location": "s64"}, {"n": "v6", "t": {"T": 3, "t": "_DWORD"}, "location": "s72"}, {"n": "v5", "t": {"T": 3, "t": "_DWORD"}, "location": "s80"}]}
{"name": "tswap32", "code": "__int64 __fastcall tswap32 ( unsigned int @@a1@@ ) { return bswap32 ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}]} {"name": "lock_user", "code": "__int64 __fastcall lock_user ( int @@a1@@ , unsigned int @@a2@@ , unsigned int @@a3@@ ) { __int64 @@result@@ ; if ( access_ok ( @@a1@@ , @@a2@@ , @@a3@@ ) ) @@result@@ = @@a2@@ + guest_base ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "PerformSFM", "code": "__int64 __fastcall PerformSFM ( unsigned int @@a1@@ ) { int @@i@@ ; int @@v3@@ ; _BOOL4 @@v4@@ ; unsigned int @@v5@@ ; unsigned int @@v6@@ ; int @@v7@@ ; @@v4@@ = ( @@a1@@ & Number ) != Number ; @@v5@@ = readRegister ( HIWORD ( @@a1@@ ) & Number ) ; if ( ( HIWORD ( @@a1@@ ) & Number ) == Number ) { @@v5@@ += Number ; @@v4@@ = Number ; } if ( ( @@a1@@ & Number ) != Number ) @@v7@@ = Number * ( unsigned __int8 ) @@a1@@ + @@v5@@ ; else @@v7@@ = @@v5@@ - Number * ( unsigned __int8 ) @@a1@@ ; if ( ( @@a1@@ & Number ) != Number ) @@v6@@ = @@v7@@ ; else @@v6@@ = @@v5@@ ; @@v3@@ = ( @@a1@@ >> Number ) & Number ; for ( @@i@@ = getRegisterCount ( @@a1@@ ) ; @@i@@ ; -- @@i@@ ) { storeMultiple ( @@v3@@ , @@v6@@ ) ; @@v6@@ += Number ; if ( ++ @@v3@@ == Number ) @@v3@@ = Number ; } if ( @@v4@@ ) writeRegister ( HIWORD ( @@a1@@ ) & Number , @@v7@@ ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s16"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v4", "t": {"T": 1, "n": "_BOOL4", "s": 4}, "location": "s24"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}]}