{"name": "find_headers_search", "code": "__int64 __fastcall find_headers_search ( _QWORD * @@a1@@ , __int64 @@a2@@ , int @@a3@@ , int @@a4@@ ) { unsigned __int16 @@v7@@ ; int @@v8@@ ; int @@v9@@ ; int @@j@@ ; int @@i@@ ; unsigned int @@v12@@ ; @@v12@@ = Number ; @@v9@@ = ( @@a3@@ - Number ) % Number ; for ( @@i@@ = Number ; @@i@@ < @@v9@@ ; ++ @@i@@ ) { if ( ( ( HIBYTE ( * ( _WORD * ) ( @@i@@ + @@a2@@ ) ) | ( unsigned __int16 ) ( * ( _WORD * ) ( @@i@@ + @@a2@@ ) << Number ) ) & Number ) == Number ) @@v12@@ = find_headers_search_validate ( @@a1@@ , @@i@@ + @@a4@@ ) ; } while ( @@i@@ < @@a3@@ - Number ) { @@v8@@ = ( ( ( unsigned __int16 ) ( ( unsigned __int16 ) * ( _DWORD * ) ( @@i@@ + @@a2@@ ) << Number ) | ( unsigned __int8 ) BYTE1 ( * ( _DWORD * ) ( @@i@@ + @@a2@@ ) ) ) << Number ) | HIBYTE ( * ( _DWORD * ) ( @@i@@ + @@a2@@ ) ) | ( unsigned __int16 ) ( HIWORD ( * ( _DWORD * ) ( @@i@@ + @@a2@@ ) ) << Number ) ; if ( ( @@v8@@ & ~ ( @@v8@@ + Number ) & Number ) != Number ) { for ( @@j@@ = Number ; @@j@@ <= Number ; ++ @@j@@ ) { @@v7@@ = * ( _WORD * ) ( @@j@@ + ( __int64 ) @@i@@ + @@a2@@ ) ; if ( ( ( HIBYTE ( @@v7@@ ) | ( unsigned __int16 ) ( @@v7@@ << Number ) ) & Number ) == Number ) @@v12@@ = find_headers_search_validate ( @@a1@@ , @@j@@ + @@i@@ + @@a4@@ ) ; } } @@i@@ += Number ; } return @@v12@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v12", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v7", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s38"}]}