//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR ARM ANSI C/C++ Compiler V4.42A/W32 EVALUATION   29/Oct/2008  03:34:15 /
// Copyright 1999-2005 IAR Systems. All rights reserved.                     /
//                                                                           /
//    Cpu mode        =  interwork                                           /
//    Endian          =  little                                              /
//    Stack alignment =  4                                                   /
//    Source file     =  D:\Pasha\elf\_MY_PROJECT_\NRSS\decode_xml.c         /
//    Command line    =  D:\Pasha\elf\_MY_PROJECT_\NRSS\decode_xml.c -D      /
//                       NEWSGOLD -D ELKA -lCN D:\Pasha\elf\_MY_PROJECT_\NRS /
//                       S\Release_ELKA\List\ -la                            /
//                       D:\Pasha\elf\_MY_PROJECT_\NRSS\Release_ELKA\List\   /
//                       -o D:\Pasha\elf\_MY_PROJECT_\NRSS\Release_ELKA\Obj\ /
//                        -s9 --no_unroll --cpu_mode arm --endian little     /
//                       --cpu ARM926EJ-S --stack_align 4 --interwork -e     /
//                       --fpu None --dlib_config "D:\Pasha\Embedded         /
//                       Workbench 4.0 Evaluation2\ARM\LIB\dl5tpainl8n.h"    /
//                       -I "D:\Pasha\Embedded Workbench 4.0                 /
//                       Evaluation2\ARM\INC\" --inline_threshold=2          /
//    List file       =  D:\Pasha\elf\_MY_PROJECT_\NRSS\Release_ELKA\List\de /
//                       code_xml.s79                                        /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME decode_xml

        RTMODEL "StackAlign4", "USED"
        RTMODEL "__cpu_mode", "__pcs__interwork"
        RTMODEL "__data_model", "absolute"
        RTMODEL "__endian", "little"
        RTMODEL "__rt_version", "6"

        RSEG CSTACK:DATA:NOROOT(2)

        MULTWEAK ??AddTextToNode??rT
        MULTWEAK ??DestroyTree??rT
        MULTWEAK ??EndAttr??rT
        MULTWEAK ??EndTag??rT
        MULTWEAK ??FreeAttrQueue??rT
        MULTWEAK ??IsName??rT
        MULTWEAK ??XMLDecode??rT
        PUBLIC AddTextToNode
        FUNCTION AddTextToNode,0203H
        LOCFRAME CSTACK, 28, STACK
        PUBLIC DestroyTree
        FUNCTION DestroyTree,0203H
        LOCFRAME CSTACK, 12, STACK
        PUBLIC EndAttr
        FUNCTION EndAttr,0203H
        LOCFRAME CSTACK, 24, STACK
        PUBLIC EndTag
        FUNCTION EndTag,0203H
        LOCFRAME CSTACK, 20, STACK
        PUBLIC FreeAttrQueue
        FUNCTION FreeAttrQueue,0203H
        LOCFRAME CSTACK, 12, STACK
        PUBLIC IsName
        FUNCTION IsName,0203H
        PUBLIC XMLDecode
        FUNCTION XMLDecode,0203H
        LOCFRAME CSTACK, 596, STACK
        
        CFI Names cfiNames0
        CFI StackFrame CFA R13 HUGEDATA
        CFI Resource R0:32, R1:32, R2:32, R3:32, R4:32, R5:32, R6:32, R7:32
        CFI Resource R8:32, R9:32, R10:32, R11:32, R12:32, CPSR:32, R13:32
        CFI Resource R14:32, SPSR:32
        CFI VirtualResource ?RET:32
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 2
        CFI DataAlign 4
        CFI ReturnAddress ?RET CODE
        CFI CFA R13+0
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 Undefined
        CFI CPSR SameValue
        CFI R14 Undefined
        CFI SPSR SameValue
        CFI ?RET R14
        CFI EndCommon cfiCommon0
        
        
        CFI Common cfiCommon1 Using cfiNames0
        CFI CodeAlign 4
        CFI DataAlign 4
        CFI ReturnAddress ?RET CODE
        CFI CFA R13+0
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 Undefined
        CFI CPSR SameValue
        CFI R14 Undefined
        CFI SPSR SameValue
        CFI ?RET R14
        CFI EndCommon cfiCommon1
        
