{"name": "storeDouble", "code": "unsigned __int64 __fastcall storeDouble ( unsigned int @@a1@@ , unsigned int @@a2@@ ) { int @@v2@@ ; __int64 @@v4@@ ; _DWORD * @@v5@@ ; _DWORD * @@v6@@ ; unsigned __int64 @@v7@@ ; @@v7@@ = __readfsqword ( Number ) ; @@v2@@ = * ( unsigned __int8 * ) ( qemufpa + @@a1@@ + Number L ) ; if ( @@v2@@ == Number ) { @@v4@@ = float32_to_float64 ( * ( unsigned int * ) ( Number L * @@a1@@ + qemufpa ) , qemufpa + Number L ) ; } else if ( @@v2@@ == Number ) { @@v4@@ = floatx80_to_float64 ( * ( _QWORD * ) ( Number L * @@a1@@ + qemufpa ) , * ( _QWORD * ) ( Number L * @@a1@@ + qemufpa + Number ) , qemufpa + Number L ) ; } else { @@v4@@ = * ( _QWORD * ) ( Number L * @@a1@@ + qemufpa ) ; } @@v5@@ = ( _DWORD * ) lock_user ( Number , @@a2@@ , Number ) ; if ( @@v5@@ ) { * @@v5@@ = tswap32 ( HIDWORD ( @@v4@@ ) ) ; unlock_user ( @@v5@@ , @@a2@@ , Number L ) ; } @@v6@@ = ( _DWORD * ) lock_user ( Number , @@a2@@ + Number , Number ) ; if ( @@v6@@ ) { * @@v6@@ = tswap32 ( @@v4@@ ) ; unlock_user ( @@v6@@ , @@a2@@ + Number , Number L ) ; } return __readfsqword ( Number ) ^ @@v7@@ ; }", "source": [{"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": "v2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s24"}, {"n": "v6", "t": {"T": 3, "t": "_DWORD"}, "location": "s32"}, {"n": "v5", "t": {"T": 3, "t": "_DWORD"}, "location": "s48"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}]}
{"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": "PerformSTF", "code": "__int64 __fastcall PerformSTF ( unsigned int @@a1@@ ) { unsigned int @@v1@@ ; unsigned int @@v3@@ ; unsigned int @@v4@@ ; int @@v5@@ ; unsigned int @@v6@@ ; _BOOL4 @@v7@@ ; @@v6@@ = Number ; @@v7@@ = ( @@a1@@ & Number ) != Number ; SetRoundingMode ( Number L ) ; @@v3@@ = readRegister ( HIWORD ( @@a1@@ ) & Number ) ; if ( ( HIWORD ( @@a1@@ ) & Number ) == Number ) { @@v3@@ += Number ; @@v7@@ = Number ; } if ( ( @@a1@@ & Number ) != Number ) @@v5@@ = Number * ( unsigned __int8 ) @@a1@@ + @@v3@@ ; else @@v5@@ = @@v3@@ - Number * ( unsigned __int8 ) @@a1@@ ; if ( ( @@a1@@ & Number ) != Number ) @@v4@@ = @@v5@@ ; else @@v4@@ = @@v3@@ ; @@v1@@ = @@a1@@ & Number ; if ( ( @@a1@@ & Number ) == Number ) { storeExtended ( ( @@a1@@ >> Number ) & Number , @@v4@@ ) ; } else { if ( @@v1@@ > Number ) goto LABEL_17 ; if ( ! @@v1@@ ) { storeSingle ( ( @@a1@@ >> Number ) & Number , @@v4@@ ) ; goto LABEL_18 ; } if ( @@v1@@ == Number ) storeDouble ( ( @@a1@@ >> Number ) & Number , @@v4@@ ) ; else LABEL_17 : @@v6@@ = Number ; } LABEL_18 : if ( @@v7@@ ) writeRegister ( HIWORD ( @@a1@@ ) & Number , @@v5@@ ) ; return @@v6@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "v1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "_BOOL4", "s": 4}, "location": "s12"}, {"n": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s16"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s24"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}]}