{
  "asm": [
    {
      "text": "; Listing generated by Microsoft (R) Optimizing Compiler Version 19.14.26433.0 ",
      "source": null
    },
    {
      "text": "",
      "source": null
    },
    {
      "text": "$pdata$main DD  imagerel $LN3",
      "source": null
    },
    {
      "text": "        DD      imagerel $LN3+142",
      "source": null
    },
    {
      "text": "        DD      imagerel $unwind$main",
      "source": null
    },
    {
      "text": "$unwind$main DD 011319H",
      "source": null
    },
    {
      "text": "        DD      0c204H",
      "source": null
    },
    {
      "text": "        DD      imagerel __GSHandlerCheck",
      "source": null
    },
    {
      "text": "        DD      050H",
      "source": null
    },
    {
      "text": "",
      "source": null
    },
    {
      "text": "; Function compile flags: /Odtp",
      "source": null
    },
    {
      "text": "a$ = 32",
      "source": null
    },
    {
      "text": "__$ArrayPad$ = 80",
      "source": null
    },
    {
      "text": "main    PROC",
      "source": null
    },
    {
      "text": "; File c:\\source\\compiler-explorer\\test\\cases\\vc-main-opt-out-example.cpp",
      "source": null
    },
    {
      "text": "; Line 10",
      "source": null
    },
    {
      "text": "$LN3:",
      "source": null
    },
    {
      "text": "        sub     rsp, 104                      ; 00000068H",
      "source": {
        "file": null,
        "line": 10
      }
    },
    {
      "text": "        mov     rax, QWORD PTR __security_cookie",
      "source": {
        "file": null,
        "line": 10
      }
    },
    {
      "text": "        xor     rax, rsp",
      "source": {
        "file": null,
        "line": 10
      }
    },
    {
      "text": "        mov     QWORD PTR __$ArrayPad$[rsp], rax",
      "source": {
        "file": null,
        "line": 10
      }
    },
    {
      "text": "; Line 11",
      "source": null
    },
    {
      "text": "        mov     DWORD PTR a$[rsp], 1",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "        mov     DWORD PTR a$[rsp+4], 3",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "        mov     DWORD PTR a$[rsp+8], 4",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "        mov     DWORD PTR a$[rsp+12], 2",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "        mov     DWORD PTR a$[rsp+16], 3",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "        mov     DWORD PTR a$[rsp+20], 5",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "        mov     DWORD PTR a$[rsp+24], 6",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "        mov     DWORD PTR a$[rsp+28], 4",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "        mov     DWORD PTR a$[rsp+32], 8",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "        mov     DWORD PTR a$[rsp+36], 9",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "        mov     DWORD PTR a$[rsp+40], 2",
      "source": {
        "file": null,
        "line": 11
      }
    },
    {
      "text": "; Line 13",
      "source": null
    },
    {
      "text": "        mov     edx, 2",
      "source": {
        "file": null,
        "line": 13
      }
    },
    {
      "text": "        lea     rcx, QWORD PTR a$[rsp]",
      "source": {
        "file": null,
        "line": 13
      }
    },
    {
      "text": "        call    ??A?$array@H$0L@@std@@QEBAAEBH_K@Z      ; std::array<int,11>::operator[]",
      "source": {
        "file": null,
        "line": 13
      }
    },
    {
      "text": "        mov     eax, DWORD PTR [rax]",
      "source": {
        "file": null,
        "line": 13
      }
    },
    {
      "text": "; Line 14",
      "source": null
    },
    {
      "text": "        mov     rcx, QWORD PTR __$ArrayPad$[rsp]",
      "source": {
        "file": null,
        "line": 14
      }
    },
    {
      "text": "        xor     rcx, rsp",
      "source": {
        "file": null,
        "line": 14
      }
    },
    {
      "text": "        call    __security_check_cookie",
      "source": {
        "file": null,
        "line": 14
      }
    },
    {
      "text": "        add     rsp, 104                      ; 00000068H",
      "source": {
        "file": null,
        "line": 14
      }
    },
    {
      "text": "        ret     0",
      "source": {
        "file": null,
        "line": 14
      }
    },
    {
      "text": "main    ENDP",
      "source": null
    },
    {
      "text": "",
      "source": null
    },
    {
      "text": "; Function compile flags: /Odtp",
      "source": null
    },
    {
      "text": ";       COMDAT ??A?$array@H$0L@@std@@QEBAAEBH_K@Z",
      "source": null
    },
    {
      "text": "this$ = 8",
      "source": null
    },
    {
      "text": "_Pos$ = 16",
      "source": null
    },
    {
      "text": "??A?$array@H$0L@@std@@QEBAAEBH_K@Z PROC       ; std::array<int,11>::operator[], COMDAT",
      "source": null
    },
    {
      "text": "; File std\\array",
      "source": null
    },
    {
      "text": "; Line 187",
      "source": null
    },
    {
      "text": "        mov     QWORD PTR [rsp+16], rdx",
      "source": {
        "file": "std\\array",
        "line": 187
      }
    },
    {
      "text": "        mov     QWORD PTR [rsp+8], rcx",
      "source": {
        "file": "std\\array",
        "line": 187
      }
    },
    {
      "text": "; Line 197",
      "source": null
    },
    {
      "text": "        mov     rax, QWORD PTR this$[rsp]",
      "source": {
        "file": "std\\array",
        "line": 197
      }
    },
    {
      "text": "        mov     rcx, QWORD PTR _Pos$[rsp]",
      "source": {
        "file": "std\\array",
        "line": 197
      }
    },
    {
      "text": "        lea     rax, QWORD PTR [rax+rcx*4]",
      "source": {
        "file": "std\\array",
        "line": 197
      }
    },
    {
      "text": "; Line 198",
      "source": null
    },
    {
      "text": "        ret     0",
      "source": {
        "file": "std\\array",
        "line": 198
      }
    },
    {
      "text": "??A?$array@H$0L@@std@@QEBAAEBH_K@Z ENDP       ; std::array<int,11>::operator[]",
      "source": null
    }
  ]
}