{"name": "prepare_for_pass", "code": "__int64 __fastcall prepare_for_pass ( __int64 @@a1@@ ) { unsigned int v1 ; unsigned int @@v2@@ ; __int64 result ; _DWORD * @@v4@@ ; @@v4@@ = * ( _DWORD * * ) ( @@a1@@ + Number ) ; v1 = @@v4@@ [ Number ] ; if ( v1 != Number ) { if ( v1 > Number ) { * ( _DWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) = Number ; ( * * ( void ( __fastcall * * * ) ( __int64 ) ) @@a1@@ ) ( @@a1@@ ) ; goto LABEL_23 ; } if ( ! v1 ) { select_scan_parameters ( @@a1@@ ) ; per_scan_setup ( @@a1@@ ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) { ( * * ( void ( __fastcall * * * ) ( __int64 ) ) ( @@a1@@ + Number ) ) ( @@a1@@ ) ; ( * * ( void ( __fastcall * * * ) ( __int64 ) ) ( @@a1@@ + Number ) ) ( @@a1@@ ) ; ( * * ( void ( __fastcall * * * ) ( __int64 , _QWORD ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , Number L ) ; } ( * * ( void ( __fastcall * * * ) ( __int64 ) ) ( @@a1@@ + Number ) ) ( @@a1@@ ) ; ( * * ( void ( __fastcall * * * ) ( __int64 , _QWORD ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; if ( ( int ) @@v4@@ [ Number ] <= Number ) @@v2@@ = Number ; else @@v2@@ = Number ; ( * * ( void ( __fastcall * * * ) ( __int64 , _QWORD ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , @@v2@@ ) ; ( * * ( void ( __fastcall * * * ) ( __int64 , _QWORD ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , Number L ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) @@v4@@ [ Number ] = Number ; else @@v4@@ [ Number ] = Number ; goto LABEL_23 ; } select_scan_parameters ( @@a1@@ ) ; per_scan_setup ( @@a1@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) || ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) { ( * * ( void ( __fastcall * * * ) ( __int64 , __int64 ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , Number L ) ; ( * * ( void ( __fastcall * * * ) ( __int64 , __int64 ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , Number L ) ; @@v4@@ [ Number ] = Number ; goto LABEL_23 ; } @@v4@@ [ Number ] = Number ; ++ @@v4@@ [ Number ] ; } if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) { select_scan_parameters ( @@a1@@ ) ; per_scan_setup ( @@a1@@ ) ; } ( * * ( void ( __fastcall * * * ) ( __int64 , _QWORD ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , Number L ) ; ( * * ( void ( __fastcall * * * ) ( __int64 , __int64 ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , Number L ) ; if ( ! @@v4@@ [ Number ] ) ( * ( void ( __fastcall * * ) ( __int64 ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ( @@a1@@ ) ; ( * ( void ( __fastcall * * ) ( __int64 ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ( @@a1@@ ) ; @@v4@@ [ Number ] = Number ; LABEL_23 : @@v4@@ [ Number ] = @@v4@@ [ Number ] == @@v4@@ [ Number ] - Number ; result = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( result ) { * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = @@v4@@ [ Number ] ; result = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( result + Number ) = @@v4@@ [ Number ] ; } return result ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v4", "t": {"T": 3, "t": "_DWORD"}, "location": "s8"}]}