{"name": "get_bits_long", "code": "__int64 __fastcall get_bits_long ( __int64 @@a1@@ , int @@a2@@ ) { unsigned int @@v3@@ ; if ( ! @@a2@@ ) return Number L ; if ( @@a2@@ <= Number ) return get_bits ( @@a1@@ , @@a2@@ ) ; @@v3@@ = ( unsigned int ) get_bits ( @@a1@@ , Number ) << ( @@a2@@ - Number ) ; return @@v3@@ | ( unsigned int ) get_bits ( @@a1@@ , @@a2@@ - Number ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]}
{"name": "get_bits", "code": "__int64 __fastcall get_bits ( __int64 @@a1@@ , int @@a2@@ ) { unsigned int @@v2@@ ; unsigned int @@v3@@ ; unsigned int @@v5@@ ; unsigned int @@v6@@ ; unsigned int @@v7@@ ; @@v7@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v6@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v5@@ = * ( _DWORD * ) ( ( @@v7@@ >> Number ) + * ( _QWORD * ) @@a1@@ ) ; @@v2@@ = NEG_USR32 ( ( HIBYTE ( @@v5@@ ) | ( unsigned __int16 ) ( HIWORD ( @@v5@@ ) << Number ) | ( ( ( unsigned __int16 ) ( ( _WORD ) @@v5@@ << Number ) | BYTE1 ( @@v5@@ ) ) << Number ) ) << ( @@v7@@ & Number ) , @@a2@@ ) ; @@v3@@ = @@a2@@ + @@v7@@ ; if ( @@v6@@ <= @@a2@@ + @@v7@@ ) @@v3@@ = @@v6@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v3@@ ; return @@v2@@ ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r32"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "unsigned 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": "s24"}]} {"name": "show_bits_long", "code": "__int64 __fastcall show_bits_long ( __int64 * @@a1@@ , int @@a2@@ ) { __int64 v3 ; __int64 v4 ; __int64 @@v5@@ [ Number ] ; if ( @@a2@@ <= Number ) return show_bits ( ( __int64 ) @@a1@@ , @@a2@@ ) ; v3 = @@a1@@ [ Number ] ; @@v5@@ [ Number ] = * @@a1@@ ; @@v5@@ [ Number ] = v3 ; v4 = @@a1@@ [ Number ] ; @@v5@@ [ Number ] = @@a1@@ [ Number ] ; @@v5@@ [ Number ] = v4 ; return get_bits_long ( ( __int64 ) @@v5@@ , @@a2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v5", "t": {"T": 2, "n": 4, "s": 8, "t": "__int64"}, "location": "s32"}]}