{"name": "get_max_p_order", "code": "__int64 __fastcall get_max_p_order ( signed int @@a1@@ , int @@a2@@ , int @@a3@@ ) { unsigned int v3 ; signed int v4 ; unsigned int v5 ; signed int v6 ; signed int @@v8@@ ; _BitScanReverse ( & v3 , @@a2@@ ^ ( @@a2@@ - Number ) | Number ) ; v4 = Number - ( v3 ^ Number ) ; if ( @@a1@@ <= v4 ) v4 = @@a1@@ ; @@v8@@ = v4 ; if ( @@a3@@ > Number ) { _BitScanReverse ( & v5 , ( @@a2@@ / @@a3@@ ) | Number ) ; v6 = Number - ( v5 ^ Number ) ; if ( @@v8@@ <= v6 ) v6 = @@v8@@ ; @@v8@@ = v6 ; } return ( unsigned int ) @@v8@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "signed int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v8", "t": {"T": 1, "n": "signed int", "s": 4}, "location": "s4"}]}
{"name": "find_subframe_rice_params", "code": "__int64 __fastcall find_subframe_rice_params ( int * @@a1@@ , __int64 @@a2@@ , int @@a3@@ ) { int @@v5@@ ; int @@v6@@ ; int @@v7@@ ; @@v6@@ = get_max_p_order ( @@a1@@ [ Number ] , @@a1@@ [ Number ] , @@a3@@ ) ; @@v5@@ = get_max_p_order ( @@a1@@ [ Number ] , @@a1@@ [ Number ] , @@a3@@ ) ; @@v7@@ = @@a3@@ * * ( _DWORD * ) ( @@a2@@ + Number ) + Number ; if ( * ( _DWORD * ) @@a2@@ == Number ) @@v7@@ += @@a3@@ * @@a1@@ [ Number ] + Number ; return ( unsigned int ) calc_rice_params ( ( _QWORD * ) ( @@a2@@ + Number ) , @@v6@@ , @@v5@@ , @@a2@@ + Number , @@a1@@ [ Number ] , @@a3@@ ) + @@v7@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "int"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}]}