{"name": "bswap32", "code": "__int64 __fastcall bswap32 ( unsigned int @@a1@@ ) { return _bswap_32 ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}]}
{"name": "lan9118_receive", "code": "__int64 __fastcall lan9118_receive ( __int64 @@a1@@ , _BYTE * @@a2@@ , unsigned __int64 @@a3@@ ) { unsigned int @@v4@@ ; int @@i@@ ; int v7 ; int v8 ; unsigned int @@v9@@ ; int @@v10@@ ; _BOOL4 @@v11@@ ; int @@v12@@ ; unsigned int @@v13@@ ; _DWORD * @@v14@@ ; @@v14@@ = * ( _DWORD * * ) ( @@a1@@ + Number ) ; if ( ( @@v14@@ [ Number ] & Number ) == Number ) return Number ; if ( @@a3@@ > Number || @@a3@@ <= Number ) return Number ; if ( @@v14@@ [ Number ] == @@v14@@ [ Number ] ) return Number ; @@v11@@ = lan9118_filter ( @@v14@@ , @@a2@@ ) ; if ( ! @@v11@@ && ( int ) @@v14@@ [ Number ] >= Number ) return @@a3@@ ; v7 = BYTE1 ( @@v14@@ [ Number ] ) & Number ; @@v12@@ = ( ( ( BYTE1 ( @@v14@@ [ Number ] ) & Number ) + @@a3@@ + Number ) >> Number ) + Number ; if ( @@v12@@ > @@v14@@ [ Number ] - @@v14@@ [ Number ] ) return Number ; @@v9@@ = Number ; @@v4@@ = crc32 ( Number , @@a2@@ , ( unsigned int ) @@a3@@ ) ; @@v13@@ = bswap32 ( @@v4@@ ) ; for ( @@i@@ = Number ; @@a3@@ > @@i@@ ; ++ @@i@@ ) { @@v9@@ = ( @@v9@@ >> Number ) | ( ( unsigned __int8 ) @@a2@@ [ @@i@@ ] << Number ) ; if ( ++ v7 == Number ) { v7 = Number ; rx_fifo_push ( @@v14@@ , @@v9@@ ) ; @@v9@@ = Number ; } } if ( v7 ) { rx_fifo_push ( @@v14@@ , ( @@v13@@ << ( Number * v7 ) ) | ( @@v9@@ >> ( Number * ( Number - v7 ) ) ) ) ; rx_fifo_push ( @@v14@@ , @@v13@@ >> ( Number * ( Number - v7 ) ) ) ; } else { rx_fifo_push ( @@v14@@ , @@v13@@ ) ; } v8 = @@v14@@ [ Number ] + @@v14@@ [ Number ] ; if ( v8 >= @@v14@@ [ Number ] ) v8 -= @@v14@@ [ Number ] ; @@v14@@ [ @@v14@@ [ Number ] + Number ] = @@v12@@ ; @@v14@@ [ Number ] = ( ( unsigned __int16 ) @@v14@@ [ Number ] + Number ) & Number ; ++ @@v14@@ [ Number ] ; @@v10@@ = ( ( _DWORD ) @@a3@@ + Number ) << Number ; if ( * @@a2@@ == Number && @@a2@@ [ Number ] == Number && @@a2@@ [ Number ] == Number && @@a2@@ [ Number ] == Number && @@a2@@ [ Number ] == Number && @@a2@@ [ Number ] == Number ) { @@v10@@ |= Number ; } else if ( ( * @@a2@@ & Number ) != Number ) { @@v10@@ |= Number ; } if ( ! @@v11@@ ) @@v10@@ |= Number ; @@v14@@ [ v8 + Number ] = @@v10@@ ; if ( @@v14@@ [ Number ] > ( unsigned int ) ( unsigned __int8 ) @@v14@@ [ Number ] ) @@v14@@ [ Number ] |= Number ; lan9118_update ( ( __int64 ) @@v14@@ ) ; return @@a3@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_BYTE"}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r8"}, {"n": "v14", "t": {"T": 3, "t": "_DWORD"}, "location": "s24"}, {"n": "v13", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s36"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v11", "t": {"T": 1, "n": "_BOOL4", "s": 4}, "location": "s48"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s52"}, {"n": "v9", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s56"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s64"}]}