{"name": "sub_4023AD", "code": "__int64 __fastcall sub_4023AD ( __int64 @@a1@@ , __int64 @@a2@@ ) { unsigned int @@v2@@ ; @@v2@@ = sub_402B23 ( @@a2@@ ) ; return sub_4023EA ( @@a1@@ , @@a2@@ , @@v2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r8"}]}
{"name": "sub_40183D", "code": "__int64 __fastcall sub_40183D ( _BYTE * @@a1@@ ) { __int64 @@result@@ ; if ( ! * @@a1@@ ) sub_401429 ( ) ; sub_401473 ( Number L ) ; dword_405220 = Number ; if ( ! ( unsigned int ) sub_4023AD ( & qword_405210 , @@a1@@ ) ) sub_40137D ( ) ; @@result@@ = sub_402360 ( & qword_405210 , & unk_4030E9 ) ; if ( ! ( _DWORD ) @@result@@ ) sub_40137D ( ) ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "sub_401A36", "code": "__int64 __fastcall sub_401A36 ( __int64 @@a1@@ , __int64 @@a2@@ ) { _BYTE * @@i@@ ; unsigned int v4 ; int v5 ; int j ; while ( ( unsigned int ) sub_4023AD ( & qword_405230 , & unk_403103 ) ) { while ( Number ) { if ( ! ( unsigned int ) sub_4022C9 ( & qword_405230 , Number L ) ) return Number ; v4 = sub_402764 ( @@a1@@ , qword_405230 + ( unsigned int ) dword_405238 , Number L ) ; if ( v4 != Number ) return v4 ; if ( * ( _BYTE * ) ( ( unsigned int ) dword_405238 + qword_405230 ) == Number ) break ; ++ dword_405238 ; } if ( dword_405238 && * ( _BYTE * ) ( ( unsigned int ) ( dword_405238 - Number ) + qword_405230 ) == Number ) -- dword_405238 ; * ( _BYTE * ) ( ( unsigned int ) dword_405238 + qword_405230 ) = Number ; v5 = sub_402B7F ( qword_405230 , Number L ) ; for ( @@i@@ = ( _BYTE * ) ( qword_405230 + v5 ) ; * @@i@@ == Number ; ++ @@i@@ ) ; * ( _BYTE * ) ( qword_405230 + v5 ) = Number ; for ( j = Number ; * ( _QWORD * ) ( Number L * j + @@a2@@ ) && ( unsigned int ) sub_401F52 ( * ( _QWORD * ) ( Number L * j + @@a2@@ ) , qword_405230 ) ; ++ j ) ; ( * ( void ( __fastcall * * ) ( _BYTE * ) ) ( Number L * j + @@a2@@ + Number ) ) ( @@i@@ ) ; if ( * ( _QWORD * ) ( Number L * j + @@a2@@ + Number ) ) ( * ( void ( * * ) ( void ) ) ( Number L * j + @@a2@@ + Number ) ) ( ) ; } return Number ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "i", "t": {"T": 3, "t": "_BYTE"}, "location": "s16"}]} {"name": "sub_4023EA", "code": "__int64 __fastcall sub_4023EA ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ ) { if ( ! sub_402237 ( @@a1@@ , @@a3@@ + Number ) ) return Number L ; sub_402BF8 ( * ( _QWORD * ) @@a1@@ , @@a3@@ , @@a2@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@a3@@ ; * ( _BYTE * ) ( * ( _QWORD * ) @@a1@@ + @@a3@@ ) = Number ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]} {"name": "sub_402B23", "code": "_BYTE * __fastcall sub_402B23 ( _BYTE * @@a1@@ ) { _BYTE * i ; _BYTE * v3 ; _BYTE * v4 ; _BYTE * v5 ; for ( i = @@a1@@ ; ; i = v5 + Number ) { if ( ! * i ) return ( _BYTE * ) ( i - @@a1@@ ) ; v3 = i + Number ; if ( ! * v3 ) return ( _BYTE * ) ( v3 - @@a1@@ ) ; v4 = v3 + Number ; if ( ! * v4 ) return ( _BYTE * ) ( v4 - @@a1@@ ) ; v5 = v4 + Number ; if ( ! * v5 ) break ; } return ( _BYTE * ) ( v5 - @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}]}