AddTextToNode       SYMBOL "AddTextToNode"
??AddTextToNode??rT SYMBOL "??rT", AddTextToNode
DestroyTree         SYMBOL "DestroyTree"
??DestroyTree??rT   SYMBOL "??rT", DestroyTree
EndAttr             SYMBOL "EndAttr"
??EndAttr??rT       SYMBOL "??rT", EndAttr
EndTag              SYMBOL "EndTag"
??EndTag??rT        SYMBOL "??rT", EndTag
FreeAttrQueue       SYMBOL "FreeAttrQueue"
??FreeAttrQueue??rT SYMBOL "??rT", FreeAttrQueue
IsName              SYMBOL "IsName"
??IsName??rT        SYMBOL "??rT", IsName
XMLDecode           SYMBOL "XMLDecode"
??XMLDecode??rT     SYMBOL "??rT", XMLDecode


        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock0 Using cfiCommon0
        CFI NoFunction
        THUMB
??IsName??rT:
        BX       PC
        Nop      
        CFI EndBlock cfiBlock0
        REQUIRE IsName

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock1 Using cfiCommon1
        CFI Function IsName
        ARM
IsName:
        CMP      R0,#+97
        BLT      ??IsName_0
        CMP      R0,#+123
        BLT      ??IsName_1
        B        ??IsName_2
??IsName_0:
        CMP      R0,#+65
        BLT      ??IsName_2
        CMP      R0,#+91
        BLT      ??IsName_1
??IsName_2:
        CMP      R0,#+48
        BLT      ??IsName_3
        CMP      R0,#+58
        BLT      ??IsName_1
??IsName_3:
        CMP      R0,#+95
        CMPNE    R0,#+45
        CMPNE    R0,#+58
        BNE      ??IsName_4
??IsName_1:
        MOV      R0,#+1
        BX       LR
??IsName_4:
        MOV      R0,#+0
        BX       LR               ;; return
        CFI EndBlock cfiBlock1

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock2 Using cfiCommon0
        CFI NoFunction
        THUMB
??FreeAttrQueue??rT:
        BX       PC
        Nop      
        CFI EndBlock cfiBlock2
        REQUIRE FreeAttrQueue

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock3 Using cfiCommon1
        CFI Function FreeAttrQueue
        ARM
FreeAttrQueue:
        PUSH     {R4,R5,LR}
        CFI ?RET Frame(CFA, -4)
        CFI R5 Frame(CFA, -8)
        CFI R4 Frame(CFA, -12)
        CFI CFA R13+12
        MOVS     R4,R0
        POPEQ    {R4,R5,PC}
