{"name": "sub_402360", "code": "__int64 __fastcall sub_402360 ( __int64 @@a1@@ , _BYTE * @@a2@@ ) { __int64 @@v3@@ ; unsigned int @@v4@@ ; if ( ! sub_4022C9 ( @@a1@@ , Number ) ) return Number L ; @@v3@@ = * ( _QWORD * ) @@a1@@ ; @@v4@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v4@@ + Number ; * ( _BYTE * ) ( @@v3@@ + @@v4@@ ) = * @@a2@@ ; return Number L ; }", "source": [{"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"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"}]}
{"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_4022C9", "code": "_BOOL8 __fastcall sub_4022C9 ( __int64 @@a1@@ , int @@a2@@ ) { unsigned int @@v2@@ ; unsigned int v3 ; _BOOL8 result ; if ( * ( _QWORD * ) @@a1@@ ) { @@v2@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; v3 = * ( _DWORD * ) ( @@a1@@ + Number ) + @@a2@@ ; if ( v3 <= @@v2@@ ) { result = Number L ; } else { * ( _DWORD * ) ( @@a1@@ + Number ) = ( v3 >> Number ) + v3 + Number ; if ( ( unsigned int ) sub_4024FF ( @@a1@@ , @@v2@@ , * ( unsigned int * ) ( @@a1@@ + Number ) ) ) { result = Number L ; } else { * ( _DWORD * ) ( @@a1@@ + Number ) = @@v2@@ ; result = Number L ; } } } else { * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@a2@@ ; * ( _QWORD * ) @@a1@@ = sub_40245F ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; result = * ( _QWORD * ) @@a1@@ != Number L ; } return result ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r104"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}]}