{"name": "automount_server", "code": "char * automount_server ( ) { __int64 @@v0@@ ; _BYTE * @@v2@@ ; @@v2@@ = get_local_machine_name ( ) ; if ( @@v2@@ && * @@v2@@ ) { safe_strcpy_fn ( & unk_2C94 , Number L , server_name_31814 , @@v2@@ , Number L ) ; } else { @@v0@@ = global_myname ( ) ; safe_strcpy_fn ( & unk_2C94 , Number L , server_name_31814 , @@v0@@ , Number L ) ; } if ( ( int ) * DEBUGLEVEL_CLASS > Number || ! * DEBUGLEVEL_CLASS_ISSET && ( int ) * DEBUGLEVEL_CLASS > Number ) { if ( ( unsigned int ) dbghdr ( Number L , String , String , Number L ) ) dbgtext ( String , server_name_31814 ) ; } return server_name_31814 ; }", "source": [{"n": "v0", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v2", "t": {"T": 3, "t": "_BYTE"}, "location": "s8"}]}
{"name": "get_local_machine_name", "code": "_BYTE * get_local_machine_name ( ) { _BYTE * @@result@@ ; if ( local_machine [ Number ] ) @@result@@ = local_machine ; else @@result@@ = ( _BYTE * ) global_myname ( ) ; return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 3, "t": "_BYTE"}, "location": "r8"}]} {"name": "standard_sub_advanced", "code": "__int64 __fastcall standard_sub_advanced ( unsigned int @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , unsigned int @@a4@@ , __int64 @@a5@@ , __int64 @@a6@@ , double @@a7@@ , __int64 @@a8@@ ) { int v8 ; char * v9 ; __int64 v10 ; __int64 v11 ; __int64 v12 ; char * v13 ; __int64 @@v15@@ ; __int64 @@v19@@ ; int @@v20@@ ; __int64 @@i@@ ; __int64 @@v22@@ ; @@v15@@ = @@a6@@ ; for ( @@i@@ = @@a6@@ ; ; @@i@@ = @@v22@@ ) { @@v22@@ = strchr_m ( @@i@@ , Number L ) ; if ( ! @@v22@@ ) break ; @@v20@@ = @@a8@@ - ( @@v22@@ - @@v15@@ ) ; if ( @@v20@@ < Number ) @@v20@@ = Number ; v8 = * ( char * ) ( @@v22@@ + Number ) ; if ( * ( _BYTE * ) ( @@v22@@ + Number ) ) { if ( v8 < Number || v8 > Number || v8 < Number ) { LABEL_19 : @@v22@@ += Number L ; } else { switch ( * ( _BYTE * ) ( @@v22@@ + Number ) ) { case String : @@v19@@ = get_user_home_dir ( @@a2@@ ) ; if ( @@v19@@ ) string_sub ( @@v22@@ , String , @@v19@@ , @@v20@@ ) ; else @@v22@@ += Number L ; break ; case String : v9 = automount_server ( ) ; string_sub ( @@v22@@ , String , v9 , @@v20@@ ) ; break ; case String : string_sub ( @@v22@@ , String , @@a3@@ , @@v20@@ ) ; break ; case String : v10 = lp_servicename ( @@a1@@ ) ; string_sub ( @@v22@@ , String , v10 , @@v20@@ ) ; break ; case String : v11 = gidtoname ( @@a4@@ ) ; string_sub ( @@v22@@ , String , v11 , @@v20@@ ) ; break ; case String : v12 = lp_servicename ( @@a1@@ ) ; v13 = automount_path ( v12 ) ; string_sub ( @@v22@@ , String , v13 , @@v20@@ ) ; break ; case String : string_sub ( @@v22@@ , String , @@a2@@ , @@v20@@ ) ; break ; default : goto LABEL_19 ; } } } else { ++ @@v22@@ ; } } return standard_sub_basic ( @@a5@@ , @@v15@@ , @@a8@@ , @@a7@@ ) ; }", "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": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}, {"n": "a8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s-16"}, {"n": "v22", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v20", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v19", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v15", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s88"}]} {"name": "alloc_sub_basic", "code": "void * __fastcall alloc_sub_basic ( const char * @@a1@@ , const char * @@a2@@ , double @@a3@@ ) { void * result ; __int64 v4 ; __int64 v5 ; char * v6 ; __int64 v7 ; __int64 v8 ; unsigned int v9 ; __int64 v10 ; __int64 v11 ; char @@v12@@ [ Number ] ; __int64 @@v13@@ ; __int64 @@v14@@ ; void * @@i@@ ; _BYTE * @@v16@@ ; void * @@v17@@ ; void * @@ptr@@ ; char * @@v19@@ ; char * @@v20@@ ; @@v16@@ = get_local_machine_name ( ) ; if ( @@a2@@ ) { @@v17@@ = strdup ( @@a2@@ ) ; if ( @@v17@@ ) { @@v20@@ = ( char * ) @@v17@@ ; for ( @@i@@ = @@v17@@ ; ; @@v20@@ = & @@v19@@ [ @@v14@@ - ( _QWORD ) @@i@@ ] ) { @@v14@@ = strchr_m ( @@v20@@ , Number L ) ; if ( ! @@v14@@ ) return @@v17@@ ; @@ptr@@ = Number L ; @@v19@@ = ( char * ) @@v17@@ ; @@i@@ = @@v17@@ ; switch ( * ( _BYTE * ) ( @@v14@@ + Number ) ) { case String : @@v19@@ = realloc_expand_env_var ( @@v19@@ , @@v14@@ ) ; break ; case String : @@ptr@@ = ( void * ) strdup_upper ( & current_user_info [ Number ] ) ; if ( ! @@ptr@@ ) goto LABEL_45 ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , @@ptr@@ ) ; break ; case String : @@ptr@@ = strdup ( @@a1@@ ) ; if ( ! @@ptr@@ ) goto LABEL_45 ; @@v13@@ = Get_Pwnam ( @@ptr@@ ) ; if ( @@v13@@ ) { gidtoname ( * ( unsigned int * ) ( @@v13@@ + Number ) ) ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , @@a3@@ ) ; } break ; case String : v4 = client_addr ( ) ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , v4 ) ; break ; case String : if ( @@v16@@ && * @@v16@@ ) { @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , @@v16@@ ) ; } else { v5 = global_myname ( ) ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , v5 ) ; } break ; case String : v7 = client_name ( ) ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , v7 ) ; break ; case String : v6 = automount_server ( ) ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , v6 ) ; break ; case String : @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , remote_proto ) ; break ; case String : v8 = timestring ( Number L ) ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , v8 ) ; break ; case String : @@ptr@@ = ( void * ) strdup_lower ( @@a1@@ ) ; if ( ! @@ptr@@ ) goto LABEL_45 ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , @@ptr@@ ) ; break ; case String : @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , @@a3@@ ) ; break ; case String : v9 = sys_getpid ( ) ; smb_snprintf ( @@v12@@ , Number L , String , v9 ) ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , @@v12@@ ) ; break ; case String : v10 = myhostname ( ) ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , v10 ) ; break ; case String : @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , & remote_machine ) ; break ; case String : v11 = samba_version_string ( ) ; @@v19@@ = ( char * ) realloc_string_sub ( @@v19@@ , String , v11 ) ; break ; default : break ; } ++ @@v14@@ ; if ( @@ptr@@ ) { free ( @@ptr@@ ) ; @@ptr@@ = Number L ; } if ( ! @@v19@@ ) break ; @@v17@@ = @@v19@@ ; } LABEL_45 : if ( @@v17@@ ) { free ( @@v17@@ ) ; @@v17@@ = Number L ; } result = Number L ; } else { if ( ( ( int ) * DEBUGLEVEL_CLASS >= Number || ! * DEBUGLEVEL_CLASS_ISSET && ( int ) * DEBUGLEVEL_CLASS >= Number ) && ( unsigned int ) dbghdr ( Number L , String , String , Number L ) ) { dbgtext ( String ) ; } result = Number L ; } } 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": "double", "s": 8}, "location": "r496"}, {"n": "a1", "t": {"T": 3, "t": "const char"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const char"}, "location": "r64"}, {"n": "v19", "t": {"T": 3, "t": "char"}, "location": "s16"}, {"n": "ptr", "t": {"T": 3, "t": "void"}, "location": "s24"}, {"n": "v17", "t": {"T": 3, "t": "void"}, "location": "s32"}, {"n": "v12", "t": {"T": 2, "n": 256, "s": 1, "t": "char"}, "location": "s320"}, {"n": "v16", "t": {"T": 3, "t": "_BYTE"}, "location": "s40"}, {"n": "i", "t": {"T": 3, "t": "void"}, "location": "s48"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s64"}, {"n": "v20", "t": {"T": 3, "t": "char"}, "location": "s8"}]} {"name": "alloc_sub_specified", "code": "void * __fastcall alloc_sub_specified ( const char * @@a1@@ , const char * @@a2@@ , __int64 @@a3@@ , double @@a4@@ , __int64 @@a5@@ , unsigned int @@a6@@ ) { void * result ; __int64 i ; int v8 ; char * v9 ; void * @@v12@@ ; __int64 v13 ; __int64 v14 ; char * @@v15@@ ; __int64 @@v16@@ ; char * @@ptr@@ ; @@ptr@@ = strdup ( @@a1@@ ) ; if ( @@ptr@@ ) { for ( i = strchr_m ( @@ptr@@ , Number L ) ; ; i = strchr_m ( v13 - ( _QWORD ) @@v15@@ + @@v16@@ , Number L ) ) { v14 = i ; if ( ! i ) break ; @@v16@@ = ( __int64 ) @@ptr@@ ; @@v15@@ = @@ptr@@ ; v8 = * ( char * ) ( i + Number ) ; if ( v8 > Number ) { if ( v8 == Number ) @@v16@@ = realloc_string_sub ( @@ptr@@ , String , @@a2@@ ) ; } else if ( v8 >= Number ) { switch ( v8 ) { case String : @@v16@@ = realloc_string_sub ( @@ptr@@ , String , @@a3@@ ) ; break ; case String : if ( @@a6@@ != Number ) gidtoname ( @@a6@@ ) ; @@v16@@ = realloc_string_sub ( @@ptr@@ , String , @@a4@@ ) ; break ; case String : v9 = automount_server ( ) ; @@v16@@ = realloc_string_sub ( @@ptr@@ , String , v9 ) ; break ; case String : @@v16@@ = realloc_string_sub ( @@ptr@@ , String , @@a2@@ ) ; break ; case String : if ( @@a6@@ != Number ) gidtoname ( @@a6@@ ) ; @@v16@@ = realloc_string_sub ( @@ptr@@ , String , @@a4@@ ) ; break ; default : break ; } } v13 = v14 + Number ; if ( ! @@v16@@ ) { free ( @@ptr@@ ) ; return Number L ; } @@ptr@@ = ( char * ) @@v16@@ ; } @@v12@@ = alloc_sub_basic ( @@a2@@ , @@ptr@@ , @@a4@@ ) ; free ( @@ptr@@ ) ; result = @@v12@@ ; } 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": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a4", "t": {"T": 1, "n": "double", "s": 8}, "location": "r496"}, {"n": "a1", "t": {"T": 3, "t": "const char"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const char"}, "location": "r64"}, {"n": "a6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r72"}, {"n": "v16", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v15", "t": {"T": 3, "t": "char"}, "location": "s32"}, {"n": "v12", "t": {"T": 3, "t": "void"}, "location": "s48"}, {"n": "ptr", "t": {"T": 3, "t": "char"}, "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"}]}