Progress on supporting cl asm; binary mode and demangling
parent
352d2b605e
commit
0d6df6a2dd
@ -1,2 +1,3 @@
|
||||
isCl=true
|
||||
compileToAsm=/FA
|
||||
compileToAsm=/FAsc
|
||||
supportsBinary=true
|
||||
|
@ -0,0 +1,58 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23918.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB LIBCMT
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
; Function compile flags: /Odtp
|
||||
; File c:\users\administrator\desktop\GccExplorer.cpp
|
||||
_TEXT SEGMENT
|
||||
self_regex$ = 32
|
||||
s$ = 72
|
||||
__$ArrayPad$ = 104
|
||||
?regexTest@@YAXXZ PROC ; regexTest
|
||||
|
||||
; 5 : {
|
||||
|
||||
$LN3:
|
||||
00000 48 83 ec 78 sub rsp, 120 ; 00000078H
|
||||
00004 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR __security_cookie
|
||||
0000b 48 33 c4 xor rax, rsp
|
||||
0000e 48 89 44 24 68 mov QWORD PTR __$ArrayPad$[rsp], rax
|
||||
|
||||
; 6 : std::string s = "Some people, when confronted with a problem, think "
|
||||
|
||||
00013 48 8d 15 00 00
|
||||
00 00 lea rdx, OFFSET FLAT:$SG44257
|
||||
0001a 48 8d 4c 24 48 lea rcx, QWORD PTR s$[rsp]
|
||||
0001f e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
|
||||
|
||||
; 7 : "\"I know, I'll use regular expressions.\" "
|
||||
; 8 : "Now they have two problems.";
|
||||
; 9 : std::regex self_regex("REGULAR EXPRESSIONS",
|
||||
|
||||
00024 ba 00 01 00 00 mov edx, 256 ; 00000100H
|
||||
00029 b9 01 00 00 00 mov ecx, 1
|
||||
0002e e8 00 00 00 00 call ??Uregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator|
|
||||
00033 44 8b c0 mov r8d, eax
|
||||
00036 48 8d 15 00 00
|
||||
00 00 lea rdx, OFFSET FLAT:$SG44258
|
||||
0003d 48 8d 4c 24 20 lea rcx, QWORD PTR self_regex$[rsp]
|
||||
00042 e8 00 00 00 00 call ??0?$basic_regex@DV?$regex_traits@D@std@@@std@@QEAA@PEBDW4syntax_option_type@regex_constants@1@@Z ; std::basic_regex<char,std::regex_traits<char> >::basic_regex<char,std::regex_traits<char> >
|
||||
|
||||
; 10 : std::regex_constants::ECMAScript | std::regex_constants::icase);
|
||||
; 11 : }
|
||||
|
||||
00047 48 8d 4c 24 20 lea rcx, QWORD PTR self_regex$[rsp]
|
||||
0004c e8 00 00 00 00 call ??1?$basic_regex@DV?$regex_traits@D@std@@@std@@QEAA@XZ ; std::basic_regex<char,std::regex_traits<char> >::~basic_regex<char,std::regex_traits<char> >
|
||||
00051 48 8d 4c 24 48 lea rcx, QWORD PTR s$[rsp]
|
||||
00056 e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
|
||||
0005b 48 8b 4c 24 68 mov rcx, QWORD PTR __$ArrayPad$[rsp]
|
||||
00060 48 33 cc xor rcx, rsp
|
||||
00063 e8 00 00 00 00 call __security_check_cookie
|
||||
00068 48 83 c4 78 add rsp, 120 ; 00000078H
|
||||
0006c c3 ret 0
|
||||
?regexTest@@YAXXZ ENDP ; regexTest
|
||||
_TEXT ENDS
|
@ -0,0 +1 @@
|
||||
[{"text":"self_regex$ = 32","source":null},{"text":"s$ = 72","source":null},{"text":"regexTest PROC","source":null},{"text":"","source":null},{"text":"sub rsp, 120 ; 00000078H","source":5},{"text":"","source":null},{"text":"mov rax, QWORD PTR __security_cookie","source":5},{"text":"xor rax, rsp","source":5},{"text":"mov QWORD PTR __$ArrayPad$[rsp], rax","source":5},{"text":"","source":null},{"text":"lea rdx, OFFSET FLAT:$SG44257","source":6},{"text":"lea rcx, QWORD PTR s$[rsp]","source":6},{"text":"call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >","source":6},{"text":"","source":null},{"text":"mov edx, 256 ; 00000100H","source":9},{"text":"mov ecx, 1","source":9},{"text":"call std::regex_constants::operator|","source":9},{"text":"mov r8d, eax","source":9},{"text":"","source":null},{"text":"lea rdx, OFFSET FLAT:$SG44258","source":9},{"text":"lea rcx, QWORD PTR self_regex$[rsp]","source":9},{"text":"call std::basic_regex<char,std::regex_traits<char> >::basic_regex<char,std::regex_traits<char> >","source":9},{"text":"","source":null},{"text":"lea rcx, QWORD PTR self_regex$[rsp]","source":11},{"text":"call std::basic_regex<char,std::regex_traits<char> >::~basic_regex<char,std::regex_traits<char> >","source":11},{"text":"lea rcx, QWORD PTR s$[rsp]","source":11},{"text":"call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >","source":11},{"text":"mov rcx, QWORD PTR __$ArrayPad$[rsp]","source":11},{"text":"xor rcx, rsp","source":11},{"text":"call __security_check_cookie","source":11},{"text":"rsp, 120 ; 00000078H","source":11},{"text":"ret 0","source":11},{"text":"regexTest ENDP","source":null},{"text":"","source":null}]
|
@ -0,0 +1 @@
|
||||
[{"text":"self_regex$ = 32","source":null},{"text":"s$ = 72","source":null},{"text":"regexTest PROC","source":null},{"text":"","source":null},{"text":"sub rsp, 120 ; 00000078H","source":5,"opcodes":[72,131,236,120],"address":0},{"text":"","source":null},{"text":"mov rax, QWORD PTR __security_cookie","source":5,"opcodes":[72,139,5,0,0,0,0],"address":4},{"text":"xor rax, rsp","source":5,"opcodes":[72,51,196],"address":11},{"text":"mov QWORD PTR __$ArrayPad$[rsp], rax","source":5,"opcodes":[72,137,68,36,104],"address":14},{"text":"","source":null},{"text":"lea rdx, OFFSET FLAT:$SG44257","source":6,"opcodes":[72,141,21,0,0,0,0],"address":19},{"text":"lea rcx, QWORD PTR s$[rsp]","source":6,"opcodes":[72,141,76,36,72],"address":26},{"text":"call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >","source":6,"opcodes":[232,0,0,0,0],"address":31},{"text":"","source":null},{"text":"mov edx, 256 ; 00000100H","source":9,"opcodes":[186,0,1,0,0],"address":36},{"text":"mov ecx, 1","source":9,"opcodes":[185,1,0,0,0],"address":41},{"text":"call std::regex_constants::operator|","source":9,"opcodes":[232,0,0,0,0],"address":46},{"text":"mov r8d, eax","source":9,"opcodes":[68,139,192],"address":51},{"text":"","source":null},{"text":"lea rdx, OFFSET FLAT:$SG44258","source":9,"opcodes":[72,141,21,0,0,0,0],"address":54},{"text":"lea rcx, QWORD PTR self_regex$[rsp]","source":9,"opcodes":[72,141,76,36,32],"address":61},{"text":"call std::basic_regex<char,std::regex_traits<char> >::basic_regex<char,std::regex_traits<char> >","source":9,"opcodes":[232,0,0,0,0],"address":66},{"text":"","source":null},{"text":"lea rcx, QWORD PTR self_regex$[rsp]","source":11,"opcodes":[72,141,76,36,32],"address":71},{"text":"call std::basic_regex<char,std::regex_traits<char> >::~basic_regex<char,std::regex_traits<char> >","source":11,"opcodes":[232,0,0,0,0],"address":76},{"text":"lea rcx, QWORD PTR s$[rsp]","source":11,"opcodes":[72,141,76,36,72],"address":81},{"text":"call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >","source":11,"opcodes":[232,0,0,0,0],"address":86},{"text":"mov rcx, QWORD PTR __$ArrayPad$[rsp]","source":11,"opcodes":[72,139,76,36,104],"address":91},{"text":"xor rcx, rsp","source":11,"opcodes":[72,51,204],"address":96},{"text":"call __security_check_cookie","source":11,"opcodes":[232,0,0,0,0],"address":99},{"text":"rsp, 120 ; 00000078H","source":11,"opcodes":[72,131,196,120,2781],"address":104},{"text":"ret 0","source":11,"opcodes":[195],"address":108},{"text":"regexTest ENDP","source":null},{"text":"","source":null}]
|
Loading…
Reference in New Issue