{"name": "__gmpz_fdiv_qr_ui", "code": "__int64 __fastcall _gmpz_fdiv_qr_ui ( int * @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ ) { __int64 result ; _QWORD * v5 ; int v6 ; _QWORD * @@v9@@ ; signed __int64 @@v10@@ ; __int64 @@v11@@ ; _QWORD * @@v12@@ ; __int64 @@v13@@ ; if ( ! @@a4@@ ) _gmp_divide_by_zero ( ) ; @@v11@@ = * ( int * ) ( @@a3@@ + Number ) ; if ( * ( _DWORD * ) ( @@a3@@ + Number ) ) { @@v10@@ = abs32 ( * ( _DWORD * ) ( @@a3@@ + Number ) ) ; if ( @@v10@@ > * @@a1@@ ) _gmpz_realloc ( @@a1@@ , @@v10@@ ) ; @@v9@@ = ( _QWORD * ) * ( ( _QWORD * ) @@a1@@ + Number ) ; @@v13@@ = _gmpn_divrem_1 ( @@v9@@ , Number L , * ( _QWORD * ) ( @@a3@@ + Number ) , @@v10@@ , @@a4@@ ) ; if ( @@v13@@ ) { if ( @@v11@@ < Number ) { @@v12@@ = @@v9@@ ; do { v5 = @@v12@@ ++ ; ++ * v5 ; } while ( ! * v5 ) ; @@v13@@ = @@a4@@ - @@v13@@ ; } * * ( _QWORD * * ) ( @@a2@@ + Number ) = @@v13@@ ; * ( _DWORD * ) ( @@a2@@ + Number ) = @@v13@@ != Number ; } else { * ( _DWORD * ) ( @@a2@@ + Number ) = Number ; } if ( @@v11@@ >= Number ) v6 = ( __PAIR128__ ( @@v10@@ , @@v9@@ [ @@v10@@ - Number ] ) - Number ) >> Number ; else v6 = - ( int ) ( ( __PAIR128__ ( @@v10@@ , @@v9@@ [ @@v10@@ - Number ] ) - Number ) >> Number ) ; @@a1@@ [ Number ] = v6 ; result = @@v13@@ ; } else { @@a1@@ [ Number ] = Number ; * ( _DWORD * ) ( @@a2@@ + Number ) = Number ; result = Number L ; } return result ; }", "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": 3, "t": "int"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v12", "t": {"T": 3, "t": "_QWORD"}, "location": "s16"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v10", "t": {"T": 1, "n": "signed __int64", "s": 8}, "location": "s32"}, {"n": "v9", "t": {"T": 3, "t": "_QWORD"}, "location": "s40"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}