{"name": "minipc_server_action", "code": "__int64 __fastcall minipc_server_action ( int * @@a1@@ , int @@a2@@ ) { __int64 @@result@@ ; __fd_mask v3 ; __fd_mask v4 ; __fd_mask v5 ; __fd_mask v6 ; __fd_mask v7 ; __fd_mask v8 ; __fd_mask v9 ; __fd_mask @@v10@@ ; __int64 @@v11@@ ; fd_set @@readfds@@ ; struct timeval @@timeout@@ ; __int64 @@v14@@ ; int @@i@@ ; @@v14@@ = mpc_get_link_0 ( ( __int64 ) @@a1@@ ) ; if ( * ( _DWORD * ) ( @@v14@@ + Number ) == Number ) { @@timeout@@ . tv_sec = @@a2@@ / Number ; @@timeout@@ . tv_usec = Number * ( @@a2@@ % Number ) ; v3 = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = v3 ; v4 = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = v4 ; v5 = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = v5 ; v6 = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = v6 ; v7 = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = v7 ; v8 = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = v8 ; v9 = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = v9 ; @@v10@@ = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = * ( _QWORD * ) ( @@v14@@ + Number ) ; @@readfds@@ . fds_bits [ Number ] = @@v10@@ ; @@i@@ = select ( Number , & @@readfds@@ , Number L , Number L , & @@timeout@@ ) ; if ( @@i@@ ) { if ( @@i@@ < Number && * __errno_location ( ) == Number ) { @@result@@ = Number L ; } else if ( @@i@@ >= Number ) { if ( @@i@@ ) { if ( * ( _QWORD * ) ( @@v14@@ + Number ) ) { mpc_handle_client ( @@v14@@ , Number , * @@a1@@ ) ; @@result@@ = Number L ; } else { for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { if ( * ( int * ) ( @@v14@@ + Number * ( @@i@@ + Number L ) + Number ) >= Number ) { @@v11@@ = * ( int * ) ( @@v14@@ + Number * ( @@i@@ + Number L ) + Number ) ; if ( ( @@readfds@@ . fds_bits [ * ( _DWORD * ) ( @@v14@@ + Number * ( @@i@@ + Number L ) + Number ) / Number ] & ( Number L << ( ( ( ( HIDWORD ( @@v11@@ ) >> Number ) + @@v11@@ ) & Number ) - ( HIDWORD ( @@v11@@ ) >> Number ) ) ) ) != Number ) mpc_handle_client ( @@v14@@ , @@i@@ , * ( _DWORD * ) ( @@v14@@ + Number * ( @@i@@ + Number L ) + Number ) ) ; } } if ( ( @@readfds@@ . fds_bits [ * @@a1@@ / Number ] & ( Number L << ( * @@a1@@ % Number ) ) ) != Number ) mpc_handle_connection ( @@v14@@ , * @@a1@@ ) ; @@result@@ = Number L ; } } else { * __errno_location ( ) = Number ; @@result@@ = Number ; } } else { @@result@@ = Number ; } } else { @@result@@ = Number L ; } } else { * __errno_location ( ) = Number ; @@result@@ = Number ; } return @@result@@ ; }", "source": [{"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r1280"}, {"n": "v10", "t": {"T": 1, "n": "__fd_mask", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "int"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "readfds", "t": {"T": 6, "n": "fd_set", "l": [{"T": 4, "n": "fds_bits", "t": "__fd_mask[16]", "s": 128}]}, "location": "s176"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "timeout", "t": {"T": 6, "n": "struct timeval", "l": [{"T": 4, "n": "tv_sec", "t": "__time_t", "s": 8}, {"T": 4, "n": "tv_usec", "t": "__suseconds_t", "s": 8}]}, "location": "s48"}]}
{"name": "main", "code": "int __cdecl __noreturn main ( int @@argc@@ , const char * * @@argv@@ , const char * * @@envp@@ ) { int * v3 ; char * v4 ; int * v5 ; char * v6 ; __int64 @@v7@@ ; @@v7@@ = minipc_server_create ( String , Number L , @@envp@@ ) ; if ( ! @@v7@@ ) { v3 = __errno_location ( ) ; v4 = strerror ( * v3 ) ; fprintf ( stderr , String , * @@argv@@ , v4 ) ; exit ( Number ) ; } minipc_set_logfile ( @@v7@@ , stderr ) ; minipc_export ( @@v7@@ , & ss_sum_struct ) ; minipc_export ( @@v7@@ , & ss_tod_struct ) ; minipc_export ( @@v7@@ , & ss_sqrt_struct ) ; while ( ( int ) minipc_server_action ( @@v7@@ , Number L ) >= Number ) fprintf ( stdout , String , String ) ; v5 = __errno_location ( ) ; v6 = strerror ( * v5 ) ; fprintf ( stderr , String , * @@argv@@ , v6 ) ; exit ( Number ) ; }", "source": [{"n": "envp", "t": {"T": 3, "t": "const char *"}, "location": "r16"}, {"n": "argc", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "argv", "t": {"T": 3, "t": "const char *"}, "location": "r64"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "mpc_get_link", "code": "__int64 __fastcall mpc_get_link ( __int64 @@a1@@ ) { return @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "mpc_get_link_0", "code": "__int64 __fastcall mpc_get_link_0 ( __int64 @@a1@@ ) { return @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "mpc_handle_client", "code": "ssize_t __fastcall mpc_handle_client ( ssize_t @@a1@@ , int @@a2@@ , int @@a3@@ ) { ssize_t result ; unsigned int v4 ; int @@buf@@ ; char @@v7@@ ; char @@v8@@ [ Number ] ; int @@v9@@ ; __int64 @@v10@@ ; ssize_t @@v11@@ ; _QWORD * @@i@@ ; void * @@v13@@ ; char * @@s1@@ ; @@v11@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( @@v11@@ ) { @@s1@@ = ( char * ) ( @@v11@@ + Number ) ; @@v13@@ = ( void * ) ( @@v11@@ + Number ) ; read ( @@a3@@ , & @@buf@@ , Number ) ; } else { @@s1@@ = @@v8@@ ; @@v13@@ = & @@v7@@ ; @@buf@@ = recv ( @@a3@@ , @@v8@@ , Number , Number ) ; if ( @@buf@@ < Number ) { result = ( unsigned int ) * __errno_location ( ) ; if ( ( _DWORD ) result == Number ) return result ; } if ( @@buf@@ <= Number ) goto LABEL_24 ; } for ( @@i@@ = * ( _QWORD * * ) ( @@a1@@ + Number ) ; @@i@@ && strcmp ( @@s1@@ , ( const char * ) ( * @@i@@ + Number L ) ) ; @@i@@ = ( _QWORD * ) @@i@@ [ Number ] ) ; if ( @@i@@ ) { @@v10@@ = * @@i@@ ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) fprintf ( * ( FILE * * ) ( @@a1@@ + Number ) , String , String , ( const char * ) ( @@v10@@ + Number ) ) ; @@buf@@ = ( * ( __int64 ( __fastcall * * ) ( __int64 , char * , char * ) ) @@v10@@ ) ( @@v10@@ , @@s1@@ + Number , ( char * ) @@v13@@ + Number ) ; if ( @@buf@@ >= Number ) { if ( HIWORD ( * ( _DWORD * ) ( @@v10@@ + Number ) ) == Number ) { @@v9@@ = ( strlen ( ( const char * ) @@v13@@ + Number ) + Number ) & Number ; * ( _DWORD * ) @@v13@@ = @@v9@@ | Number ; } else { * ( _DWORD * ) @@v13@@ = * ( _DWORD * ) ( @@v10@@ + Number ) ; } } else { * ( _DWORD * ) @@v13@@ = Number ; * ( ( _DWORD * ) @@v13@@ + Number ) = * __errno_location ( ) ; } } else { if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) fprintf ( * ( FILE * * ) ( @@a1@@ + Number ) , String , String , @@s1@@ ) ; * ( _DWORD * ) @@v13@@ = Number ; * ( ( _DWORD * ) @@v13@@ + Number ) = Number ; } if ( @@v11@@ ) { result = @@v11@@ ; ++ * ( _DWORD * ) ( @@v11@@ + Number ) ; return result ; } result = send ( @@a3@@ , @@v13@@ , ( unsigned __int16 ) * ( _DWORD * ) @@v13@@ + Number L , Number ) ; if ( result < Number ) { LABEL_24 : if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { if ( @@buf@@ >= Number ) v4 = Number ; else v4 = * __errno_location ( ) ; fprintf ( * ( FILE * * ) ( @@a1@@ + Number ) , String , String , v4 , ( unsigned int ) @@a3@@ ) ; } close ( @@a3@@ ) ; * ( _QWORD * ) ( @@a1@@ + Number * ( @@a3@@ / Number + Number L ) + Number ) &= ~ ( Number L << ( @@a3@@ % Number ) ) ; result = @@a1@@ ; * ( _DWORD * ) ( @@a1@@ + Number * ( @@a2@@ + Number L ) + Number ) = Number ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "ssize_t", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v8", "t": {"T": 2, "n": 1044, "s": 1, "t": "char"}, "location": "s1088"}, {"n": "v13", "t": {"T": 3, "t": "void"}, "location": "s16"}, {"n": "v7", "t": {"T": 1, "n": "char", "s": 1}, "location": "s2128"}, {"n": "buf", "t": {"T": 1, "n": "int", "s": 4}, "location": "s2132"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s24"}, {"n": "v11", "t": {"T": 1, "n": "ssize_t", "s": 8}, "location": "s32"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "s1", "t": {"T": 3, "t": "char"}, "location": "s8"}]} {"name": "mpc_handle_connection", "code": "int __fastcall mpc_handle_connection ( __int64 @@a1@@ , int @@a2@@ ) { __int64 @@v2@@ ; unsigned int @@v3@@ ; socklen_t @@addr_len@@ ; struct sockaddr @@addr@@ ; int @@v7@@ ; int @@i@@ ; @@addr_len@@ = Number ; @@v7@@ = accept ( @@a2@@ , & @@addr@@ , & @@addr_len@@ ) ; @@v2@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( @@v2@@ ) { if ( @@v7@@ >= Number ) @@v3@@ = Number ; else @@v3@@ = * __errno_location ( ) ; LODWORD ( @@v2@@ ) = fprintf ( * ( FILE * * ) ( @@a1@@ + Number ) , String , String , ( unsigned int ) @@v7@@ , @@v3@@ ) ; } if ( @@v7@@ >= Number ) { for ( @@i@@ = Number ; @@i@@ <= Number && * ( int * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) + Number ) >= Number ; ++ @@i@@ ) ; if ( @@i@@ == Number ) { if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) fprintf ( * ( FILE * * ) ( @@a1@@ + Number ) , String , String ) ; LODWORD ( @@v2@@ ) = close ( @@v7@@ ) ; } else { * ( _DWORD * ) ( @@a1@@ + Number * ( @@i@@ + Number L ) + Number ) = @@v7@@ ; LODWORD ( @@v2@@ ) = @@a1@@ ; * ( _QWORD * ) ( @@a1@@ + Number * ( @@v7@@ / Number + Number L ) + Number ) |= Number L << ( @@v7@@ % Number ) ; } } return @@v2@@ ; }", "source": [{"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "addr", "t": {"T": 6, "n": "struct sockaddr", "l": [{"T": 4, "n": "sa_family", "t": "sa_family_t", "s": 2}, {"T": 4, "n": "sa_data", "t": "char[14]", "s": 14}]}, "location": "s128"}, {"n": "addr_len", "t": {"T": 1, "n": "socklen_t", "s": 4}, "location": "s132"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}