|  | { | 
|  | "asm": [ | 
|  | { | 
|  | "source": null, | 
|  | "text": "; Listing generated by Microsoft (R) Optimizing Compiler Version 19.15.26504.0 " | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "$SG39290 DB     'Some people,  when confronted with a problem, think \"I k'" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "        DB      'now, I''ll use regular expressions.\" Now they have two proble'" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "        DB      'ms.', 00H" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "$SG39291 DB     'REGULAR EXPRESSIONS', 00H" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "__unwindtable$?regexTest@@YAXXZ DD 0ffffffffH" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "        DD      FLAT:__unwindfunclet$?regexTest@@YAXXZ$0" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "__ehfuncinfo$?regexTest@@YAXXZ DD 019930522H" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "        DD      01H" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "        DD      FLAT:__unwindtable$?regexTest@@YAXXZ" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "        DD      2 DUP(00H)" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "        DD      2 DUP(00H)" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "        DD      00H" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "        DD      01H" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "; Function compile flags: /Odtp" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "_self_regex$ = -60                                  ; size = 20" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "_s$ = -40                                         ; size = 24" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "__$ArrayPad$ = -16                                  ; size = 4" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "__$EHRec$ = -12                               ; size = 12" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "?regexTest@@YAXXZ PROC                              ; regexTest" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "; File c:\\source\\compiler-explorer\\test\\cases\\vc-regex-example.cpp" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "; Line 7" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        push    ebp" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        mov     ebp, esp" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        push    -1" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        push    __ehhandler$?regexTest@@YAXXZ" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        mov     eax, DWORD PTR fs:0" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        push    eax" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        sub     esp, 48                             ; 00000030H" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        mov     eax, DWORD PTR ___security_cookie" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        xor     eax, ebp" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        mov     DWORD PTR __$ArrayPad$[ebp], eax" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        push    eax" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        lea     eax, DWORD PTR __$EHRec$[ebp]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 7 | 
|  | }, | 
|  | "text": "        mov     DWORD PTR fs:0, eax" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "; Line 8" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 8 | 
|  | }, | 
|  | "text": "        push    OFFSET $SG39290" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 8 | 
|  | }, | 
|  | "text": "        lea     ecx, DWORD PTR _s$[ebp]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 8 | 
|  | }, | 
|  | "text": "        call    ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@QBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 8 | 
|  | }, | 
|  | "text": "        mov     DWORD PTR __$EHRec$[ebp+8], 0" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "; Line 11" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 11 | 
|  | }, | 
|  | "text": "        push    256                           ; 00000100H" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 11 | 
|  | }, | 
|  | "text": "        push    1" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 11 | 
|  | }, | 
|  | "text": "        call    ??Uregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator|" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 11 | 
|  | }, | 
|  | "text": "        add     esp, 8" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 11 | 
|  | }, | 
|  | "text": "        push    eax" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 11 | 
|  | }, | 
|  | "text": "        push    OFFSET $SG39291" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 11 | 
|  | }, | 
|  | "text": "        lea     ecx, DWORD PTR _self_regex$[ebp]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 11 | 
|  | }, | 
|  | "text": "        call    ??0?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@PBDW4syntax_option_type@regex_constants@1@@Z ; std::basic_regex<char,std::regex_traits<char> >::basic_regex<char,std::regex_traits<char> >" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "; Line 13" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        lea     ecx, DWORD PTR _self_regex$[ebp]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        call    ??1?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@XZ ; std::basic_regex<char,std::regex_traits<char> >::~basic_regex<char,std::regex_traits<char> >" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        mov     DWORD PTR __$EHRec$[ebp+8], -1" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        lea     ecx, DWORD PTR _s$[ebp]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        call    ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        mov     ecx, DWORD PTR __$EHRec$[ebp]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        mov     DWORD PTR fs:0, ecx" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        pop     ecx" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        mov     ecx, DWORD PTR __$ArrayPad$[ebp]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        xor     ecx, ebp" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        call    @__security_check_cookie@4" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        mov     esp, ebp" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        pop     ebp" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        ret     0" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "__unwindfunclet$?regexTest@@YAXXZ$0:" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        lea     ecx, DWORD PTR _s$[ebp]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        jmp     ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "__ehhandler$?regexTest@@YAXXZ:" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        mov     edx, DWORD PTR [esp+8]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        lea     eax, DWORD PTR [edx+12]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        mov     ecx, DWORD PTR [edx-52]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        xor     ecx, eax" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        call    @__security_check_cookie@4" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        mov     ecx, DWORD PTR [edx-4]" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        xor     ecx, eax" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        call    @__security_check_cookie@4" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        mov     eax, OFFSET __ehfuncinfo$?regexTest@@YAXXZ" | 
|  | }, | 
|  | { | 
|  | "source": { | 
|  | "file": null, | 
|  | "line": 13 | 
|  | }, | 
|  | "text": "        jmp     ___CxxFrameHandler3" | 
|  | }, | 
|  | { | 
|  | "source": null, | 
|  | "text": "?regexTest@@YAXXZ ENDP                              ; regexTest" | 
|  | } | 
|  | ] | 
|  | } |