{"name": "per_scan_setup", "code": "__int64 __fastcall per_scan_setup ( __int64 @@a1@@ ) { int v1 ; int v2 ; __int64 result ; int @@v4@@ ; _DWORD * v5 ; _DWORD * v6 ; int v7 ; int v8 ; int v9 ; int @@v10@@ ; int @@i@@ ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { v5 = * ( _DWORD * * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = v5 [ Number ] ; * ( _DWORD * ) ( @@a1@@ + Number ) = v5 [ Number ] ; v5 [ Number ] = Number ; v5 [ Number ] = Number ; v5 [ Number ] = Number ; v5 [ Number ] = Number ; v5 [ Number ] = Number ; v7 = v5 [ Number ] % v5 [ Number ] ; if ( ! v7 ) v7 = v5 [ Number ] ; v5 [ Number ] = v7 ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } else { if ( * ( int * ) ( @@a1@@ + Number ) <= Number || * ( int * ) ( @@a1@@ + Number ) > Number ) { * ( _DWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) = Number ; * ( _DWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) = Number ; ( * * ( void ( __fastcall * * * ) ( __int64 ) ) @@a1@@ ) ( @@a1@@ ) ; } * ( _DWORD * ) ( @@a1@@ + Number ) = jdiv_round_up ( * ( unsigned int * ) ( @@a1@@ + Number ) , Number * * ( _DWORD * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = jdiv_round_up ( * ( unsigned int * ) ( @@a1@@ + Number ) , Number * * ( _DWORD * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; for ( @@i@@ = Number ; @@i@@ < * ( _DWORD * ) ( @@a1@@ + Number ) ; ++ @@i@@ ) { v6 = * ( _DWORD * * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) + Number ) ; v6 [ Number ] = v6 [ Number ] ; v6 [ Number ] = v6 [ Number ] ; v6 [ Number ] = v6 [ Number ] * v6 [ Number ] ; v6 [ Number ] = Number * v6 [ Number ] ; v8 = v6 [ Number ] % v6 [ Number ] ; if ( ! v8 ) v8 = v6 [ Number ] ; v6 [ Number ] = v8 ; v9 = v6 [ Number ] % v6 [ Number ] ; if ( ! v9 ) v9 = v6 [ Number ] ; v6 [ Number ] = v9 ; @@v10@@ = v6 [ Number ] ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v10@@ > Number ) { * ( _DWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) = Number ; ( * * ( void ( __fastcall * * * ) ( __int64 ) ) @@a1@@ ) ( @@a1@@ ) ; } while ( Number ) { v2 = @@v10@@ -- ; if ( v2 <= Number ) break ; v1 = * ( _DWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = v1 + Number ; * ( _DWORD * ) ( @@a1@@ + Number * ( v1 + Number L ) + Number ) = @@i@@ ; } } } result = * ( unsigned int * ) ( @@a1@@ + Number ) ; if ( ( int ) result > Number ) { if ( ( __int64 ) ( * ( int * ) ( @@a1@@ + Number ) * ( unsigned __int64 ) * ( unsigned int * ) ( @@a1@@ + Number ) ) > Number ) @@v4@@ = Number ; else @@v4@@ = * ( _DWORD * ) ( @@a1@@ + Number ) * * ( _DWORD * ) ( @@a1@@ + Number ) ; result = @@a1@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v4@@ ; } return result ; }", "source": [{"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}