(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:args_orig) op:Equal rhs:{($ VSub_At '$@')} spids:[126])]
      spids: [126]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(DQ ('-nologo -W3'))} spids:[129])]
      spids: [129]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:static_crt) op:Equal rhs:{(EmptyPart)} spids:[134])]
      spids: [134]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:debug_crt) op:Equal rhs:{(EmptyPart)} spids:[136])]
      spids: [136]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cl) op:Equal rhs:{(DQ (cl))} spids:[138])]
      spids: [138]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ml) op:Equal rhs:{(DQ (ml))} spids:[143])]
      spids: [143]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:safeseh) op:Equal rhs:{(DQ (-safeseh))} spids:[148])]
      spids: [148]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:output) op:Equal rhs:{(EmptyPart)} spids:[153])]
      spids: [153]
    )
    (WhileUntil
      keyword: <KW_While while>
      cond: [(C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')})]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [{(-fexceptions)}]
                  action: [(C {(shift)} {(1)})]
                  spids: [179 180 196 16777215]
                )
                (case_arm
                  pat_list: [{(-m32)}]
                  action: [(C {(shift)} {(1)})]
                  spids: [199 200 208 16777215]
                )
                (case_arm
                  pat_list: [{(-m64)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ml)
                          op: Equal
                          rhs: {(DQ (ml64))}
                          spids: [215]
                        )
                      ]
                      spids: [215]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:safeseh)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [224]
                        )
                      ]
                      spids: [224]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [211 212 232 16777215]
                )
                (case_arm
                  pat_list: [{(-clang-cl)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cl)
                          op: Equal
                          rhs: {(DQ (clang-cl))}
                          spids: [239]
                        )
                      ]
                      spids: [239]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:safeseh)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [245]
                        )
                      ]
                      spids: [245]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [235 236 253 16777215]
                )
                (case_arm
                  pat_list: [{(-O0)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' -Od'))}
                          spids: [260]
                        )
                      ]
                      spids: [260]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [256 257 272 16777215]
                )
                (case_arm
                  pat_list: [{(-O) (Lit_Other '*')}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$args_orig')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (-DFFI_DEBUG) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$args'))}
                                  spids: [309]
                                )
                              ]
                              spids: [309]
                            )
                          ]
                          spids: [303 306 315 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Case
                              to_match: {($ VSub_Number '$1')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-O3)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:args)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$args') (' -O2'))}
                                          spids: [349]
                                        )
                                      ]
                                      spids: [349]
                                    )
                                  ]
                                  spids: [345 346 356 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:args)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$args') (' ') ($ VSub_Number '$1'))}
                                          spids: [363]
                                        )
                                      ]
                                      spids: [363]
                                    )
                                  ]
                                  spids: [359 360 371 16777215]
                                )
                              ]
                              spids: [338 342 374]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt)
                                  op: Equal
                                  rhs: {(DQ (true))}
                                  spids: [377]
                                )
                              ]
                              spids: [377]
                            )
                          ]
                          spids: [318 319 383 16777215]
                        )
                      ]
                      spids: [296 300 386]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [275 277 394 16777215]
                )
                (case_arm
                  pat_list: [{(-g)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' -Zi'))}
                          spids: [405]
                        )
                      ]
                      spids: [405]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [397 398 417 16777215]
                )
                (case_arm
                  pat_list: [{(-DFFI_DEBUG)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' -RTC1'))}
                          spids: [428]
                        )
                      ]
                      spids: [428]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:defines)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$defines') (' ') ($ VSub_Number '$1'))}
                          spids: [435]
                        )
                      ]
                      spids: [435]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [420 421 448 16777215]
                )
                (case_arm
                  pat_list: [{(-DUSE_STATIC_RTL)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:static_crt)
                          op: Equal
                          rhs: {(1)}
                          spids: [459]
                        )
                      ]
                      spids: [459]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [451 452 468 16777215]
                )
                (case_arm
                  pat_list: [{(-DUSE_DEBUG_RTL)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:debug_crt)
                          op: Equal
                          rhs: {(1)}
                          spids: [479]
                        )
                      ]
                      spids: [479]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [471 472 488 16777215]
                )
                (case_arm
                  pat_list: [{(-c)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' -c'))}
                          spids: [495]
                        )
                      ]
                      spids: [495]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {($ VSub_Name '$args')})
                                            (C {(sed)} {(SQ <'s%/Fe%/Fo%g'>)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [504 516]
                                )
                              )
                            }
                          spids: [502]
                        )
                      ]
                      spids: [502]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:single)
                          op: Equal
                          rhs: {(DQ (-c))}
                          spids: [520]
                        )
                      ]
                      spids: [520]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [491 492 531 16777215]
                )
                (case_arm
                  pat_list: [{(-D) (Lit_Other '*') (Lit_Other '=') (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {($ VSub_Number '$1')})
                                            (C {(sed)} {(SQ <'s/-D\\([^=][^=]*\\)=.*/\\1/g'>)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [543 553]
                                )
                              )
                            }
                          spids: [541]
                        )
                      ]
                      spids: [541]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:value)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {($ VSub_Number '$1')})
                                            (C {(sed)} {(SQ <'s/-D[^=][^=]*=//g'>)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [559 569]
                                )
                              )
                            }
                          spids: [557]
                        )
                      ]
                      spids: [557]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$args') (' -D') (${ VSub_Name name) ("='") 
                                ($ VSub_Name '$value') ("'")
                              )
                            }
                          spids: [573]
                        )
                      ]
                      spids: [573]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:defines)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$defines') (' -D') (${ VSub_Name name) ("='") 
                                ($ VSub_Name '$value') ("'")
                              )
                            }
                          spids: [586]
                        )
                      ]
                      spids: [586]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [534 538 604 16777215]
                )
                (case_arm
                  pat_list: [{(-D) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' ') ($ VSub_Number '$1'))}
                          spids: [612]
                        )
                      ]
                      spids: [612]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:defines)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$defines') (' ') ($ VSub_Number '$1'))}
                          spids: [620]
                        )
                      ]
                      spids: [620]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [607 609 633 16777215]
                )
                (case_arm
                  pat_list: [{(-I)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' -I') ($ VSub_Number '$2'))}
                          spids: [640]
                        )
                      ]
                      spids: [640]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:includes)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$includes') (' -I') ($ VSub_Number '$2'))}
                          spids: [648]
                        )
                      ]
                      spids: [648]
                    )
                    (C {(shift)} {(2)})
                  ]
                  spids: [636 637 661 16777215]
                )
                (case_arm
                  pat_list: [{(-I) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' ') ($ VSub_Number '$1'))}
                          spids: [669]
                        )
                      ]
                      spids: [669]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:includes)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$includes') (' ') ($ VSub_Number '$1'))}
                          spids: [677]
                        )
                      ]
                      spids: [677]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [664 666 690 16777215]
                )
                (case_arm
                  pat_list: [{(-W)} {(-Wextra)}]
                  action: [(C {(shift)} {(1)})]
                  spids: [693 696 708 16777215]
                )
                (case_arm
                  pat_list: [{(-Wall)}]
                  action: [(C {(shift)} {(1)})]
                  spids: [711 712 728 16777215]
                )
                (case_arm
                  pat_list: [{(-pedantic)}]
                  action: [(C {(shift)} {(1)})]
                  spids: [731 732 744 16777215]
                )
                (case_arm
                  pat_list: [{(-Werror)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' -WX'))}
                          spids: [751]
                        )
                      ]
                      spids: [751]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [747 748 763 16777215]
                )
                (case_arm
                  pat_list: [{(-W) (Lit_Other '*')}]
                  action: [(C {(shift)} {(1)})]
                  spids: [766 768 780 16777215]
                )
                (case_arm
                  pat_list: [{(-S)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' -FAs'))}
                          spids: [787]
                        )
                      ]
                      spids: [787]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [783 784 799 16777215]
                )
                (case_arm
                  pat_list: [{(-o)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:outdir)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(dirname)} {($ VSub_Number '$2')})]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [808 812]
                                )
                              )
                            }
                          spids: [806]
                        )
                      ]
                      spids: [806]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(basename)} {($ VSub_Number '$2')})
                                            (C {(sed)} {(SQ <'s/\\.[^.]*//g'>)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [818 828]
                                )
                              )
                            }
                          spids: [816]
                        )
                      ]
                      spids: [816]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$single'))} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {(DQ (-Fo) ($ VSub_Number '$2'))}
                                  spids: [849]
                                )
                              ]
                              spids: [849]
                            )
                          ]
                          spids: [16777215 845]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:output)
                              op: Equal
                              rhs: {(DQ (-Fe) ($ VSub_Number '$2'))}
                              spids: [859]
                            )
                          ]
                          spids: [859]
                        )
                      ]
                      spids: [856 866]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$assembly'))} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$args') (' ') ($ VSub_Name '$output'))}
                                  spids: [885]
                                )
                              ]
                              spids: [885]
                            )
                          ]
                          spids: [16777215 882]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:args)
                              op: Equal
                              rhs: 
                                {
                                  (DQ ($ VSub_Name '$args') (' ') ($ VSub_Name '$output') (' -Fd') 
                                    ($ VSub_Name '$outdir') (/) ($ VSub_Name '$base') (' -Fp') ($ VSub_Name '$outdir') (/) ($ VSub_Name '$base') (' -Fa') 
                                    ($ VSub_Name '$outdir') (/) ($ VSub_Name '$base')
                                  )
                                }
                              spids: [896]
                            )
                          ]
                          spids: [896]
                        )
                      ]
                      spids: [893 916]
                    )
                    (C {(shift)} {(2)})
                  ]
                  spids: [802 803 924 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.S)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:src)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [932]
                        )
                      ]
                      spids: [932]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:assembly)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [936]
                        )
                      ]
                      spids: [936]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [927 929 947 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.c)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' ') ($ VSub_Number '$1'))}
                          spids: [955]
                        )
                      ]
                      spids: [955]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [950 952 968 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$args') (' ') ($ VSub_Number '$1'))}
                          spids: [979]
                        )
                      ]
                      spids: [979]
                    )
                    (C {(shift)} {(1)})
                  ]
                  spids: [971 972 992 16777215]
                )
              ]
              spids: [171 176 995]
            )
          ]
          spids: [168 997]
        )
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$opt'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:args)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$args') (' -link -OPT:REF -OPT:ICF -INCREMENTAL:NO'))}
                  spids: [1025]
                )
              ]
              spids: [1025]
            )
          ]
          spids: [16777215 1022]
        )
      ]
      spids: [16777215 1031]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$static_crt'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:md) op:Equal rhs:{(-MT)} spids:[1050])]
              spids: [1050]
            )
          ]
          spids: [16777215 1047]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:md) op:Equal rhs:{(-MD)} spids:[1056])]
          spids: [1056]
        )
      ]
      spids: [1053 1059]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$debug_crt'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:md)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name md) (d))}
                  spids: [1078]
                )
              ]
              spids: [1078]
            )
          ]
          spids: [16777215 1075]
        )
      ]
      spids: [16777215 1086]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$assembly'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$outdir'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:outdir)
                          op: Equal
                          rhs: {(DQ (.))}
                          spids: [1121]
                        )
                      ]
                      spids: [1121]
                    )
                  ]
                  spids: [16777215 1118]
                )
              ]
              spids: [16777215 1127]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ppsrc)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$outdir') (/) 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(basename)} {($ VSub_Name '$src')})
                                    (C {(sed)} {(SQ <'s/.S$/.asm/g'>)})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [1134 1144]
                        )
                      )
                    }
                  spids: [1130]
                )
              ]
              spids: [1130]
            )
            (C {(echo)} 
              {
                (DQ ($ VSub_Name '$cl') (' -nologo -EP ') ($ VSub_Name '$includes') (' ') 
                  ($ VSub_Name '$defines') (' ') ($ VSub_Name '$src') (' > ') ($ VSub_Name '$ppsrc')
                )
              }
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [
                    {(DQ ($ VSub_Name '$cl'))}
                    {(-nologo)}
                    {(-EP)}
                    {($ VSub_Name '$includes')}
                    {($ VSub_Name '$defines')}
                    {($ VSub_Name '$src')}
                  ]
                  redirects: [
                    (Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {($ VSub_Name '$ppsrc')}
                    )
                  ]
                )
                (ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_QMark '$?')}
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_Name '$output')})
                                    (C {(sed)} {(SQ <'s%/F[dpa][^ ]*%%g'>)})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [1190 1202]
                        )
                      )
                    }
                  spids: [1188]
                )
              ]
              spids: [1188]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:args)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('-nologo ') ($ VSub_Name '$safeseh') (' ') ($ VSub_Name '$single') (' ') 
                        ($ VSub_Name '$output') (' ') ($ VSub_Name '$ppsrc')
                      )
                    }
                  spids: [1206]
                )
              ]
              spids: [1206]
            )
            (C {(echo)} {(DQ ($ VSub_Name '$ml') (' ') ($ VSub_Name '$args'))})
            (C {(eval)} 
              {
                (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$ml') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') ($ VSub_Name '$args')
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:result)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [1240]
                )
              ]
              spids: [1240]
            )
          ]
          spids: [16777215 1102]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:args)
              op: Equal
              rhs: {(DQ ($ VSub_Name '$md') (' ') ($ VSub_Name '$args'))}
              spids: [1255]
            )
          ]
          spids: [1255]
        )
        (C {(echo)} {(DQ ($ VSub_Name '$cl') (' ') ($ VSub_Name '$args'))})
        (C {(eval)} 
          {
            (DQ ('(') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$cl') 
              (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') ($ VSub_Name '$args') (' 2>&1 1>&3 | ') ("          awk '{print ") 
              (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("0} /D9002/ {error=1} END{exit error}' >&2) 3>&1")
            )
          }
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:result)
              op: Equal
              rhs: {($ VSub_QMark '$?')}
              spids: [1297]
            )
          ]
          spids: [1297]
        )
      ]
      spids: [1252 1300]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$result')})
  ]
)