??FreeAttrQueue_0:
        LDR      R5,[R4, #+0]
        LDR      R0,[R4, #+4]
        SWI      +21
        LDR      R0,[R4, #+8]
        SWI      +21
        MOV      R0,R4
        SWI      +21
        MOVS     R4,R5
        BNE      ??FreeAttrQueue_0
        POP      {R4,R5,PC}       ;; return
        CFI EndBlock cfiBlock3

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock4 Using cfiCommon0
        CFI NoFunction
        THUMB
??DestroyTree??rT:
        BX       PC
        Nop      
        CFI EndBlock cfiBlock4
        REQUIRE DestroyTree

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock5 Using cfiCommon1
        CFI Function DestroyTree
        ARM
DestroyTree:
        PUSH     {R4,R5,LR}
        CFI ?RET Frame(CFA, -4)
        CFI R5 Frame(CFA, -8)
        CFI R4 Frame(CFA, -12)
        CFI CFA R13+12
        MOVS     R4,R0
        POPEQ    {R4,R5,PC}
??DestroyTree_0:
        LDR      R0,[R4, #+12]
        BL       FreeAttrQueue
        LDR      R0,[R4, #+4]
        CMP      R0,#+0
        BEQ      ??DestroyTree_1
        BL       DestroyTree
??DestroyTree_1:
        LDR      R5,[R4, #+0]
        LDR      R0,[R4, #+8]
        SWI      +21
        LDR      R0,[R4, #+16]
        SWI      +21
        MOV      R0,R4
        SWI      +21
        MOVS     R4,R5
        BNE      ??DestroyTree_0
        POP      {R4,R5,PC}       ;; return
        CFI EndBlock cfiBlock5

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock6 Using cfiCommon0
        CFI NoFunction
        THUMB
??AddTextToNode??rT:
        BX       PC
        Nop      
        CFI EndBlock cfiBlock6
        REQUIRE AddTextToNode

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock7 Using cfiCommon1
        CFI Function AddTextToNode
        ARM
AddTextToNode:
        PUSH     {R4-R9,LR}
        CFI ?RET Frame(CFA, -4)
        CFI R9 Frame(CFA, -8)
        CFI R8 Frame(CFA, -12)
        CFI R7 Frame(CFA, -16)
        CFI R6 Frame(CFA, -20)
        CFI R5 Frame(CFA, -24)
        CFI R4 Frame(CFA, -28)
        CFI CFA R13+28
        MOV      R6,R0
        LDR      R0,[R6, #+16]
        MOV      R7,R1
        MOV      R8,R2
        MOV      R4,#+0
        CMP      R0,#+0
        BEQ      ??AddTextToNode_0
        SWI      +27
        MOV      R9,R0
        LDR      R0,[R6, #+16]
        ADD      R5,R8,R9
        ADD      R1,R5,#+2
        SWI      +186
        STR      R0,[R6, #+16]
        MOV      R6,R0
        MOV      R0,#+32
        STRB     R0,[R9, +R6]
        MOV      R2,R8
        MOV      R1,R7
        ADD      R0,R9,R6
        ADD      R0,R0,#+1
        SWI      +278
        ADD      R0,R5,R6
        STRB     R4,[R0, #+1]
        POP      {R4-R9,PC}
??AddTextToNode_0:
        ADD      R0,R8,#+1
        SWI      +20
        STR      R0,[R6, #+16]
        MOV      R6,R0
        MOV      R2,R8
        MOV      R1,R7
        SWI      +278
        STRB     R4,[R8, +R6]
        POP      {R4-R9,PC}       ;; return
        CFI EndBlock cfiBlock7

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock8 Using cfiCommon0
        CFI NoFunction
        THUMB
??EndTag??rT:
        BX       PC
        Nop      
        CFI EndBlock cfiBlock8
        REQUIRE EndTag

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock9 Using cfiCommon1
        CFI Function EndTag
        ARM
EndTag:
        PUSH     {R4-R7,LR}
        CFI ?RET Frame(CFA, -4)
        CFI R7 Frame(CFA, -8)
        CFI R6 Frame(CFA, -12)
        CFI R5 Frame(CFA, -16)
        CFI R4 Frame(CFA, -20)
        CFI CFA R13+20
        MOV      R4,R0
        MOV      R5,R1
        MOV      R6,R2
        MOV      R0,#+20
        SWI      +20
        MOV      R7,R0
        MOV      R1,#+20
        SWI      +285
        ADD      R0,R5,#+1
        SWI      +20
        STR      R0,[R7, #+8]
        MOV      R2,R5
        MOV      R1,R4
        SWI      +278
        LDR      R0,[R7, #+8]
        MOV      R1,#+0
        STRB     R1,[R5, +R0]
        STR      R6,[R7, #+12]
        MOV      R0,R7
        POP      {R4-R7,PC}       ;; return
        CFI EndBlock cfiBlock9

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock10 Using cfiCommon0
        CFI NoFunction
        THUMB
??EndAttr??rT:
        BX       PC
        Nop      
        CFI EndBlock cfiBlock10
        REQUIRE EndAttr

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock11 Using cfiCommon1
        CFI Function EndAttr
        ARM
EndAttr:
        PUSH     {R4-R8,LR}
        CFI ?RET Frame(CFA, -4)
        CFI R8 Frame(CFA, -8)
        CFI R7 Frame(CFA, -12)
        CFI R6 Frame(CFA, -16)
        CFI R5 Frame(CFA, -20)
        CFI R4 Frame(CFA, -24)
        CFI CFA R13+24
        MOV      R4,R0
        MOV      R5,R1
        MOV      R6,R2
        MOV      R7,R3
        MOV      R0,#+12
        SWI      +20
        MOV      R8,R0
        MOV      R1,#+12
        SWI      +285
        ADD      R0,R5,#+1
        SWI      +20
        STR      R0,[R8, #+4]
        MOV      R2,R5
        MOV      R1,R4
        SWI      +278
        LDR      R0,[R8, #+4]
        MOV      R4,#+0
        STRB     R4,[R5, +R0]
        CMP      R7,#+1
        BLT      ??EndAttr_0
        ADD      R0,R7,#+1
        SWI      +20
        STR      R0,[R8, #+8]
        MOV      R2,R7
        MOV      R1,R6
        SWI      +278
        LDR      R0,[R8, #+8]
        STRB     R4,[R7, +R0]
??EndAttr_0:
        MOV      R0,R8
        POP      {R4-R8,PC}       ;; return
        CFI EndBlock cfiBlock11

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock12 Using cfiCommon0
        CFI NoFunction
        THUMB
??XMLDecode??rT:
        BX       PC
        Nop      
        CFI EndBlock cfiBlock12
        REQUIRE XMLDecode

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock13 Using cfiCommon1
        CFI Function XMLDecode
        ARM
XMLDecode:
        PUSH     {R1,R4-R11,LR}
        CFI ?RET Frame(CFA, -4)
        CFI R11 Frame(CFA, -8)
        CFI R10 Frame(CFA, -12)
        CFI R9 Frame(CFA, -16)
        CFI R8 Frame(CFA, -20)
        CFI R7 Frame(CFA, -24)
        CFI R6 Frame(CFA, -28)
        CFI R5 Frame(CFA, -32)
        CFI R4 Frame(CFA, -36)
        CFI CFA R13+40
        SUB      SP,SP,#+556
        CFI CFA R13+596
        MOV      R4,R0
        MOV      R10,#+0
        MOV      R1,#+0
        STR      R1,[SP, #+24]
        STR      R1,[SP, #+28]
        STR      R1,[SP, #+0]
        STR      R1,[SP, #+32]
        MOV      R5,R1
        MOV      R6,#+1
        MOV      R7,R6
        MOV      R9,R1
        B        ??XMLDecode_1
??XMLDecode_2:
        MOV      R8,R0
??XMLDecode_3:
        ADD      R9,R9,#+1
??XMLDecode_1:
        LDR      R0,[SP, #+556]
        CMP      R9,R0
        BGE      ??XMLDecode_4
        LDRB     R11,[R9, +R4]
        ADD      R0,R8,#+1
        SUB      R1,R6,#+1
        CMP      R1,#+12
        BHI      ??XMLDecode_3
        ADR      R2,??XMLDecode_0
        MOV      R1,R1, LSL #+1
        LDRSH    R2,[R2, R1]
        ADD      PC,PC,R2, LSL #+2
        DATA
??XMLDecode_0:
        DC16     +6,+19,+54,+71
        DC16     +109,+136,+153,+156
        DC16     +166,+90,+215,+232
        DC16     +245,+0
        ARM
??XMLDecode_5:
        CMP      R11,#+60
        MOVEQ    R6,#+2
        BEQ      ??XMLDecode_3
        CMP      R11,#+32
        CMPNE    R11,#+10
        CMPNE    R11,#+13
        CMPNE    R11,#+9
        BEQ      ??XMLDecode_3
??XMLDecode_4:
        MOV      R0,R10
        BL       FreeAttrQueue
        LDR      R0,[SP, #+28]
        ADD      SP,SP,#+560
        CFI CFA R13+36
        POP      {R4-R11,PC}      ;; return
        CFI CFA R13+596
??XMLDecode_6:
        CMP      R11,#+97
        BLT      ??XMLDecode_7
        CMP      R11,#+123
        BLT      ??XMLDecode_8
??XMLDecode_9:
        CMP      R11,#+32
        CMPNE    R11,#+10
        CMPNE    R11,#+13
        CMPNE    R11,#+9
        BNE      ??XMLDecode_10
        MOV      R6,#+3
??XMLDecode_11:
        MOV      R7,#+2
        B        ??XMLDecode_3
??XMLDecode_7:
        CMP      R11,#+65
        BLT      ??XMLDecode_9
        CMP      R11,#+91
        BGE      ??XMLDecode_9
??XMLDecode_8:
        MOV      R6,#+4
        MOV      R7,#+2
??XMLDecode_12:
        ADD      R1,R9,R4
        STR      R1,[SP, #+20]
        MOV      R1,#+1
??XMLDecode_13:
        STR      R1,[SP, #+4]
        B        ??XMLDecode_3
??XMLDecode_10:
        CMP      R11,#+63
        MOVEQ    R6,#+3
        MOVEQ    R7,#+5
        BEQ      ??XMLDecode_3
        CMP      R11,#+47
        MOVEQ    R6,#+3
        MOVEQ    R7,#+3
        BEQ      ??XMLDecode_3
        CMP      R11,#+33
        BNE      ??XMLDecode_4
        MOV      R6,#+12
        B        ??XMLDecode_3
??XMLDecode_14:
        CMP      R11,#+97
        BLT      ??XMLDecode_15
        CMP      R11,#+123
        BLT      ??XMLDecode_16
??XMLDecode_17:
        CMP      R11,#+32
        CMPNE    R11,#+10
        CMPNE    R11,#+13
        BEQ      ??XMLDecode_3
        CMP      R11,#+9
??XMLDecode_18:
        BNE      ??XMLDecode_4
        B        ??XMLDecode_3
??XMLDecode_15:
        CMP      R11,#+65
        BLT      ??XMLDecode_17
        CMP      R11,#+91
        BGE      ??XMLDecode_17
??XMLDecode_16:
        MOV      R6,#+4
        B        ??XMLDecode_12
??XMLDecode_19:
        MOV      R0,R11
        BL       IsName
        CMP      R0,#+0
        BEQ      ??XMLDecode_20
        LDR      R1,[SP, #+4]
        ADD      R1,R1,#+1
        B        ??XMLDecode_13
??XMLDecode_20:
        CMP      R11,#+32
        CMPNE    R11,#+10
        CMPNE    R11,#+13
        CMPNE    R11,#+9
        MOVEQ    R6,#+5
        BEQ      ??XMLDecode_3
        CMP      R11,#+47
        BNE      ??XMLDecode_21
        MOV      R8,#+0
??XMLDecode_22:
        MOV      R6,#+10
        MOV      R7,#+4
        B        ??XMLDecode_3
??XMLDecode_21:
        CMP      R11,#+62
        BNE      ??XMLDecode_4
??XMLDecode_23:
        MOV      R6,#+11
        ADD      R1,R9,R4
        ADD      R1,R1,#+1
        STR      R1,[SP, #+16]
        MOV      R8,#+0
        CMP      R7,#+2
        CMPNE    R7,#+4
        BNE      ??XMLDecode_24
        LDR      R1,[SP, #+4]
        LDR      R0,[SP, #+20]
        MOV      R2,R10
        BL       EndTag
        LDR      R1,[SP, #+28]
        CMP      R1,#+0
        BNE      ??XMLDecode_25
        STR      R0,[SP, #+28]
        B        ??XMLDecode_26
??XMLDecode_27:
        CMP      R11,#+97
        BLT      ??XMLDecode_28
        CMP      R11,#+123
        BLT      ??XMLDecode_29
??XMLDecode_30:
        CMP      R11,#+47
        BNE      ??XMLDecode_31
        B        ??XMLDecode_22
??XMLDecode_28:
        CMP      R11,#+65
        BLT      ??XMLDecode_30
        CMP      R11,#+91
        BGE      ??XMLDecode_30
??XMLDecode_29:
        MOV      R6,#+6
        ADD      R1,R9,R4
        STR      R1,[SP, #+36]
        MOV      R1,#+1
??XMLDecode_32:
        STR      R1,[SP, #+8]
        B        ??XMLDecode_3
??XMLDecode_31:
        CMP      R11,#+62
        BEQ      ??XMLDecode_23
        CMP      R11,#+32
        CMPNE    R11,#+10
        CMPNE    R11,#+13
        CMPNE    R11,#+9
        CMPNE    R11,#+63
        BEQ      ??XMLDecode_3
        CMP      R7,#+5
        B        ??XMLDecode_18
??XMLDecode_33:
        MOV      R0,R11
        BL       IsName
        CMP      R0,#+0
        LDRNE    R1,[SP, #+8]
        ADDNE    R1,R1,#+1
        BNE      ??XMLDecode_32
        CMP      R11,#+61
        BNE      ??XMLDecode_34
??XMLDecode_35:
        MOV      R6,#+8
        B        ??XMLDecode_3
??XMLDecode_34:
        CMP      R11,#+32
        CMPNE    R11,#+10
        CMPNE    R11,#+13
        CMPNE    R11,#+9
        BNE      ??XMLDecode_4
        MOV      R6,#+7
        B        ??XMLDecode_3
??XMLDecode_36:
        CMP      R11,#+61
        BEQ      ??XMLDecode_35
        B        ??XMLDecode_17
??XMLDecode_37:
        CMP      R11,#+34
        CMPNE    R11,#+39
        BNE      ??XMLDecode_17
        MOV      R6,#+9
        ADD      R1,R9,R4
        ADD      R1,R1,#+1
        STR      R1,[SP, #+40]
        MOV      R1,#+0
??XMLDecode_38:
        STR      R1,[SP, #+12]
        B        ??XMLDecode_3
??XMLDecode_39:
        CMP      R11,#+34
        CMPNE    R11,#+39
        BNE      ??XMLDecode_40
        LDR      R0,[SP, #+36]
        LDR      R3,[SP, #+12]
        LDR      R2,[SP, #+40]
        LDR      R1,[SP, #+8]
        MOV      R6,#+5
        BL       EndAttr
        CMP      R10,#+0
        MOVEQ    R10,R0
        STREQ    R10,[SP, #+24]
        BEQ      ??XMLDecode_3
        LDR      R1,[SP, #+24]
        STR      R0,[R1, #+0]
        STR      R0,[SP, #+24]
        B        ??XMLDecode_3
??XMLDecode_40:
        LDR      R1,[SP, #+12]
        ADD      R1,R1,#+1
        B        ??XMLDecode_38
??XMLDecode_25:
        LDR      R1,[SP, #+32]
        CMP      R1,#+0
        LDR      R1,[SP, #+0]
        STREQ    R0,[R1, #+0]
        STRNE    R0,[R1, #+4]
??XMLDecode_26:
        ADD      R1,SP,#+44
        STR      R0,[R1, +R5, LSL #+2]
        ADD      R5,R5,#+1
        STR      R0,[SP, #+0]
        MOV      R10,#+0
        MOV      R1,#+1
        STR      R1,[SP, #+32]
??XMLDecode_24:
        CMP      R7,#+4
        CMPNE    R7,#+3
        BNE      ??XMLDecode_41
        CMP      R5,#+1
        BLT      ??XMLDecode_42
        SUB      R5,R5,#+1
        ADD      R1,SP,#+44
        LDR      R1,[R1, +R5, LSL #+2]
        STR      R1,[SP, #+0]
??XMLDecode_42:
        MOV      R1,#+0
        STR      R1,[SP, #+32]
??XMLDecode_41:
        CMP      R10,#+0
        BEQ      ??XMLDecode_3
        MOV      R0,R10
        BL       FreeAttrQueue
        MOV      R10,#+0
        B        ??XMLDecode_3
??XMLDecode_43:
        CMP      R11,#+60
        BNE      ??XMLDecode_44
        CMP      R8,#+1
        BLT      ??XMLDecode_45
        LDR      R0,[SP, #+0]
        CMP      R0,#+0
        BEQ      ??XMLDecode_45
        LDR      R1,[SP, #+16]
        MOV      R2,R8
        BL       AddTextToNode
??XMLDecode_45:
        MOV      R8,#+0
        MOV      R6,#+2
        MOV      R7,#+1
        B        ??XMLDecode_3
??XMLDecode_44:
        CMP      R7,#+2
        BNE      ??XMLDecode_3
        B        ??XMLDecode_2
??XMLDecode_46:
        LDR      R1,??XMLDecode_47  ;; `?<Constant "[CDATA[">`
        MOV      R2,#+7
        ADD      R0,R9,R4
        SWI      +277
        CMP      R0,#+0
        BNE      ??XMLDecode_4
        ADD      R9,R9,#+6
        ADD      R1,R9,R4
        ADD      R1,R1,#+1
        STR      R1,[SP, #+16]
        MOV      R8,#+0
        MOV      R6,#+13
        B        ??XMLDecode_11
??XMLDecode_48:
        CMP      R11,#+93
        BNE      ??XMLDecode_2
        ADD      R1,R9,R4
        LDRB     R1,[R1, #+1]
        CMP      R1,#+93
        BNE      ??XMLDecode_2
        ADD      R1,R9,R4
        LDRB     R1,[R1, #+2]
        CMP      R1,#+62
        BNE      ??XMLDecode_2
        CMP      R8,#+1
        BLT      ??XMLDecode_49
        LDR      R0,[SP, #+0]
        CMP      R0,#+0
        BEQ      ??XMLDecode_49
        LDR      R1,[SP, #+16]
        MOV      R2,R8
        BL       AddTextToNode
??XMLDecode_49:
        MOV      R8,#+0
        MOV      R6,#+1
        MOV      R7,#+1
        ADD      R9,R9,#+2
        B        ??XMLDecode_3
        DATA
??XMLDecode_47:
        DC32     `?<Constant "[CDATA[">`
        CFI EndBlock cfiBlock13

        RSEG DATA_C:CONST:SORT:NOROOT(2)
`?<Constant "[CDATA[">`:
        DATA
        DC8 "[CDATA["

        END
// 
// 1 780 bytes in segment CODE
//     8 bytes in segment DATA_C
// 
// 1 752 bytes of CODE  memory (+ 28 bytes shared)
//     8 bytes of CONST memory
//
//Errors: none
//Warnings: none
