{"name": "sub_4025EF", "code": "__int64 __fastcall sub_4025EF ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ ) { unsigned int @@v3@@ ; @@v3@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( ( int ) ( @@v3@@ - @@a3@@ ) <= Number ) { * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } else { @@v3@@ = @@a3@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) -= @@a3@@ ; } sub_402BF8 ( @@a2@@ , @@v3@@ , * ( _QWORD * ) @@a1@@ + * ( int * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) += @@v3@@ ; return @@v3@@ ; }", "source": [{"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r104"}, {"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_4026D9", "code": "__int64 __fastcall sub_4026D9 ( __int64 @@a1@@ , __int64 @@a2@@ , signed int @@a3@@ ) { __int64 @@result@@ ; signed int v5 ; int v6 ; if ( * ( int * ) ( @@a1@@ + Number ) > Number ) return sub_4025EF ( @@a1@@ , @@a2@@ , @@a3@@ ) ; v5 = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( v5 <= @@a3@@ ) return sub_402596 ( * ( __int64 ( __fastcall * * ) ( _QWORD , __int64 , _QWORD ) ) ( @@a1@@ + Number ) , * ( _DWORD * ) ( @@a1@@ + Number ) , @@a2@@ , v5 ) ; v6 = sub_402655 ( ( _QWORD * ) @@a1@@ ) ; if ( v6 > Number ) @@result@@ = sub_4025EF ( @@a1@@ , @@a2@@ , @@a3@@ ) ; else @@result@@ = ( unsigned int ) v6 ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "signed 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"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "sub_402764", "code": "__int64 __fastcall sub_402764 ( __int64 @@a1@@ , __int64 @@a2@@ , signed int @@a3@@ ) { __int64 @@result@@ ; int @@v5@@ ; if ( * ( int * ) ( @@a1@@ + Number ) > Number ) return sub_4025EF ( @@a1@@ , @@a2@@ , @@a3@@ ) ; if ( @@a3@@ >= * ( _DWORD * ) ( @@a1@@ + Number ) ) return sub_402596 ( * ( __int64 ( __fastcall * * ) ( _QWORD , __int64 , _QWORD ) ) ( @@a1@@ + Number ) , * ( _DWORD * ) ( @@a1@@ + Number ) , @@a2@@ , @@a3@@ ) ; @@v5@@ = sub_402655 ( ( _QWORD * ) @@a1@@ ) ; if ( @@v5@@ > Number ) @@result@@ = sub_4025EF ( @@a1@@ , @@a2@@ , @@a3@@ ) ; else @@result@@ = ( unsigned int ) @@v5@@ ; return @@result@@ ; }", "source": [{"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r120"}, {"n": "a3", "t": {"T": 1, "n": "signed 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"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "sub_402BF8", "code": "__int64 __fastcall sub_402BF8 ( _BYTE * @@a1@@ , unsigned int @@a2@@ , _BYTE * @@a3@@ ) { __int64 @@result@@ ; _BYTE * v5 ; _BYTE * v6 ; _BYTE * v7 ; _BYTE * v8 ; _BYTE * v9 ; _BYTE * v10 ; _BYTE * v11 ; _BYTE * v12 ; _BYTE * v13 ; _BYTE * v14 ; _BYTE * v15 ; _BYTE * v16 ; _BYTE * v17 ; _BYTE * v18 ; for ( @@result@@ = @@a2@@ ; ( _DWORD ) @@result@@ ; @@result@@ = ( unsigned int ) ( @@result@@ - Number ) ) { v5 = @@a3@@ ; v6 = @@a3@@ + Number ; v7 = @@a1@@ ; v8 = @@a1@@ + Number ; * v7 = * v5 ; @@result@@ = ( unsigned int ) ( @@result@@ - Number ) ; if ( ! ( _DWORD ) @@result@@ ) break ; v9 = v6 ; v10 = v6 + Number ; v11 = v8 ; v12 = v8 + Number ; * v11 = * v9 ; @@result@@ = ( unsigned int ) ( @@result@@ - Number ) ; if ( ! ( _DWORD ) @@result@@ ) break ; v13 = v10 ; v14 = v10 + Number ; v15 = v12 ; v16 = v12 + Number ; * v15 = * v13 ; @@result@@ = ( unsigned int ) ( @@result@@ - Number ) ; if ( ! ( _DWORD ) @@result@@ ) break ; v17 = v14 ; @@a3@@ = v14 + Number ; v18 = v16 ; @@a1@@ = v16 + Number ; * v18 = * v17 ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_BYTE"}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}