{"name": "talloc_sub_conn", "code": "__int64 __fastcall talloc_sub_conn ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ ) { unsigned int v3 ; unsigned int @@v4@@ ; v3 = * ( _DWORD * ) ( @@a2@@ + Number ) ; if ( @@a2@@ ) @@v4@@ = * ( _DWORD * ) ( @@a2@@ + Number ) ; else @@v4@@ = Number ; return talloc_sub_advanced ( @@a1@@ , @@v4@@ , * ( _QWORD * ) ( @@a2@@ + Number ) , * ( _QWORD * ) ( @@a2@@ + Number ) , v3 , ( __int64 ) & smb_user_name , @@a3@@ ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "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": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r8"}]}
{"name": "talloc_sub_advanced", "code": "__int64 __fastcall talloc_sub_advanced ( __int64 @@a1@@ , unsigned int @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , unsigned int @@a5@@ , __int64 @@a6@@ , __int64 @@a7@@ ) { __int64 @@v8@@ ; void * @@ptr@@ ; @@ptr@@ = ( void * ) alloc_sub_advanced ( @@a2@@ , @@a3@@ , @@a4@@ , @@a5@@ , @@a6@@ , @@a7@@ ) ; if ( ! @@ptr@@ ) return Number L ; @@v8@@ = talloc_strdup ( @@a1@@ , @@ptr@@ ) ; free ( @@ptr@@ ) ; return @@v8@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}, {"n": "a7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s-16"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "ptr", "t": {"T": 3, "t": "void"}, "location": "s8"}]} {"name": "alloc_sub_advanced", "code": "void * __fastcall alloc_sub_advanced ( unsigned int @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , unsigned int @@a4@@ , const char * @@a5@@ , const char * @@a6@@ , double @@a7@@ ) { void * result ; __int64 i ; char * v9 ; const wchar_t * v10 ; __int64 v11 ; char * v12 ; __int64 @@v16@@ ; void * @@v17@@ ; __int64 v18 ; __int64 v19 ; char * @@v20@@ ; __int64 @@v21@@ ; char * @@ptr@@ ; @@ptr@@ = strdup ( @@a6@@ ) ; if ( @@ptr@@ ) { for ( i = strchr_m ( @@ptr@@ , Number L ) ; ; i = strchr_m ( v18 - ( _QWORD ) @@v20@@ + @@v21@@ , Number L ) ) { v19 = i ; if ( ! i ) break ; @@v21@@ = ( __int64 ) @@ptr@@ ; @@v20@@ = @@ptr@@ ; switch ( * ( _BYTE * ) ( i + Number ) ) { case String : @@v16@@ = get_user_home_dir ( @@a2@@ ) ; if ( @@v16@@ ) @@v21@@ = realloc_string_sub ( @@ptr@@ , String , @@v16@@ ) ; break ; case String : v9 = automount_server ( ) ; @@v21@@ = realloc_string_sub ( @@ptr@@ , String , v9 ) ; break ; case String : @@v21@@ = realloc_string_sub ( @@ptr@@ , String , @@a3@@ ) ; break ; case String : v10 = ( const wchar_t * ) lp_servicename ( @@a1@@ ) ; @@v21@@ = realloc_string_sub ( @@ptr@@ , String , v10 ) ; break ; case String : gidtoname ( @@a4@@ ) ; @@v21@@ = realloc_string_sub ( @@ptr@@ , String , @@a7@@ ) ; break ; case String : v11 = lp_servicename ( @@a1@@ ) ; v12 = automount_path ( v11 ) ; @@v21@@ = realloc_string_sub ( @@ptr@@ , String , v12 ) ; break ; case String : @@v21@@ = realloc_string_sub ( @@ptr@@ , String , @@a2@@ ) ; break ; default : break ; } v18 = v19 + Number ; if ( ! @@v21@@ ) { free ( @@ptr@@ ) ; return Number L ; } @@ptr@@ = ( char * ) @@v21@@ ; } @@v17@@ = alloc_sub_basic ( @@a5@@ , @@ptr@@ , @@a7@@ ) ; free ( @@ptr@@ ) ; result = @@v17@@ ; } else { if ( ( int ) * DEBUGLEVEL_CLASS >= Number || ! * DEBUGLEVEL_CLASS_ISSET && ( int ) * DEBUGLEVEL_CLASS >= Number ) { if ( ( unsigned int ) dbghdr ( Number L , String , String , Number L ) ) dbgtext ( String ) ; } result = Number L ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r24"}, {"n": "a7", "t": {"T": 1, "n": "double", "s": 8}, "location": "r496"}, {"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 3, "t": "const char"}, "location": "r72"}, {"n": "a6", "t": {"T": 3, "t": "const char"}, "location": "r80"}, {"n": "v21", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v20", "t": {"T": 3, "t": "char"}, "location": "s32"}, {"n": "v17", "t": {"T": 3, "t": "void"}, "location": "s48"}, {"n": "v16", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "ptr", "t": {"T": 3, "t": "char"}, "location": "s8"}]} {"name": "alloc_sub_conn", "code": "void * __fastcall alloc_sub_conn ( __int64 @@a1@@ , const char * @@a2@@ , double @@a3@@ ) { unsigned int @@v3@@ ; if ( @@a1@@ ) @@v3@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; else @@v3@@ = Number ; return alloc_sub_advanced ( @@v3@@ , * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _DWORD * ) ( @@a1@@ + Number ) , smb_user_name , @@a2@@ , @@a3@@ ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "double", "s": 8}, "location": "r496"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const char"}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r8"}]}