{"name": "main", "code": "void __fastcall __noreturn main ( int @@a1@@ , char * * @@a2@@ , char * * @@a3@@ ) { sub_40205D ( sub_401242 , @@a2@@ , @@a3@@ ) ; sub_4021BD ( ) ; qword_406398 = ( __int64 ) @@a2@@ [ Number ] ; if ( ! qword_406398 ) sub_40135D ( ) ; argv = @@a2@@ + Number ; if ( ! @@a2@@ [ Number ] ) sub_40135D ( ) ; sub_40176B ( ) ; sub_401A36 ( & off_405100 , & off_405120 ) ; sub_401242 ( ) ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "char *"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "char *"}, "location": "r64"}]}
{"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 ( main , v4 , & @@retaddr@@ , init , 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": "sub_40176B", "code": "__int64 sub_40176B ( ) { unsigned int v0 ; _BYTE * v1 ; __int64 v2 ; _BYTE * v3 ; _BYTE * @@v5@@ ; v0 = getpid ( ) ; v1 = ( char * ) & unk_406340 + ( unsigned int ) sub_402D61 ( & unk_406340 , v0 ) ; @@v5@@ = v1 + Number ; * v1 = Number ; v2 = sub_401F42 ( ) ; v3 = & @@v5@@ [ ( unsigned int ) sub_402D88 ( @@v5@@ , v2 ) ] ; * v3 = Number ; v3 [ Number ] = Number ; sub_4012DA ( ( __int64 ) String ) ; sub_4012DA ( ( __int64 ) & unk_406340 ) ; sub_4012DA ( qword_406398 ) ; sub_4012DA ( ( __int64 ) String ) ; return sub_4012FF ( ) ; }", "source": [{"n": "v5", "t": {"T": 3, "t": "_BYTE"}, "location": "s8"}]} {"name": "sub_401A36", "code": "__int64 __fastcall sub_401A36 ( __int64 @@a1@@ , __int64 @@a2@@ ) { _BYTE * @@i@@ ; unsigned int v4 ; int v5 ; int j ; while ( ( unsigned int ) sub_4023AD ( & qword_405230 , & unk_403103 ) ) { while ( Number ) { if ( ! ( unsigned int ) sub_4022C9 ( & qword_405230 , Number L ) ) return Number ; v4 = sub_402764 ( @@a1@@ , qword_405230 + ( unsigned int ) dword_405238 , Number L ) ; if ( v4 != Number ) return v4 ; if ( * ( _BYTE * ) ( ( unsigned int ) dword_405238 + qword_405230 ) == Number ) break ; ++ dword_405238 ; } if ( dword_405238 && * ( _BYTE * ) ( ( unsigned int ) ( dword_405238 - Number ) + qword_405230 ) == Number ) -- dword_405238 ; * ( _BYTE * ) ( ( unsigned int ) dword_405238 + qword_405230 ) = Number ; v5 = sub_402B7F ( qword_405230 , Number L ) ; for ( @@i@@ = ( _BYTE * ) ( qword_405230 + v5 ) ; * @@i@@ == Number ; ++ @@i@@ ) ; * ( _BYTE * ) ( qword_405230 + v5 ) = Number ; for ( j = Number ; * ( _QWORD * ) ( Number L * j + @@a2@@ ) && ( unsigned int ) sub_401F52 ( * ( _QWORD * ) ( Number L * j + @@a2@@ ) , qword_405230 ) ; ++ j ) ; ( * ( void ( __fastcall * * ) ( _BYTE * ) ) ( Number L * j + @@a2@@ + Number ) ) ( @@i@@ ) ; if ( * ( _QWORD * ) ( Number L * j + @@a2@@ + Number ) ) ( * ( void ( * * ) ( void ) ) ( Number L * j + @@a2@@ + Number ) ) ( ) ; } return Number ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "i", "t": {"T": 3, "t": "_BYTE"}, "location": "s16"}]} {"name": "sub_40205D", "code": "__int64 __fastcall sub_40205D ( __int64 @@a1@@ ) { return sub_40215E ( Number L , @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]}