{"name": "autostart_start", "code": "__int64 __fastcall autostart_start ( __int64 @@a1@@ ) { __int64 @@result@@ ; int @@i@@ ; for ( @@i@@ = Number ; ; ++ @@i@@ ) { @@result@@ = * ( _QWORD * ) ( Number L * @@i@@ + @@a1@@ ) ; if ( ! @@result@@ ) break ; process_start ( * ( _QWORD * ) ( Number L * @@i@@ + @@a1@@ ) , Number L ) ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]}
{"name": "_start", "code": "void __fastcall __noreturn start ( __int64 @@a1@@ , __int64 @@a2@@ , void ( * @@a3@@ ) ( void ) ) { __int64 @@v3@@ ; int v4 ; __int64 @@v5@@ ; char * @@retaddr@@ ; v4 = @@v5@@ ; @@v5@@ = @@v3@@ ; _libc_start_main ( ( int ( __fastcall * ) ( int , char * * , char * * ) ) main , v4 , & @@retaddr@@ , _libc_csu_init , _libc_csu_fini , @@a3@@ , & @@v5@@ ) ; __halt ( ) ; }", "source": [{"n": "a3", "t": {"T": 9, "n": "void (*)(void)"}, "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": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "retaddr", "t": {"T": 3, "t": "char"}, "location": "s0"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "main", "code": "int __cdecl __noreturn main ( int @@argc@@ , const char * * @@argv@@ , const char * * @@envp@@ ) { __suseconds_t @@v3@@ ; fd_set @@readfds@@ ; fd_set @@writefds@@ ; struct timeval @@timeout@@ ; unsigned int @@v7@@ ; int @@v8@@ ; unsigned int @@v9@@ ; int @@v10@@ ; int @@v11@@ ; unsigned __int8 * @@v12@@ ; int @@j@@ ; int @@v14@@ ; int @@i@@ ; puts ( String ) ; contiki_argc = @@argc@@ ; contiki_argv = ( __int64 ) @@argv@@ ; process_init ( ) ; process_start ( & etimer_process , Number L ) ; ctimer_init ( ) ; set_rime_addr ( ) ; queuebuf_init ( ) ; netstack_init ( ) ; printf ( String , nullmac_driver , nullrdc_driver , sicslowpan_driver ) ; uip_lladdr = serial_id ; process_start ( & tcpip_process , Number L ) ; printf ( String ) ; @@v12@@ = ( unsigned __int8 * ) uip_ds6_get_link_local ( Number ) ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) printf ( String , @@v12@@ [ Number * @@i@@ + Number ] , @@v12@@ [ Number * @@i@@ + Number ] ) ; @@v12@@ [ Number ] = Number ; printf ( String , @@v12@@ [ Number ] , @@v12@@ [ Number ] ) ; serial_line_init ( ) ; autostart_start ( & autostart_processes ) ; setvbuf ( stdout , Number L , Number , Number L ) ; select_set_callback ( Number , stdin_fd ) ; while ( Number ) { @@v11@@ = process_run ( ) ; @@timeout@@ . tv_sec = Number L ; if ( @@v11@@ ) @@v3@@ = Number L ; else @@v3@@ = Number L ; @@timeout@@ . tv_usec = @@v3@@ ; memset ( & @@readfds@@ , Number , sizeof ( @@readfds@@ ) ) ; @@v10@@ = Number ; @@v9@@ = ( unsigned int ) & @@writefds@@ ; memset ( & @@writefds@@ , Number , sizeof ( @@writefds@@ ) ) ; @@v8@@ = Number ; @@v7@@ = ( unsigned int ) & @@timeout@@ ; @@v14@@ = Number ; for ( @@j@@ = Number ; @@j@@ <= select_max ; ++ @@j@@ ) { if ( select_callback [ @@j@@ ] && ( * ( unsigned int ( __fastcall * * ) ( fd_set * , fd_set * ) ) select_callback [ @@j@@ ] ) ( & @@readfds@@ , & @@writefds@@ ) ) { @@v14@@ = @@j@@ ; } } @@v11@@ = select ( @@v14@@ + Number , & @@readfds@@ , & @@writefds@@ , Number L , & @@timeout@@ ) ; if ( @@v11@@ >= Number ) { if ( @@v11@@ > Number ) { for ( @@j@@ = Number ; @@j@@ <= @@v14@@ ; ++ @@j@@ ) { if ( select_callback [ @@j@@ ] ) ( * ( void ( __fastcall * * ) ( fd_set * , fd_set * ) ) ( select_callback [ @@j@@ ] + Number ) ) ( & @@readfds@@ , & @@writefds@@ ) ; } } } else { perror ( String ) ; } etimer_request_poll ( ) ; } }", "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": "v3", "t": {"T": 1, "n": "__suseconds_t", "s": 8}, "location": "r8"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "writefds", "t": {"T": 6, "n": "fd_set", "l": [{"T": 4, "n": "fds_bits", "t": "__fd_mask[16]", "s": 128}]}, "location": "s192"}, {"n": "v12", "t": {"T": 3, "t": "unsigned __int8"}, "location": "s24"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "readfds", "t": {"T": 6, "n": "fd_set", "l": [{"T": 4, "n": "fds_bits", "t": "__fd_mask[16]", "s": 128}]}, "location": "s320"}, {"n": "v9", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s36"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s44"}, {"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": "s64"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]} {"name": "process_start", "code": "__int64 __fastcall process_start ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 @@result@@ ; _QWORD * @@i@@ ; for ( @@i@@ = ( _QWORD * ) process_list ; @@i@@ != ( _QWORD * ) @@a1@@ && @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) ; @@result@@ = ( __int64 ) @@i@@ ; if ( @@i@@ != ( _QWORD * ) @@a1@@ ) { * ( _QWORD * ) @@a1@@ = process_list ; process_list = @@a1@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; @@result@@ = process_post_synch ( @@a1@@ , Number L , @@a2@@ ) ; } return @@result@@ ; }", "source": [{"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"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]}