{
  "asm": [
    {
      "source": null,
      "text": "; Listing generated by Microsoft (R) Optimizing Compiler Version 19.14.26433.0 "
    },
    {
      "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": {
        "file": null,
        "line": 10
      },
      "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": null,
      "text": "; Line 11"
    },
    {
      "source": {
        "file": null,
        "line": 11
      },
      "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": null,
      "text": "; Line 13"
    },
    {
      "source": {
        "file": null,
        "line": 13
      },
      "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": null,
      "text": "; Line 14"
    },
    {
      "source": {
        "file": null,
        "line": 14
      },
      "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": null,
      "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": {
        "file": "std\\array",
        "line": 187
      },
      "text": "        mov     QWORD PTR [rsp+16], rdx"
    },
    {
      "source": {
        "file": "std\\array",
        "line": 187
      },
      "text": "        mov     QWORD PTR [rsp+8], rcx"
    },
    {
      "source": null,
      "text": "; Line 197"
    },
    {
      "source": {
        "file": "std\\array",
        "line": 197
      },
      "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": null,
      "text": "; Line 198"
    },
    {
      "source": {
        "file": "std\\array",
        "line": 198
      },
      "text": "        ret     0"
    },
    {
      "source": null,
      "text": "??A?$array@H$0L@@std@@QEBAAEBH_K@Z ENDP       ; std::array<int,11>::operator[]"
    }
  ]
}
