(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'in='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'in='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'in='> name:in)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_Number 1))}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'out='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'out='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'out='> name:out)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_Number 2))}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'my_abis='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'my_abis='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'my_abis='> name:my_abis)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        blame_tok: <echo>
                        more_env: []
                        words: [{<echo>} {(DQ <'('> ($ Id.VSub_Number 3) <')'>)}]
                        redirects: []
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <tr>
                        more_env: []
                        words: [{<tr>} {(SQ <','>)} {(SQ <'|'>)}]
                        redirects: []
                        do_fork: T
                      )
                    ]
                    ops: [<Id.Op_Pipe _>]
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'prefix='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'prefix='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prefix='> name:prefix)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_Number 4))}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'offset='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'offset='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'offset='> name:offset)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_Number 5))}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'fileguard='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'fileguard='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fileguard='> name:fileguard)
          op: assign_op.Equal
          rhs: 
            {<_ASM_X86_> 
              (CommandSub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        blame_tok: <basename>
                        more_env: []
                        words: [{<basename>} {(DQ ($ Id.VSub_DollarName out))}]
                        redirects: []
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <sed>
                        more_env: []
                        words: [
                          {<sed>}
                          {<-e>}
                          {(SQ <'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'>)}
                          {<-e>}
                          {(SQ <'s/[^A-Z0-9_]/_/g'>)}
                          {<-e>}
                          {(SQ <'s/__/_/g'>)}
                        ]
                        redirects: []
                        do_fork: T
                      )
                    ]
                    ops: [<Id.Op_Pipe _>]
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Pipeline
      children: [
        (command.Simple
          blame_tok: <grep>
          more_env: []
          words: [
            {<grep>}
            {<-E>}
            {(DQ <'^[0-9A-Fa-fXx]+[[:space:]]+'> (${ Id.VSub_Name my_abis))}
            {(DQ ($ Id.VSub_DollarName in))}
          ]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <sort>
          more_env: []
          words: [{<sort>} {<-n>}]
          redirects: []
          do_fork: T
        )
        (command.Subshell
          left: <Id.Op_LParen _>
          child: 
            (command.CommandList
              children: [
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [{<echo>} {(DQ <'#ifndef '> (${ Id.VSub_Name fileguard))}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [{<echo>} {(DQ <'#define '> (${ Id.VSub_Name fileguard) <' 1'>)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [{<echo>} {(DQ )}]
                  redirects: []
                  do_fork: T
                )
                (command.WhileUntil
                  keyword: <Id.KW_While while>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <read>
                              more_env: []
                              words: [{<read>} {<nr>} {<abi>} {<name>} {<entry>}]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  body: 
                    (command.DoGroup
                      left: <Id.KW_Do do>
                      children: [
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <Id.Lit_LBracket '['>
                                          more_env: []
                                          words: [
                                            {<Id.Lit_LBracket '['>}
                                            {<-z>}
                                            {(DQ ($ Id.VSub_DollarName offset))}
                                            {<Id.Lit_RBracket ']'>}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [
                                    {<echo>}
                                    {
                                      (DQ <'#define __NR_'> (${ Id.VSub_Name prefix) 
                                        (${ Id.VSub_Name name) <' '> ($ Id.VSub_DollarName nr)
                                      )
                                    }
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              spids: [165 178]
                            )
                          ]
                          else_kw: <Id.KW_Else else>
                          else_action: [
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [
                                {<echo>}
                                {
                                  (DQ <'#define __NR_'> (${ Id.VSub_Name prefix) (${ Id.VSub_Name name) 
                                    <' ('> ($ Id.VSub_DollarName offset) <' + '> ($ Id.VSub_DollarName nr) <')'>
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                      ]
                      right: <Id.KW_Done done>
                    )
                  redirects: []
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [{<echo>} {(DQ )}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [{<echo>} {(DQ <'#endif /* '> (${ Id.VSub_Name fileguard) <' */'>)}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          right: <Id.Right_Subshell _>
          redirects: [
            (Redir
              op: <Id.Redir_Great '>'>
              loc: (redir_loc.Fd fd:1)
              arg: {(DQ ($ Id.VSub_DollarName out))}
            )
          ]
        )
      ]
      ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
    )
  ]
)