; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\obj\qr_encode.o --depend=.\obj\qr_encode.d --device=DARMSTM --apcs=interwork -O0 -I.\FWlib\inc -I.\user -I.\CM3 -Id:\Keil\ARM\INC\ST\STM32F10x -D__MICROLIB -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD --omf_browse=.\obj\qr_encode.crf user\QR_Encode.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  SetFormatInfoPattern PROC
;;;1609   
;;;1610   void SetFormatInfoPattern(int nPatternNo)
000000  b570              PUSH     {r4-r6,lr}
;;;1611   {
;;;1612   	int nFormatInfo;
;;;1613   	int i;
;;;1614   	int nFormatData;
;;;1615   
;;;1616   	switch (m_nLevel)
000002  4cfc              LDR      r4,|L1.1012|
000004  6824              LDR      r4,[r4,#0]  ; m_nLevel
000006  b134              CBZ      r4,|L1.22|
000008  2c01              CMP      r4,#1
00000a  d002              BEQ      |L1.18|
00000c  2c02              CMP      r4,#2
00000e  d106              BNE      |L1.30|
000010  e003              B        |L1.26|
                  |L1.18|
;;;1617   	{
;;;1618   	case QR_LEVEL_M:
;;;1619   		nFormatInfo = 0x00; 
000012  2100              MOVS     r1,#0
;;;1620   		break;
000014  e005              B        |L1.34|
                  |L1.22|
;;;1621   
;;;1622   	case QR_LEVEL_L:
;;;1623   		nFormatInfo = 0x08; 
000016  2108              MOVS     r1,#8
;;;1624   		break;
000018  e003              B        |L1.34|
                  |L1.26|
;;;1625   
;;;1626   	case QR_LEVEL_Q:
;;;1627   		nFormatInfo = 0x18; 
00001a  2118              MOVS     r1,#0x18
;;;1628   		break;
00001c  e001              B        |L1.34|
                  |L1.30|
;;;1629   
;;;1630   	default: 
;;;1631   		nFormatInfo = 0x10; 
00001e  2110              MOVS     r1,#0x10
;;;1632   		break;
000020  bf00              NOP      
                  |L1.34|
000022  bf00              NOP                            ;1620
;;;1633   	}
;;;1634   
;;;1635   	nFormatInfo += nPatternNo;
000024  4401              ADD      r1,r1,r0
;;;1636   
;;;1637   	nFormatData = nFormatInfo << 10;
000026  028b              LSLS     r3,r1,#10
;;;1638   
;;;1639   	for (i = 0; i < 5; ++i)
000028  2200              MOVS     r2,#0
00002a  e00c              B        |L1.70|
                  |L1.44|
;;;1640   	{
;;;1641   		if (nFormatData & (1 << (14 - i)))
00002c  f1c2050e          RSB      r5,r2,#0xe
000030  2401              MOVS     r4,#1
000032  40ac              LSLS     r4,r4,r5
000034  421c              TST      r4,r3
000036  d005              BEQ      |L1.68|
;;;1642   		{
;;;1643   			nFormatData ^= (0x0537 << (4 - i)); 
000038  f1c20504          RSB      r5,r2,#4
00003c  f2405437          MOV      r4,#0x537
000040  40ac              LSLS     r4,r4,r5
000042  4063              EORS     r3,r3,r4
                  |L1.68|
000044  1c52              ADDS     r2,r2,#1              ;1639
                  |L1.70|
000046  2a05              CMP      r2,#5                 ;1639
000048  dbf0              BLT      |L1.44|
;;;1644   		}
;;;1645   	}
;;;1646   
;;;1647   	nFormatData += nFormatInfo << 10;
00004a  eb032381          ADD      r3,r3,r1,LSL #10
;;;1648   
;;;1649   	nFormatData ^= 0x5412;
00004e  f2454412          MOV      r4,#0x5412
000052  4063              EORS     r3,r3,r4
;;;1650   
;;;1651   	for (i = 0; i <= 5; ++i)
000054  2200              MOVS     r2,#0
000056  e00a              B        |L1.110|
                  |L1.88|
;;;1652   		m_byModuleData[8][i] = (nFormatData & (1 << i)) ? '\x30' : '\x20';
000058  2401              MOVS     r4,#1
00005a  4094              LSLS     r4,r4,r2
00005c  421c              TST      r4,r3
00005e  d001              BEQ      |L1.100|
000060  2430              MOVS     r4,#0x30
000062  e000              B        |L1.102|
                  |L1.100|
000064  2420              MOVS     r4,#0x20
                  |L1.102|
000066  b2e5              UXTB     r5,r4
000068  4ce3              LDR      r4,|L1.1016|
00006a  54a5              STRB     r5,[r4,r2]
00006c  1c52              ADDS     r2,r2,#1              ;1651
                  |L1.110|
00006e  2a05              CMP      r2,#5                 ;1651
000070  ddf2              BLE      |L1.88|
;;;1653   
;;;1654   	m_byModuleData[8][7] = (nFormatData & (1 << 6)) ? '\x30' : '\x20';
000072  f0130f40          TST      r3,#0x40
000076  d001              BEQ      |L1.124|
000078  2430              MOVS     r4,#0x30
00007a  e000              B        |L1.126|
                  |L1.124|
00007c  2420              MOVS     r4,#0x20
                  |L1.126|
00007e  b2e5              UXTB     r5,r4
000080  4cde              LDR      r4,|L1.1020|
000082  f8845117          STRB     r5,[r4,#0x117]
;;;1655   	m_byModuleData[8][8] = (nFormatData & (1 << 7)) ? '\x30' : '\x20';
000086  f0130f80          TST      r3,#0x80
00008a  d001              BEQ      |L1.144|
00008c  2430              MOVS     r4,#0x30
00008e  e000              B        |L1.146|
                  |L1.144|
000090  2420              MOVS     r4,#0x20
                  |L1.146|
000092  b2e5              UXTB     r5,r4
000094  4cd9              LDR      r4,|L1.1020|
000096  f8845118          STRB     r5,[r4,#0x118]
;;;1656   	m_byModuleData[7][8] = (nFormatData & (1 << 8)) ? '\x30' : '\x20';
00009a  f4137f80          TST      r3,#0x100
00009e  d001              BEQ      |L1.164|
0000a0  2430              MOVS     r4,#0x30
0000a2  e000              B        |L1.166|
                  |L1.164|
0000a4  2420              MOVS     r4,#0x20
                  |L1.166|
0000a6  b2e5              UXTB     r5,r4
0000a8  4cd4              LDR      r4,|L1.1020|
0000aa  f88450f6          STRB     r5,[r4,#0xf6]
;;;1657   
;;;1658   	for (i = 9; i <= 14; ++i)
0000ae  2209              MOVS     r2,#9
0000b0  e00f              B        |L1.210|
                  |L1.178|
;;;1659   		m_byModuleData[14 - i][8] = (nFormatData & (1 << i)) ? '\x30' : '\x20';
0000b2  2401              MOVS     r4,#1
0000b4  4094              LSLS     r4,r4,r2
0000b6  421c              TST      r4,r3
0000b8  d001              BEQ      |L1.190|
0000ba  2430              MOVS     r4,#0x30
0000bc  e000              B        |L1.192|
                  |L1.190|
0000be  2420              MOVS     r4,#0x20
                  |L1.192|
0000c0  f1c2050e          RSB      r5,r2,#0xe
0000c4  eb051505          ADD      r5,r5,r5,LSL #4
0000c8  4ecc              LDR      r6,|L1.1020|
0000ca  eb060545          ADD      r5,r6,r5,LSL #1
0000ce  722c              STRB     r4,[r5,#8]
0000d0  1c52              ADDS     r2,r2,#1              ;1658
                  |L1.210|
0000d2  2a0e              CMP      r2,#0xe               ;1658
0000d4  dded              BLE      |L1.178|
;;;1660   
;;;1661   	for (i = 0; i <= 7; ++i)
0000d6  2200              MOVS     r2,#0
0000d8  e011              B        |L1.254|
                  |L1.218|
;;;1662   		m_byModuleData[m_nSymbleSize - 1 - i][8] = (nFormatData & (1 << i)) ? '\x30' : '\x20';
0000da  2401              MOVS     r4,#1
0000dc  4094              LSLS     r4,r4,r2
0000de  421c              TST      r4,r3
0000e0  d001              BEQ      |L1.230|
0000e2  2430              MOVS     r4,#0x30
0000e4  e000              B        |L1.232|
                  |L1.230|
0000e6  2420              MOVS     r4,#0x20
                  |L1.232|
0000e8  4dc5              LDR      r5,|L1.1024|
0000ea  682d              LDR      r5,[r5,#0]  ; m_nSymbleSize
0000ec  1e6d              SUBS     r5,r5,#1
0000ee  1aad              SUBS     r5,r5,r2
0000f0  eb051505          ADD      r5,r5,r5,LSL #4
0000f4  4ec1              LDR      r6,|L1.1020|
0000f6  eb060545          ADD      r5,r6,r5,LSL #1
0000fa  722c              STRB     r4,[r5,#8]
0000fc  1c52              ADDS     r2,r2,#1              ;1661
                  |L1.254|
0000fe  2a07              CMP      r2,#7                 ;1661
000100  ddeb              BLE      |L1.218|
;;;1663   
;;;1664   	m_byModuleData[8][m_nSymbleSize - 8] = '\x30';
000102  2530              MOVS     r5,#0x30
000104  4cbe              LDR      r4,|L1.1024|
000106  6824              LDR      r4,[r4,#0]  ; m_nSymbleSize
000108  f1a40608          SUB      r6,r4,#8
00010c  4cba              LDR      r4,|L1.1016|
00010e  55a5              STRB     r5,[r4,r6]
;;;1665   
;;;1666   	for (i = 8; i <= 14; ++i)
000110  2208              MOVS     r2,#8
000112  e00e              B        |L1.306|
                  |L1.276|
;;;1667   		m_byModuleData[8][m_nSymbleSize - 15 + i] = (nFormatData & (1 << i)) ? '\x30' : '\x20';
000114  2401              MOVS     r4,#1
000116  4094              LSLS     r4,r4,r2
000118  421c              TST      r4,r3
00011a  d001              BEQ      |L1.288|
00011c  2430              MOVS     r4,#0x30
00011e  e000              B        |L1.290|
                  |L1.288|
000120  2420              MOVS     r4,#0x20
                  |L1.290|
000122  b2e5              UXTB     r5,r4
000124  4cb6              LDR      r4,|L1.1024|
000126  6824              LDR      r4,[r4,#0]  ; m_nSymbleSize
000128  3c0f              SUBS     r4,r4,#0xf
00012a  18a6              ADDS     r6,r4,r2
00012c  4cb2              LDR      r4,|L1.1016|
00012e  55a5              STRB     r5,[r4,r6]
000130  1c52              ADDS     r2,r2,#1              ;1666
                  |L1.306|
000132  2a0e              CMP      r2,#0xe               ;1666
000134  ddee              BLE      |L1.276|
;;;1668   }
000136  bd70              POP      {r4-r6,pc}
;;;1669   
                          ENDP

                  SetMaskingPattern PROC
;;;1558   
;;;1559   void SetMaskingPattern(int nPatternNo)
000138  b5f0              PUSH     {r4-r7,lr}
;;;1560   {
;;;1561   	int i, j;
;;;1562   	bool bMask;
;;;1563   	for (i = 0; i < m_nSymbleSize; ++i)
00013a  2100              MOVS     r1,#0
00013c  e0c4              B        |L1.712|
                  |L1.318|
;;;1564   	{
;;;1565   		for (j = 0; j < m_nSymbleSize; ++j)
00013e  2200              MOVS     r2,#0
000140  e0bc              B        |L1.700|
                  |L1.322|
;;;1566   		{
;;;1567   			if (! (m_byModuleData[j][i] & 0x20)) 
000142  eb021402          ADD      r4,r2,r2,LSL #4
000146  4dad              LDR      r5,|L1.1020|
000148  eb050444          ADD      r4,r5,r4,LSL #1
00014c  5c64              LDRB     r4,[r4,r1]
00014e  f0140f20          TST      r4,#0x20
000152  d175              BNE      |L1.576|
;;;1568   			{
;;;1569   				switch (nPatternNo)
000154  2807              CMP      r0,#7
000156  d278              BCS      |L1.586|
000158  e8dff000          TBB      [pc,r0]
00015c  04101c27          DCB      0x04,0x10,0x1c,0x27
000160  33465b00          DCB      0x33,0x46,0x5b,0x00
;;;1570   				{
;;;1571   				case 0:
;;;1572   					bMask = ((i + j) % 2 == 0)?TRUE:FALSE;
000164  188c              ADDS     r4,r1,r2
000166  eb0475d4          ADD      r5,r4,r4,LSR #31
00016a  106d              ASRS     r5,r5,#1
00016c  ebb40545          SUBS     r5,r4,r5,LSL #1
000170  d101              BNE      |L1.374|
000172  2501              MOVS     r5,#1
000174  e000              B        |L1.376|
                  |L1.374|
000176  2500              MOVS     r5,#0
                  |L1.376|
000178  b26b              SXTB     r3,r5
;;;1573   					break;
00017a  e07f              B        |L1.636|
;;;1574   
;;;1575   				case 1:
;;;1576   					bMask = (i % 2 == 0)?TRUE:FALSE;
00017c  460c              MOV      r4,r1
00017e  eb0175d1          ADD      r5,r1,r1,LSR #31
000182  106d              ASRS     r5,r5,#1
000184  ebb10545          SUBS     r5,r1,r5,LSL #1
000188  d101              BNE      |L1.398|
00018a  2501              MOVS     r5,#1
00018c  e000              B        |L1.400|
                  |L1.398|
00018e  2500              MOVS     r5,#0
                  |L1.400|
000190  b26b              SXTB     r3,r5
;;;1577   					break;
000192  e073              B        |L1.636|
;;;1578   
;;;1579   				case 2:
;;;1580   					bMask = (j % 3 == 0)?TRUE:FALSE;
000194  2403              MOVS     r4,#3
000196  fb92f5f4          SDIV     r5,r2,r4
00019a  fb042415          MLS      r4,r4,r5,r2
00019e  b90c              CBNZ     r4,|L1.420|
0001a0  2401              MOVS     r4,#1
0001a2  e000              B        |L1.422|
                  |L1.420|
0001a4  2400              MOVS     r4,#0
                  |L1.422|
0001a6  b263              SXTB     r3,r4
;;;1581   					break;
0001a8  e068              B        |L1.636|
;;;1582   
;;;1583   				case 3:
;;;1584   					bMask = ((i + j) % 3 == 0)?TRUE:FALSE;
0001aa  188c              ADDS     r4,r1,r2
0001ac  2503              MOVS     r5,#3
0001ae  fb94f6f5          SDIV     r6,r4,r5
0001b2  fb054416          MLS      r4,r5,r6,r4
0001b6  b90c              CBNZ     r4,|L1.444|
0001b8  2401              MOVS     r4,#1
0001ba  e000              B        |L1.446|
                  |L1.444|
0001bc  2400              MOVS     r4,#0
                  |L1.446|
0001be  b263              SXTB     r3,r4
;;;1585   					break;
0001c0  e05c              B        |L1.636|
;;;1586   
;;;1587   				case 4:
;;;1588   					bMask = (((i / 2) + (j / 3)) % 2 == 0)?TRUE:FALSE;
0001c2  2603              MOVS     r6,#3
0001c4  fb92f6f6          SDIV     r6,r2,r6
0001c8  460d              MOV      r5,r1
0001ca  eb0177d1          ADD      r7,r1,r1,LSR #31
0001ce  eb060467          ADD      r4,r6,r7,ASR #1
0001d2  eb0476d4          ADD      r6,r4,r4,LSR #31
0001d6  1076              ASRS     r6,r6,#1
0001d8  ebb40646          SUBS     r6,r4,r6,LSL #1
0001dc  d101              BNE      |L1.482|
0001de  2601              MOVS     r6,#1
0001e0  e000              B        |L1.484|
                  |L1.482|
0001e2  2600              MOVS     r6,#0
                  |L1.484|
0001e4  b273              SXTB     r3,r6
;;;1589   					break;
0001e6  e049              B        |L1.636|
;;;1590   
;;;1591   				case 5:
;;;1592   					bMask = (((i * j) % 2) + ((i * j) % 3) == 0)?TRUE:FALSE;
0001e8  fb01f502          MUL      r5,r1,r2
0001ec  2603              MOVS     r6,#3
0001ee  fb95f7f6          SDIV     r7,r5,r6
0001f2  fb065617          MLS      r6,r6,r7,r5
0001f6  fb01f402          MUL      r4,r1,r2
0001fa  eb0475d4          ADD      r5,r4,r4,LSR #31
0001fe  106d              ASRS     r5,r5,#1
000200  eba40545          SUB      r5,r4,r5,LSL #1
000204  1975              ADDS     r5,r6,r5
000206  d101              BNE      |L1.524|
000208  2501              MOVS     r5,#1
00020a  e000              B        |L1.526|
                  |L1.524|
00020c  2500              MOVS     r5,#0
                  |L1.526|
00020e  b26b              SXTB     r3,r5
;;;1593   					break;
000210  e034              B        |L1.636|
;;;1594   
;;;1595   				case 6:
;;;1596   					bMask = ((((i * j) % 2) + ((i * j) % 3)) % 2 == 0)?TRUE:FALSE;
000212  fb01f602          MUL      r6,r1,r2
000216  2703              MOVS     r7,#3
000218  fb96fcf7          SDIV     r12,r6,r7
00021c  fb07671c          MLS      r7,r7,r12,r6
000220  fb01f502          MUL      r5,r1,r2
000224  eb0576d5          ADD      r6,r5,r5,LSR #31
000228  1076              ASRS     r6,r6,#1
00022a  eba50646          SUB      r6,r5,r6,LSL #1
00022e  19bc              ADDS     r4,r7,r6
000230  eb0476d4          ADD      r6,r4,r4,LSR #31
000234  1076              ASRS     r6,r6,#1
000236  ebb40646          SUBS     r6,r4,r6,LSL #1
00023a  d103              BNE      |L1.580|
00023c  2601              MOVS     r6,#1
00023e  e002              B        |L1.582|
                  |L1.576|
000240  e03b              B        |L1.698|
000242  e002              B        |L1.586|
                  |L1.580|
000244  2600              MOVS     r6,#0
                  |L1.582|
000246  b273              SXTB     r3,r6
;;;1597   					break;
000248  e018              B        |L1.636|
                  |L1.586|
;;;1598   
;;;1599   				default: 
;;;1600   					bMask = ((((i * j) % 3) + ((i + j) % 2)) % 2 == 0)?TRUE:FALSE;
00024a  fb01f602          MUL      r6,r1,r2
00024e  2703              MOVS     r7,#3
000250  fb96fcf7          SDIV     r12,r6,r7
000254  fb07661c          MLS      r6,r7,r12,r6
000258  188d              ADDS     r5,r1,r2
00025a  eb0577d5          ADD      r7,r5,r5,LSR #31
00025e  107f              ASRS     r7,r7,#1
000260  eba50747          SUB      r7,r5,r7,LSL #1
000264  19f4              ADDS     r4,r6,r7
000266  eb0476d4          ADD      r6,r4,r4,LSR #31
00026a  1076              ASRS     r6,r6,#1
00026c  ebb40646          SUBS     r6,r4,r6,LSL #1
000270  d101              BNE      |L1.630|
000272  2601              MOVS     r6,#1
000274  e000              B        |L1.632|
                  |L1.630|
000276  2600              MOVS     r6,#0
                  |L1.632|
000278  b273              SXTB     r3,r6
;;;1601   					break;
00027a  bf00              NOP      
                  |L1.636|
00027c  bf00              NOP                            ;1573
;;;1602   				}
;;;1603   
;;;1604   				m_byModuleData[j][i] = (unsigned char)((m_byModuleData[j][i] & 0xfe) | (((m_byModuleData[j][i] & 0x02) > 1) ^ bMask));
00027e  eb021402          ADD      r4,r2,r2,LSL #4
000282  4d5e              LDR      r5,|L1.1020|
000284  eb050444          ADD      r4,r5,r4,LSL #1
000288  5c64              LDRB     r4,[r4,r1]
00028a  f00405fe          AND      r5,r4,#0xfe
00028e  eb021402          ADD      r4,r2,r2,LSL #4
000292  4e5a              LDR      r6,|L1.1020|
000294  eb060444          ADD      r4,r6,r4,LSL #1
000298  5c64              LDRB     r4,[r4,r1]
00029a  f0040402          AND      r4,r4,#2
00029e  2c01              CMP      r4,#1
0002a0  dd01              BLE      |L1.678|
0002a2  2401              MOVS     r4,#1
0002a4  e000              B        |L1.680|
                  |L1.678|
0002a6  2400              MOVS     r4,#0
                  |L1.680|
0002a8  405c              EORS     r4,r4,r3
0002aa  4325              ORRS     r5,r5,r4
0002ac  b2ec              UXTB     r4,r5
0002ae  eb021502          ADD      r5,r2,r2,LSL #4
0002b2  4e52              LDR      r6,|L1.1020|
0002b4  eb060545          ADD      r5,r6,r5,LSL #1
0002b8  546c              STRB     r4,[r5,r1]
                  |L1.698|
0002ba  1c52              ADDS     r2,r2,#1              ;1565
                  |L1.700|
0002bc  4c50              LDR      r4,|L1.1024|
0002be  6824              LDR      r4,[r4,#0]            ;1565  ; m_nSymbleSize
0002c0  42a2              CMP      r2,r4                 ;1565
0002c2  f6ffaf3e          BLT      |L1.322|
0002c6  1c49              ADDS     r1,r1,#1              ;1563
                  |L1.712|
0002c8  4c4d              LDR      r4,|L1.1024|
0002ca  6824              LDR      r4,[r4,#0]            ;1563  ; m_nSymbleSize
0002cc  42a1              CMP      r1,r4                 ;1563
0002ce  f6ffaf36          BLT      |L1.318|
;;;1605   			}
;;;1606   		}
;;;1607   	}
;;;1608   }
0002d2  bdf0              POP      {r4-r7,pc}
;;;1609   
                          ENDP

                  CountPenalty PROC
;;;1669   
;;;1670   int CountPenalty(void)
0002d4  b5f0              PUSH     {r4-r7,lr}
;;;1671   {
;;;1672   	int nPenalty = 0;
0002d6  2000              MOVS     r0,#0
;;;1673   	int i, j, k;
;;;1674   	int nCount = 0, s_nCount;
0002d8  2500              MOVS     r5,#0
;;;1675   
;;;1676   	for (i = 0; i < m_nSymbleSize; ++i)
0002da  2100              MOVS     r1,#0
0002dc  e038              B        |L1.848|
                  |L1.734|
;;;1677   	{
;;;1678   		for (j = 0; j < m_nSymbleSize - 4; ++j)
0002de  2200              MOVS     r2,#0
0002e0  e030              B        |L1.836|
                  |L1.738|
;;;1679   		{
;;;1680   			int nCount = 1;
0002e2  2301              MOVS     r3,#1
;;;1681   
;;;1682   			for (k = j + 1; k < m_nSymbleSize; k++)
0002e4  1c54              ADDS     r4,r2,#1
0002e6  e022              B        |L1.814|
                  |L1.744|
;;;1683   			{
;;;1684   				if (((m_byModuleData[i][j] & 0x11) == 0) == ((m_byModuleData[i][k] & 0x11) == 0))
0002e8  eb011701          ADD      r7,r1,r1,LSL #4
0002ec  f8dfc10c          LDR      r12,|L1.1020|
0002f0  eb0c0747          ADD      r7,r12,r7,LSL #1
0002f4  5cbf              LDRB     r7,[r7,r2]
0002f6  f0170f11          TST      r7,#0x11
0002fa  d101              BNE      |L1.768|
0002fc  2701              MOVS     r7,#1
0002fe  e000              B        |L1.770|
                  |L1.768|
000300  2700              MOVS     r7,#0
                  |L1.770|
000302  eb011c01          ADD      r12,r1,r1,LSL #4
000306  f8dfe0f4          LDR      lr,|L1.1020|
00030a  eb0e0c4c          ADD      r12,lr,r12,LSL #1
00030e  f81cc004          LDRB     r12,[r12,r4]
000312  f01c0f11          TST      r12,#0x11
000316  d102              BNE      |L1.798|
000318  f04f0c01          MOV      r12,#1
00031c  e001              B        |L1.802|
                  |L1.798|
00031e  f04f0c00          MOV      r12,#0
                  |L1.802|
000322  4567              CMP      r7,r12
000324  d101              BNE      |L1.810|
;;;1685   					++nCount;
000326  1c5b              ADDS     r3,r3,#1
000328  e000              B        |L1.812|
                  |L1.810|
;;;1686   				else
;;;1687   					break;
00032a  e004              B        |L1.822|
                  |L1.812|
00032c  1c64              ADDS     r4,r4,#1              ;1682
                  |L1.814|
00032e  4f34              LDR      r7,|L1.1024|
000330  683f              LDR      r7,[r7,#0]            ;1682  ; m_nSymbleSize
000332  42bc              CMP      r4,r7                 ;1682
000334  dbd8              BLT      |L1.744|
                  |L1.822|
000336  bf00              NOP      
;;;1688   			}
;;;1689   
;;;1690   			if (nCount >= 5)
000338  2b05              CMP      r3,#5
00033a  db01              BLT      |L1.832|
;;;1691   			{
;;;1692   				nPenalty += 3 + (nCount - 5);
00033c  1e9f              SUBS     r7,r3,#2
00033e  4438              ADD      r0,r0,r7
                  |L1.832|
;;;1693   			}
;;;1694   
;;;1695   			j = k - 1;
000340  1e62              SUBS     r2,r4,#1
000342  1c52              ADDS     r2,r2,#1              ;1678
                  |L1.836|
000344  4b2e              LDR      r3,|L1.1024|
000346  681b              LDR      r3,[r3,#0]            ;1678  ; m_nSymbleSize
000348  1f1b              SUBS     r3,r3,#4              ;1678
00034a  4293              CMP      r3,r2                 ;1678
00034c  dcc9              BGT      |L1.738|
00034e  1c49              ADDS     r1,r1,#1              ;1676
                  |L1.848|
000350  4b2b              LDR      r3,|L1.1024|
000352  681b              LDR      r3,[r3,#0]            ;1676  ; m_nSymbleSize
000354  4299              CMP      r1,r3                 ;1676
000356  dbc2              BLT      |L1.734|
;;;1696   		}
;;;1697   	}
;;;1698   
;;;1699   	for (i = 0; i < m_nSymbleSize; ++i)
000358  2100              MOVS     r1,#0
00035a  e038              B        |L1.974|
                  |L1.860|
;;;1700   	{
;;;1701   		for (j = 0; j < m_nSymbleSize - 4; ++j)
00035c  2200              MOVS     r2,#0
00035e  e030              B        |L1.962|
                  |L1.864|
;;;1702   		{
;;;1703   			int nCount = 1;
000360  2301              MOVS     r3,#1
;;;1704   
;;;1705   			for (k = j + 1; k < m_nSymbleSize; k++)
000362  1c54              ADDS     r4,r2,#1
000364  e022              B        |L1.940|
                  |L1.870|
;;;1706   			{
;;;1707   				if (((m_byModuleData[j][i] & 0x11) == 0) == ((m_byModuleData[k][i] & 0x11) == 0))
000366  eb021702          ADD      r7,r2,r2,LSL #4
00036a  f8dfc090          LDR      r12,|L1.1020|
00036e  eb0c0747          ADD      r7,r12,r7,LSL #1
000372  5c7f              LDRB     r7,[r7,r1]
000374  f0170f11          TST      r7,#0x11
000378  d101              BNE      |L1.894|
00037a  2701              MOVS     r7,#1
00037c  e000              B        |L1.896|
                  |L1.894|
00037e  2700              MOVS     r7,#0
                  |L1.896|
000380  eb041c04          ADD      r12,r4,r4,LSL #4
000384  f8dfe074          LDR      lr,|L1.1020|
000388  eb0e0c4c          ADD      r12,lr,r12,LSL #1
00038c  f81cc001          LDRB     r12,[r12,r1]
000390  f01c0f11          TST      r12,#0x11
000394  d102              BNE      |L1.924|
000396  f04f0c01          MOV      r12,#1
00039a  e001              B        |L1.928|
                  |L1.924|
00039c  f04f0c00          MOV      r12,#0
                  |L1.928|
0003a0  4567              CMP      r7,r12
0003a2  d101              BNE      |L1.936|
;;;1708   					++nCount;
0003a4  1c5b              ADDS     r3,r3,#1
0003a6  e000              B        |L1.938|
                  |L1.936|
;;;1709   				else
;;;1710   					break;
0003a8  e004              B        |L1.948|
                  |L1.938|
0003aa  1c64              ADDS     r4,r4,#1              ;1705
                  |L1.940|
0003ac  4f14              LDR      r7,|L1.1024|
0003ae  683f              LDR      r7,[r7,#0]            ;1705  ; m_nSymbleSize
0003b0  42bc              CMP      r4,r7                 ;1705
0003b2  dbd8              BLT      |L1.870|
                  |L1.948|
0003b4  bf00              NOP      
;;;1711   			}
;;;1712   
;;;1713   			if (nCount >= 5)
0003b6  2b05              CMP      r3,#5
0003b8  db01              BLT      |L1.958|
;;;1714   			{
;;;1715   				nPenalty += 3 + (nCount - 5);
0003ba  1e9f              SUBS     r7,r3,#2
0003bc  4438              ADD      r0,r0,r7
                  |L1.958|
;;;1716   			}
;;;1717   
;;;1718   			j = k - 1;
0003be  1e62              SUBS     r2,r4,#1
0003c0  1c52              ADDS     r2,r2,#1              ;1701
                  |L1.962|
0003c2  4b0f              LDR      r3,|L1.1024|
0003c4  681b              LDR      r3,[r3,#0]            ;1701  ; m_nSymbleSize
0003c6  1f1b              SUBS     r3,r3,#4              ;1701
0003c8  4293              CMP      r3,r2                 ;1701
0003ca  dcc9              BGT      |L1.864|
0003cc  1c49              ADDS     r1,r1,#1              ;1699
                  |L1.974|
0003ce  4b0c              LDR      r3,|L1.1024|
0003d0  681b              LDR      r3,[r3,#0]            ;1699  ; m_nSymbleSize
0003d2  4299              CMP      r1,r3                 ;1699
0003d4  dbc2              BLT      |L1.860|
;;;1719   		}
;;;1720   	}
;;;1721   
;;;1722   	for (i = 0; i < m_nSymbleSize - 1; ++i)
0003d6  2100              MOVS     r1,#0
0003d8  e068              B        |L1.1196|
                  |L1.986|
;;;1723   	{
;;;1724   		for (j = 0; j < m_nSymbleSize - 1; ++j)
0003da  2200              MOVS     r2,#0
0003dc  e060              B        |L1.1184|
                  |L1.990|
;;;1725   		{
;;;1726   			if ((((m_byModuleData[i][j] & 0x11) == 0) == ((m_byModuleData[i + 1][j]		& 0x11) == 0)) &&
0003de  eb011301          ADD      r3,r1,r1,LSL #4
0003e2  4f06              LDR      r7,|L1.1020|
0003e4  eb070343          ADD      r3,r7,r3,LSL #1
0003e8  5c9b              LDRB     r3,[r3,r2]
0003ea  f0130f11          TST      r3,#0x11
0003ee  d109              BNE      |L1.1028|
0003f0  2701              MOVS     r7,#1
0003f2  e008              B        |L1.1030|
                  |L1.1012|
                          DCD      m_nLevel
                  |L1.1016|
                          DCD      m_byModuleData+0x110
                  |L1.1020|
                          DCD      m_byModuleData
                  |L1.1024|
                          DCD      m_nSymbleSize
                  |L1.1028|
000404  2700              MOVS     r7,#0
                  |L1.1030|
000406  1c4b              ADDS     r3,r1,#1
000408  eb031303          ADD      r3,r3,r3,LSL #4
00040c  f8dfc40c          LDR      r12,|L1.2076|
000410  eb0c0343          ADD      r3,r12,r3,LSL #1
000414  5c9b              LDRB     r3,[r3,r2]
000416  f0130f11          TST      r3,#0x11
00041a  d101              BNE      |L1.1056|
00041c  2301              MOVS     r3,#1
00041e  e000              B        |L1.1058|
                  |L1.1056|
000420  2300              MOVS     r3,#0
                  |L1.1058|
000422  429f              CMP      r7,r3
000424  d13b              BNE      |L1.1182|
;;;1727   				(((m_byModuleData[i][j] & 0x11) == 0) == ((m_byModuleData[i]	[j + 1] & 0x11) == 0)) &&
000426  eb011301          ADD      r3,r1,r1,LSL #4
00042a  4ffc              LDR      r7,|L1.2076|
00042c  eb070343          ADD      r3,r7,r3,LSL #1
000430  5c9b              LDRB     r3,[r3,r2]
000432  f0130f11          TST      r3,#0x11
000436  d101              BNE      |L1.1084|
000438  2701              MOVS     r7,#1
00043a  e000              B        |L1.1086|
                  |L1.1084|
00043c  2700              MOVS     r7,#0
                  |L1.1086|
00043e  eb011301          ADD      r3,r1,r1,LSL #4
000442  f8dfc3d8          LDR      r12,|L1.2076|
000446  eb0c0c43          ADD      r12,r12,r3,LSL #1
00044a  1c53              ADDS     r3,r2,#1
00044c  f81c3003          LDRB     r3,[r12,r3]
000450  f0130f11          TST      r3,#0x11
000454  d101              BNE      |L1.1114|
000456  2301              MOVS     r3,#1
000458  e000              B        |L1.1116|
                  |L1.1114|
00045a  2300              MOVS     r3,#0
                  |L1.1116|
00045c  429f              CMP      r7,r3
00045e  d11e              BNE      |L1.1182|
;;;1728   				(((m_byModuleData[i][j] & 0x11) == 0) == ((m_byModuleData[i + 1][j + 1] & 0x11) == 0)))
000460  eb011301          ADD      r3,r1,r1,LSL #4
000464  4fed              LDR      r7,|L1.2076|
000466  eb070343          ADD      r3,r7,r3,LSL #1
00046a  5c9b              LDRB     r3,[r3,r2]
00046c  f0130f11          TST      r3,#0x11
000470  d101              BNE      |L1.1142|
000472  2701              MOVS     r7,#1
000474  e000              B        |L1.1144|
                  |L1.1142|
000476  2700              MOVS     r7,#0
                  |L1.1144|
000478  1c4b              ADDS     r3,r1,#1
00047a  eb031303          ADD      r3,r3,r3,LSL #4
00047e  f8dfc39c          LDR      r12,|L1.2076|
000482  eb0c0c43          ADD      r12,r12,r3,LSL #1
000486  1c53              ADDS     r3,r2,#1
000488  f81c3003          LDRB     r3,[r12,r3]
00048c  f0130f11          TST      r3,#0x11
000490  d101              BNE      |L1.1174|
000492  2301              MOVS     r3,#1
000494  e000              B        |L1.1176|
                  |L1.1174|
000496  2300              MOVS     r3,#0
                  |L1.1176|
000498  429f              CMP      r7,r3
00049a  d100              BNE      |L1.1182|
;;;1729   			{
;;;1730   				nPenalty += 3;
00049c  1cc0              ADDS     r0,r0,#3
                  |L1.1182|
00049e  1c52              ADDS     r2,r2,#1              ;1724
                  |L1.1184|
0004a0  4bdf              LDR      r3,|L1.2080|
0004a2  681b              LDR      r3,[r3,#0]            ;1724  ; m_nSymbleSize
0004a4  1e5b              SUBS     r3,r3,#1              ;1724
0004a6  4293              CMP      r3,r2                 ;1724
0004a8  dc99              BGT      |L1.990|
0004aa  1c49              ADDS     r1,r1,#1              ;1722
                  |L1.1196|
0004ac  4bdc              LDR      r3,|L1.2080|
0004ae  681b              LDR      r3,[r3,#0]            ;1722  ; m_nSymbleSize
0004b0  1e5b              SUBS     r3,r3,#1              ;1722
0004b2  428b              CMP      r3,r1                 ;1722
0004b4  dc91              BGT      |L1.986|
;;;1731   			}
;;;1732   		}
;;;1733   	}
;;;1734   
;;;1735   	for (i = 0; i < m_nSymbleSize; ++i)
0004b6  2100              MOVS     r1,#0
0004b8  e0be              B        |L1.1592|
                  |L1.1210|
;;;1736   	{
;;;1737   		for (j = 0; j < m_nSymbleSize - 6; ++j)
0004ba  2200              MOVS     r2,#0
0004bc  e0b5              B        |L1.1578|
                  |L1.1214|
;;;1738   		{
;;;1739   			if (((j == 0) ||				 (! (m_byModuleData[i][j - 1] & 0x11))) && 
0004be  b14a              CBZ      r2,|L1.1236|
0004c0  eb011301          ADD      r3,r1,r1,LSL #4
0004c4  4fd5              LDR      r7,|L1.2076|
0004c6  eb070343          ADD      r3,r7,r3,LSL #1
0004ca  1e57              SUBS     r7,r2,#1
0004cc  5ddb              LDRB     r3,[r3,r7]
0004ce  f0130f11          TST      r3,#0x11
                  |L1.1234|
0004d2  d17e              BNE      |L1.1490|
                  |L1.1236|
;;;1740   											 (   m_byModuleData[i][j]     & 0x11)   && 
0004d4  eb011301          ADD      r3,r1,r1,LSL #4
0004d8  4fd0              LDR      r7,|L1.2076|
0004da  eb070343          ADD      r3,r7,r3,LSL #1
0004de  5c9b              LDRB     r3,[r3,r2]
0004e0  f0130f11          TST      r3,#0x11
                  |L1.1252|
0004e4  d075              BEQ      |L1.1490|
;;;1741   											 (! (m_byModuleData[i][j + 1] & 0x11))  && 
0004e6  eb011301          ADD      r3,r1,r1,LSL #4
0004ea  eb070743          ADD      r7,r7,r3,LSL #1
0004ee  1c53              ADDS     r3,r2,#1
0004f0  5cfb              LDRB     r3,[r7,r3]
0004f2  f0130f11          TST      r3,#0x11
0004f6  d1ec              BNE      |L1.1234|
;;;1742   											 (   m_byModuleData[i][j + 2] & 0x11)   && 
0004f8  eb011301          ADD      r3,r1,r1,LSL #4
0004fc  4fc7              LDR      r7,|L1.2076|
0004fe  eb070743          ADD      r7,r7,r3,LSL #1
000502  1c93              ADDS     r3,r2,#2
000504  5cfb              LDRB     r3,[r7,r3]
000506  f0130f11          TST      r3,#0x11
00050a  d0eb              BEQ      |L1.1252|
;;;1743   											 (   m_byModuleData[i][j + 3] & 0x11)   && 
00050c  eb011301          ADD      r3,r1,r1,LSL #4
000510  4fc2              LDR      r7,|L1.2076|
000512  eb070743          ADD      r7,r7,r3,LSL #1
000516  1cd3              ADDS     r3,r2,#3
000518  5cfb              LDRB     r3,[r7,r3]
00051a  f0130f11          TST      r3,#0x11
00051e  d0e1              BEQ      |L1.1252|
;;;1744   											 (   m_byModuleData[i][j + 4] & 0x11)   && 
000520  eb011301          ADD      r3,r1,r1,LSL #4
000524  4fbd              LDR      r7,|L1.2076|
000526  eb070743          ADD      r7,r7,r3,LSL #1
00052a  1d13              ADDS     r3,r2,#4
00052c  5cfb              LDRB     r3,[r7,r3]
00052e  f0130f11          TST      r3,#0x11
000532  d079              BEQ      |L1.1576|
;;;1745   											 (! (m_byModuleData[i][j + 5] & 0x11))  && 
000534  eb011301          ADD      r3,r1,r1,LSL #4
000538  4fb8              LDR      r7,|L1.2076|
00053a  eb070743          ADD      r7,r7,r3,LSL #1
00053e  1d53              ADDS     r3,r2,#5
000540  5cfb              LDRB     r3,[r7,r3]
000542  f0130f11          TST      r3,#0x11
000546  d16f              BNE      |L1.1576|
;;;1746   											 (   m_byModuleData[i][j + 6] & 0x11)   && 
000548  eb011301          ADD      r3,r1,r1,LSL #4
00054c  4fb3              LDR      r7,|L1.2076|
00054e  eb070743          ADD      r7,r7,r3,LSL #1
000552  1d93              ADDS     r3,r2,#6
000554  5cfb              LDRB     r3,[r7,r3]
000556  f0130f11          TST      r3,#0x11
00055a  d065              BEQ      |L1.1576|
;;;1747   				((j == m_nSymbleSize - 7) || (! (m_byModuleData[i][j + 7] & 0x11))))   
00055c  4bb0              LDR      r3,|L1.2080|
00055e  681b              LDR      r3,[r3,#0]  ; m_nSymbleSize
000560  1fdb              SUBS     r3,r3,#7
000562  4293              CMP      r3,r2
000564  d009              BEQ      |L1.1402|
000566  eb011301          ADD      r3,r1,r1,LSL #4
00056a  4fac              LDR      r7,|L1.2076|
00056c  eb070743          ADD      r7,r7,r3,LSL #1
000570  1dd3              ADDS     r3,r2,#7
000572  5cfb              LDRB     r3,[r7,r3]
000574  f0130f11          TST      r3,#0x11
000578  d156              BNE      |L1.1576|
                  |L1.1402|
;;;1748   			{
;;;1749   				if (((j < 2 || ! (m_byModuleData[i][j - 2] & 0x11)) && 
00057a  2a02              CMP      r2,#2
00057c  db09              BLT      |L1.1426|
00057e  eb011301          ADD      r3,r1,r1,LSL #4
000582  4fa6              LDR      r7,|L1.2076|
000584  eb070343          ADD      r3,r7,r3,LSL #1
000588  1e97              SUBS     r7,r2,#2
00058a  5ddb              LDRB     r3,[r3,r7]
00058c  f0130f11          TST      r3,#0x11
000590  d117              BNE      |L1.1474|
                  |L1.1426|
;;;1750   					 (j < 3 || ! (m_byModuleData[i][j - 3] & 0x11)) &&
000592  2a03              CMP      r2,#3
000594  db09              BLT      |L1.1450|
000596  eb011301          ADD      r3,r1,r1,LSL #4
00059a  4fa0              LDR      r7,|L1.2076|
00059c  eb070343          ADD      r3,r7,r3,LSL #1
0005a0  1ed7              SUBS     r7,r2,#3
0005a2  5ddb              LDRB     r3,[r3,r7]
0005a4  f0130f11          TST      r3,#0x11
0005a8  d10b              BNE      |L1.1474|
                  |L1.1450|
;;;1751   					 (j < 4 || ! (m_byModuleData[i][j - 4] & 0x11))) ||
0005aa  2a04              CMP      r2,#4
0005ac  db3b              BLT      |L1.1574|
0005ae  eb011301          ADD      r3,r1,r1,LSL #4
0005b2  4f9a              LDR      r7,|L1.2076|
0005b4  eb070343          ADD      r3,r7,r3,LSL #1
0005b8  1f17              SUBS     r7,r2,#4
0005ba  5ddb              LDRB     r3,[r3,r7]
0005bc  f0130f11          TST      r3,#0x11
0005c0  d031              BEQ      |L1.1574|
                  |L1.1474|
;;;1752   					((j >= m_nSymbleSize - 8  || ! (m_byModuleData[i][j + 8]  & 0x11)) &&
0005c2  4b97              LDR      r3,|L1.2080|
0005c4  681b              LDR      r3,[r3,#0]  ; m_nSymbleSize
0005c6  3b08              SUBS     r3,r3,#8
0005c8  4293              CMP      r3,r2
0005ca  dd0c              BLE      |L1.1510|
0005cc  eb011301          ADD      r3,r1,r1,LSL #4
0005d0  e000              B        |L1.1492|
                  |L1.1490|
0005d2  e029              B        |L1.1576|
                  |L1.1492|
0005d4  4f91              LDR      r7,|L1.2076|
0005d6  eb070743          ADD      r7,r7,r3,LSL #1
0005da  f1020308          ADD      r3,r2,#8
0005de  5cfb              LDRB     r3,[r7,r3]
0005e0  f0130f11          TST      r3,#0x11
0005e4  d120              BNE      |L1.1576|
                  |L1.1510|
;;;1753   					 (j >= m_nSymbleSize - 9  || ! (m_byModuleData[i][j + 9]  & 0x11)) &&
0005e6  4b8e              LDR      r3,|L1.2080|
0005e8  681b              LDR      r3,[r3,#0]  ; m_nSymbleSize
0005ea  3b09              SUBS     r3,r3,#9
0005ec  4293              CMP      r3,r2
0005ee  dd0a              BLE      |L1.1542|
0005f0  eb011301          ADD      r3,r1,r1,LSL #4
0005f4  4f89              LDR      r7,|L1.2076|
0005f6  eb070743          ADD      r7,r7,r3,LSL #1
0005fa  f1020309          ADD      r3,r2,#9
0005fe  5cfb              LDRB     r3,[r7,r3]
000600  f0130f11          TST      r3,#0x11
000604  d110              BNE      |L1.1576|
                  |L1.1542|
;;;1754   					 (j >= m_nSymbleSize - 10 || ! (m_byModuleData[i][j + 10] & 0x11))))
000606  4b86              LDR      r3,|L1.2080|
000608  681b              LDR      r3,[r3,#0]  ; m_nSymbleSize
00060a  3b0a              SUBS     r3,r3,#0xa
00060c  4293              CMP      r3,r2
00060e  dd0a              BLE      |L1.1574|
000610  eb011301          ADD      r3,r1,r1,LSL #4
000614  4f81              LDR      r7,|L1.2076|
000616  eb070743          ADD      r7,r7,r3,LSL #1
00061a  f102030a          ADD      r3,r2,#0xa
00061e  5cfb              LDRB     r3,[r7,r3]
000620  f0130f11          TST      r3,#0x11
000624  d100              BNE      |L1.1576|
                  |L1.1574|
;;;1755   				{
;;;1756   					nPenalty += 40;
000626  3028              ADDS     r0,r0,#0x28
                  |L1.1576|
000628  1c52              ADDS     r2,r2,#1              ;1737
                  |L1.1578|
00062a  4b7d              LDR      r3,|L1.2080|
00062c  681b              LDR      r3,[r3,#0]            ;1737  ; m_nSymbleSize
00062e  1f9b              SUBS     r3,r3,#6              ;1737
000630  4293              CMP      r3,r2                 ;1737
000632  f73faf44          BGT      |L1.1214|
000636  1c49              ADDS     r1,r1,#1              ;1735
                  |L1.1592|
000638  4b79              LDR      r3,|L1.2080|
00063a  681b              LDR      r3,[r3,#0]            ;1735  ; m_nSymbleSize
00063c  4299              CMP      r1,r3                 ;1735
00063e  f6ffaf3c          BLT      |L1.1210|
;;;1757   				}
;;;1758   			}
;;;1759   		}
;;;1760   	}
;;;1761   
;;;1762   	for (i = 0; i < m_nSymbleSize; ++i)
000642  2100              MOVS     r1,#0
000644  e0b8              B        |L1.1976|
                  |L1.1606|
;;;1763   	{
;;;1764   		for (j = 0; j < m_nSymbleSize - 6; ++j)
000646  2200              MOVS     r2,#0
000648  e0af              B        |L1.1962|
                  |L1.1610|
;;;1765   		{
;;;1766   			if (((j == 0) ||				 (! (m_byModuleData[j - 1][i] & 0x11))) && 
00064a  b14a              CBZ      r2,|L1.1632|
00064c  1e53              SUBS     r3,r2,#1
00064e  eb031303          ADD      r3,r3,r3,LSL #4
000652  4f72              LDR      r7,|L1.2076|
000654  eb070343          ADD      r3,r7,r3,LSL #1
000658  5c5b              LDRB     r3,[r3,r1]
00065a  f0130f11          TST      r3,#0x11
                  |L1.1630|
00065e  d17e              BNE      |L1.1886|
                  |L1.1632|
;;;1767   											 (   m_byModuleData[j]    [i] & 0x11)   && 
000660  eb021302          ADD      r3,r2,r2,LSL #4
000664  4f6d              LDR      r7,|L1.2076|
000666  eb070343          ADD      r3,r7,r3,LSL #1
00066a  5c5b              LDRB     r3,[r3,r1]
00066c  f0130f11          TST      r3,#0x11
                  |L1.1648|
000670  d075              BEQ      |L1.1886|
;;;1768   											 (! (m_byModuleData[j + 1][i] & 0x11))  && 
000672  1c53              ADDS     r3,r2,#1
000674  eb031303          ADD      r3,r3,r3,LSL #4
000678  eb070343          ADD      r3,r7,r3,LSL #1
00067c  5c5b              LDRB     r3,[r3,r1]
00067e  f0130f11          TST      r3,#0x11
000682  d1ec              BNE      |L1.1630|
;;;1769   											 (   m_byModuleData[j + 2][i] & 0x11)   && 
000684  1c93              ADDS     r3,r2,#2
000686  eb031303          ADD      r3,r3,r3,LSL #4
00068a  eb070343          ADD      r3,r7,r3,LSL #1
00068e  5c5b              LDRB     r3,[r3,r1]
000690  f0130f11          TST      r3,#0x11
000694  d0ec              BEQ      |L1.1648|
;;;1770   											 (   m_byModuleData[j + 3][i] & 0x11)   && 
000696  1cd3              ADDS     r3,r2,#3
000698  eb031303          ADD      r3,r3,r3,LSL #4
00069c  eb070343          ADD      r3,r7,r3,LSL #1
0006a0  5c5b              LDRB     r3,[r3,r1]
0006a2  f0130f11          TST      r3,#0x11
0006a6  d07f              BEQ      |L1.1960|
;;;1771   											 (   m_byModuleData[j + 4][i] & 0x11)   && 
0006a8  1d13              ADDS     r3,r2,#4
0006aa  eb031303          ADD      r3,r3,r3,LSL #4
0006ae  eb070343          ADD      r3,r7,r3,LSL #1
0006b2  5c5b              LDRB     r3,[r3,r1]
0006b4  f0130f11          TST      r3,#0x11
0006b8  d076              BEQ      |L1.1960|
;;;1772   											 (! (m_byModuleData[j + 5][i] & 0x11))  && 
0006ba  1d53              ADDS     r3,r2,#5
0006bc  eb031303          ADD      r3,r3,r3,LSL #4
0006c0  eb070343          ADD      r3,r7,r3,LSL #1
0006c4  5c5b              LDRB     r3,[r3,r1]
0006c6  f0130f11          TST      r3,#0x11
0006ca  d16d              BNE      |L1.1960|
;;;1773   											 (   m_byModuleData[j + 6][i] & 0x11)   && 
0006cc  1d93              ADDS     r3,r2,#6
0006ce  eb031303          ADD      r3,r3,r3,LSL #4
0006d2  eb070343          ADD      r3,r7,r3,LSL #1
0006d6  5c5b              LDRB     r3,[r3,r1]
0006d8  f0130f11          TST      r3,#0x11
0006dc  d064              BEQ      |L1.1960|
;;;1774   				((j == m_nSymbleSize - 7) || (! (m_byModuleData[j + 7][i] & 0x11))))   
0006de  4b50              LDR      r3,|L1.2080|
0006e0  681b              LDR      r3,[r3,#0]  ; m_nSymbleSize
0006e2  1fdb              SUBS     r3,r3,#7
0006e4  4293              CMP      r3,r2
0006e6  d008              BEQ      |L1.1786|
0006e8  1dd3              ADDS     r3,r2,#7
0006ea  eb031303          ADD      r3,r3,r3,LSL #4
0006ee  eb070343          ADD      r3,r7,r3,LSL #1
0006f2  5c5b              LDRB     r3,[r3,r1]
0006f4  f0130f11          TST      r3,#0x11
0006f8  d156              BNE      |L1.1960|
                  |L1.1786|
;;;1775   			{
;;;1776   				if (((j < 2 || ! (m_byModuleData[j - 2][i] & 0x11)) && 
0006fa  2a02              CMP      r2,#2
0006fc  db09              BLT      |L1.1810|
0006fe  1e93              SUBS     r3,r2,#2
000700  eb031303          ADD      r3,r3,r3,LSL #4
000704  4f45              LDR      r7,|L1.2076|
000706  eb070343          ADD      r3,r7,r3,LSL #1
00070a  5c5b              LDRB     r3,[r3,r1]
00070c  f0130f11          TST      r3,#0x11
000710  d117              BNE      |L1.1858|
                  |L1.1810|
;;;1777   					 (j < 3 || ! (m_byModuleData[j - 3][i] & 0x11)) &&
000712  2a03              CMP      r2,#3
000714  db09              BLT      |L1.1834|
000716  1ed3              SUBS     r3,r2,#3
000718  eb031303          ADD      r3,r3,r3,LSL #4
00071c  4f3f              LDR      r7,|L1.2076|
00071e  eb070343          ADD      r3,r7,r3,LSL #1
000722  5c5b              LDRB     r3,[r3,r1]
000724  f0130f11          TST      r3,#0x11
000728  d10b              BNE      |L1.1858|
                  |L1.1834|
;;;1778   					 (j < 4 || ! (m_byModuleData[j - 4][i] & 0x11))) ||
00072a  2a04              CMP      r2,#4
00072c  db3b              BLT      |L1.1958|
00072e  1f13              SUBS     r3,r2,#4
000730  eb031303          ADD      r3,r3,r3,LSL #4
000734  4f39              LDR      r7,|L1.2076|
000736  eb070343          ADD      r3,r7,r3,LSL #1
00073a  5c5b              LDRB     r3,[r3,r1]
00073c  f0130f11          TST      r3,#0x11
000740  d031              BEQ      |L1.1958|
                  |L1.1858|
;;;1779   					((j >= m_nSymbleSize - 8  || ! (m_byModuleData[j + 8][i]  & 0x11)) &&
000742  4b37              LDR      r3,|L1.2080|
000744  681b              LDR      r3,[r3,#0]  ; m_nSymbleSize
000746  3b08              SUBS     r3,r3,#8
000748  4293              CMP      r3,r2
00074a  dd0c              BLE      |L1.1894|
00074c  f1020308          ADD      r3,r2,#8
000750  eb031303          ADD      r3,r3,r3,LSL #4
000754  4f31              LDR      r7,|L1.2076|
000756  eb070343          ADD      r3,r7,r3,LSL #1
00075a  5c5b              LDRB     r3,[r3,r1]
00075c  e000              B        |L1.1888|
                  |L1.1886|
00075e  e023              B        |L1.1960|
                  |L1.1888|
000760  f0130f11          TST      r3,#0x11
000764  d120              BNE      |L1.1960|
                  |L1.1894|
;;;1780   					 (j >= m_nSymbleSize - 9  || ! (m_byModuleData[j + 9][i]  & 0x11)) &&
000766  4b2e              LDR      r3,|L1.2080|
000768  681b              LDR      r3,[r3,#0]  ; m_nSymbleSize
00076a  3b09              SUBS     r3,r3,#9
00076c  4293              CMP      r3,r2
00076e  dd0a              BLE      |L1.1926|
000770  f1020309          ADD      r3,r2,#9
000774  eb031303          ADD      r3,r3,r3,LSL #4
000778  4f28              LDR      r7,|L1.2076|
00077a  eb070343          ADD      r3,r7,r3,LSL #1
00077e  5c5b              LDRB     r3,[r3,r1]
000780  f0130f11          TST      r3,#0x11
000784  d110              BNE      |L1.1960|
                  |L1.1926|
;;;1781   					 (j >= m_nSymbleSize - 10 || ! (m_byModuleData[j + 10][i] & 0x11))))
000786  4b26              LDR      r3,|L1.2080|
000788  681b              LDR      r3,[r3,#0]  ; m_nSymbleSize
00078a  3b0a              SUBS     r3,r3,#0xa
00078c  4293              CMP      r3,r2
00078e  dd0a              BLE      |L1.1958|
000790  f102030a          ADD      r3,r2,#0xa
000794  eb031303          ADD      r3,r3,r3,LSL #4
000798  4f20              LDR      r7,|L1.2076|
00079a  eb070343          ADD      r3,r7,r3,LSL #1
00079e  5c5b              LDRB     r3,[r3,r1]
0007a0  f0130f11          TST      r3,#0x11
0007a4  d100              BNE      |L1.1960|
                  |L1.1958|
;;;1782   				{
;;;1783   					nPenalty += 40;
0007a6  3028              ADDS     r0,r0,#0x28
                  |L1.1960|
0007a8  1c52              ADDS     r2,r2,#1              ;1764
                  |L1.1962|
0007aa  4b1d              LDR      r3,|L1.2080|
0007ac  681b              LDR      r3,[r3,#0]            ;1764  ; m_nSymbleSize
0007ae  1f9b              SUBS     r3,r3,#6              ;1764
0007b0  4293              CMP      r3,r2                 ;1764
0007b2  f73faf4a          BGT      |L1.1610|
0007b6  1c49              ADDS     r1,r1,#1              ;1762
                  |L1.1976|
0007b8  4b19              LDR      r3,|L1.2080|
0007ba  681b              LDR      r3,[r3,#0]            ;1762  ; m_nSymbleSize
0007bc  4299              CMP      r1,r3                 ;1762
0007be  f6ffaf42          BLT      |L1.1606|
;;;1784   				}
;;;1785   			}
;;;1786   		}
;;;1787   	}
;;;1788   
;;;1789   	for (i = 0; i < m_nSymbleSize; ++i)
0007c2  2100              MOVS     r1,#0
0007c4  e011              B        |L1.2026|
                  |L1.1990|
;;;1790   	{
;;;1791   		for (j = 0; j < m_nSymbleSize; ++j)
0007c6  2200              MOVS     r2,#0
0007c8  e00a              B        |L1.2016|
                  |L1.1994|
;;;1792   		{
;;;1793   			if (! (m_byModuleData[i][j] & 0x11))
0007ca  eb011301          ADD      r3,r1,r1,LSL #4
0007ce  4f13              LDR      r7,|L1.2076|
0007d0  eb070343          ADD      r3,r7,r3,LSL #1
0007d4  5c9b              LDRB     r3,[r3,r2]
0007d6  f0130f11          TST      r3,#0x11
0007da  d100              BNE      |L1.2014|
;;;1794   			{
;;;1795   				++nCount;
0007dc  1c6d              ADDS     r5,r5,#1
                  |L1.2014|
0007de  1c52              ADDS     r2,r2,#1              ;1791
                  |L1.2016|
0007e0  4b0f              LDR      r3,|L1.2080|
0007e2  681b              LDR      r3,[r3,#0]            ;1791  ; m_nSymbleSize
0007e4  429a              CMP      r2,r3                 ;1791
0007e6  dbf0              BLT      |L1.1994|
0007e8  1c49              ADDS     r1,r1,#1              ;1789
                  |L1.2026|
0007ea  4b0d              LDR      r3,|L1.2080|
0007ec  681b              LDR      r3,[r3,#0]            ;1789  ; m_nSymbleSize
0007ee  4299              CMP      r1,r3                 ;1789
0007f0  dbe9              BLT      |L1.1990|
;;;1796   			}
;;;1797   		}
;;;1798   	}
;;;1799   	
;;;1800   	if( (50 - ((nCount * 100) / (m_nSymbleSize * m_nSymbleSize))) > 0)
0007f2  2364              MOVS     r3,#0x64
0007f4  436b              MULS     r3,r5,r3
0007f6  4f0a              LDR      r7,|L1.2080|
0007f8  683f              LDR      r7,[r7,#0]  ; m_nSymbleSize
0007fa  437f              MULS     r7,r7,r7
0007fc  fb93f3f7          SDIV     r3,r3,r7
000800  f1c30332          RSB      r3,r3,#0x32
000804  2b00              CMP      r3,#0
000806  dd0d              BLE      |L1.2084|
;;;1801   		s_nCount = 50 - ((nCount * 100) / (m_nSymbleSize * m_nSymbleSize));
000808  2364              MOVS     r3,#0x64
00080a  436b              MULS     r3,r5,r3
00080c  4f04              LDR      r7,|L1.2080|
00080e  683f              LDR      r7,[r7,#0]  ; m_nSymbleSize
000810  437f              MULS     r7,r7,r7
000812  fb93f3f7          SDIV     r3,r3,r7
000816  f1c30632          RSB      r6,r3,#0x32
00081a  e00d              B        |L1.2104|
                  |L1.2076|
                          DCD      m_byModuleData
                  |L1.2080|
                          DCD      m_nSymbleSize
                  |L1.2084|
;;;1802   	else
;;;1803   		s_nCount = 0 - (50 - ((nCount * 100) / (m_nSymbleSize * m_nSymbleSize)));
000824  2364              MOVS     r3,#0x64
000826  436b              MULS     r3,r5,r3
000828  4fff              LDR      r7,|L1.3112|
00082a  683f              LDR      r7,[r7,#0]  ; m_nSymbleSize
00082c  437f              MULS     r7,r7,r7
00082e  fb93f3f7          SDIV     r3,r3,r7
000832  f1c30332          RSB      r3,r3,#0x32
000836  425e              RSBS     r6,r3,#0
                  |L1.2104|
;;;1804   	nPenalty += (s_nCount / 5) * 10;
000838  2305              MOVS     r3,#5
00083a  fb96f3f3          SDIV     r3,r6,r3
00083e  eb030383          ADD      r3,r3,r3,LSL #2
000842  eb000043          ADD      r0,r0,r3,LSL #1
;;;1805   
;;;1806   	return nPenalty;
;;;1807   }
000846  bdf0              POP      {r4-r7,pc}
;;;1808   
                          ENDP

                  SetCodeWordPattern PROC
;;;1516   
;;;1517   void SetCodeWordPattern(void)
000848  b5f0              PUSH     {r4-r7,lr}
;;;1518   {
;;;1519   	int x = m_nSymbleSize;
00084a  4ef7              LDR      r6,|L1.3112|
00084c  6830              LDR      r0,[r6,#0]  ; m_nSymbleSize
;;;1520   	int y = m_nSymbleSize - 1;
00084e  6836              LDR      r6,[r6,#0]  ; m_nSymbleSize
000850  1e71              SUBS     r1,r6,#1
;;;1521   
;;;1522   	int nCoef_x = 1; 
000852  2201              MOVS     r2,#1
;;;1523   	int nCoef_y = 1; 
000854  2301              MOVS     r3,#1
;;;1524   
;;;1525   	int i, j;
;;;1526   
;;;1527   	for (i = 0; i < m_ncAllCodeWord; ++i)
000856  2400              MOVS     r4,#0
000858  e03a              B        |L1.2256|
                  |L1.2138|
;;;1528   	{
;;;1529   		for (j = 0; j < 8; ++j)
00085a  2500              MOVS     r5,#0
00085c  e035              B        |L1.2250|
                  |L1.2142|
;;;1530   		{
;;;1531   			do
00085e  bf00              NOP      
                  |L1.2144|
;;;1532   			{
;;;1533   				x += nCoef_x;
000860  4410              ADD      r0,r0,r2
;;;1534   				nCoef_x *= -1;
000862  4252              RSBS     r2,r2,#0
;;;1535   
;;;1536   				if (nCoef_x < 0)
000864  2a00              CMP      r2,#0
000866  da13              BGE      |L1.2192|
;;;1537   				{
;;;1538   					y += nCoef_y;
000868  4419              ADD      r1,r1,r3
;;;1539   
;;;1540   					if (y < 0 || y == m_nSymbleSize)
00086a  2900              CMP      r1,#0
00086c  db03              BLT      |L1.2166|
00086e  4eee              LDR      r6,|L1.3112|
000870  6836              LDR      r6,[r6,#0]  ; m_nSymbleSize
000872  42b1              CMP      r1,r6
000874  d10c              BNE      |L1.2192|
                  |L1.2166|
;;;1541   					{
;;;1542   						y = (y < 0) ? 0 : m_nSymbleSize - 1;
000876  2900              CMP      r1,#0
000878  da01              BGE      |L1.2174|
00087a  2600              MOVS     r6,#0
00087c  e002              B        |L1.2180|
                  |L1.2174|
00087e  4eea              LDR      r6,|L1.3112|
000880  6836              LDR      r6,[r6,#0]  ; m_nSymbleSize
000882  1e76              SUBS     r6,r6,#1
                  |L1.2180|
000884  4631              MOV      r1,r6
;;;1543   						nCoef_y *= -1;
000886  425b              RSBS     r3,r3,#0
;;;1544   
;;;1545   						x -= 2;
000888  1e80              SUBS     r0,r0,#2
;;;1546   
;;;1547   						if (x == 6) 
00088a  2806              CMP      r0,#6
00088c  d100              BNE      |L1.2192|
;;;1548   							--x;
00088e  1e40              SUBS     r0,r0,#1
                  |L1.2192|
;;;1549   					}
;;;1550   				}
;;;1551   			}
;;;1552   			while (m_byModuleData[x][y] & 0x20); 
000890  eb001600          ADD      r6,r0,r0,LSL #4
000894  4fe5              LDR      r7,|L1.3116|
000896  eb070646          ADD      r6,r7,r6,LSL #1
00089a  5c76              LDRB     r6,[r6,r1]
00089c  f0160f20          TST      r6,#0x20
0008a0  d1de              BNE      |L1.2144|
;;;1553   
;;;1554   			m_byModuleData[x][y] = (m_byAllCodeWord[i] & (1 << (7 - j))) ? '\x02' : '\x00';
0008a2  4ee3              LDR      r6,|L1.3120|
0008a4  5d37              LDRB     r7,[r6,r4]
0008a6  f1c50c07          RSB      r12,r5,#7
0008aa  2601              MOVS     r6,#1
0008ac  fa06f60c          LSL      r6,r6,r12
0008b0  4237              TST      r7,r6
0008b2  d001              BEQ      |L1.2232|
0008b4  2602              MOVS     r6,#2
0008b6  e000              B        |L1.2234|
                  |L1.2232|
0008b8  2600              MOVS     r6,#0
                  |L1.2234|
0008ba  eb001700          ADD      r7,r0,r0,LSL #4
0008be  f8dfc36c          LDR      r12,|L1.3116|
0008c2  eb0c0747          ADD      r7,r12,r7,LSL #1
0008c6  547e              STRB     r6,[r7,r1]
0008c8  1c6d              ADDS     r5,r5,#1              ;1529
                  |L1.2250|
0008ca  2d08              CMP      r5,#8                 ;1529
0008cc  dbc7              BLT      |L1.2142|
0008ce  1c64              ADDS     r4,r4,#1              ;1527
                  |L1.2256|
0008d0  4ed8              LDR      r6,|L1.3124|
0008d2  6836              LDR      r6,[r6,#0]            ;1527  ; m_ncAllCodeWord
0008d4  42b4              CMP      r4,r6                 ;1527
0008d6  dbc0              BLT      |L1.2138|
;;;1555   		}
;;;1556   	}
;;;1557   }
0008d8  bdf0              POP      {r4-r7,pc}
;;;1558   
                          ENDP

                  SetAlignmentPattern PROC
;;;1463   
;;;1464   void SetAlignmentPattern(int x, int y)
0008da  b570              PUSH     {r4-r6,lr}
;;;1465   {
;;;1466   	static unsigned char byPattern[] = {0x1f,  
;;;1467   							   0x11,  
;;;1468   							   0x15, 
;;;1469   							   0x11,  
;;;1470   							   0x1f}; 
;;;1471   	int i, j;
;;;1472   
;;;1473   	if (m_byModuleData[x][y] & 0x20)
0008dc  eb001400          ADD      r4,r0,r0,LSL #4
0008e0  4dd2              LDR      r5,|L1.3116|
0008e2  eb050444          ADD      r4,r5,r4,LSL #1
0008e6  5c64              LDRB     r4,[r4,r1]
0008e8  f0140f20          TST      r4,#0x20
0008ec  d000              BEQ      |L1.2288|
                  |L1.2286|
;;;1474   		return; 
;;;1475   
;;;1476   	x -= 2; y -= 2; 
;;;1477   
;;;1478   	for (i = 0; i < 5; ++i)
;;;1479   	{
;;;1480   		for (j = 0; j < 5; ++j)
;;;1481   		{
;;;1482   			m_byModuleData[x + j][y + i] = (byPattern[i] & (1 << (4 - j))) ? '\x30' : '\x20'; 
;;;1483   		}
;;;1484   	}
;;;1485   }
0008ee  bd70              POP      {r4-r6,pc}
                  |L1.2288|
0008f0  1e80              SUBS     r0,r0,#2              ;1476
0008f2  1e89              SUBS     r1,r1,#2              ;1476
0008f4  2200              MOVS     r2,#0                 ;1478
0008f6  e018              B        |L1.2346|
                  |L1.2296|
0008f8  2300              MOVS     r3,#0                 ;1480
0008fa  e013              B        |L1.2340|
                  |L1.2300|
0008fc  4cce              LDR      r4,|L1.3128|
0008fe  5ca5              LDRB     r5,[r4,r2]            ;1482
000900  f1c30604          RSB      r6,r3,#4              ;1482
000904  2401              MOVS     r4,#1                 ;1482
000906  40b4              LSLS     r4,r4,r6              ;1482
000908  4225              TST      r5,r4                 ;1482
00090a  d001              BEQ      |L1.2320|
00090c  2430              MOVS     r4,#0x30              ;1482
00090e  e000              B        |L1.2322|
                  |L1.2320|
000910  2420              MOVS     r4,#0x20              ;1482
                  |L1.2322|
000912  18c5              ADDS     r5,r0,r3              ;1482
000914  eb051505          ADD      r5,r5,r5,LSL #4       ;1482
000918  4ec4              LDR      r6,|L1.3116|
00091a  eb060545          ADD      r5,r6,r5,LSL #1       ;1482
00091e  188e              ADDS     r6,r1,r2              ;1482
000920  55ac              STRB     r4,[r5,r6]            ;1482
000922  1c5b              ADDS     r3,r3,#1              ;1480
                  |L1.2340|
000924  2b05              CMP      r3,#5                 ;1480
000926  dbe9              BLT      |L1.2300|
000928  1c52              ADDS     r2,r2,#1              ;1478
                  |L1.2346|
00092a  2a05              CMP      r2,#5                 ;1478
00092c  dbe4              BLT      |L1.2296|
00092e  e7de              B        |L1.2286|
;;;1486   
                          ENDP

                  SetVersionPattern PROC
;;;1487   void SetVersionPattern(void)
000930  b530              PUSH     {r4,r5,lr}
;;;1488   {
;;;1489   	int i, j;
;;;1490   	int nVerData;
;;;1491   
;;;1492   	if (m_nVersion <= 6)
000932  4bc2              LDR      r3,|L1.3132|
000934  681b              LDR      r3,[r3,#0]  ; m_nVersion
000936  2b06              CMP      r3,#6
000938  dc00              BGT      |L1.2364|
                  |L1.2362|
;;;1493   		return;
;;;1494   
;;;1495   	nVerData = m_nVersion << 12;
;;;1496   
;;;1497   	for (i = 0; i < 6; ++i)
;;;1498   	{
;;;1499   		if (nVerData & (1 << (17 - i)))
;;;1500   		{
;;;1501   			nVerData ^= (0x1f25 << (5 - i));
;;;1502   		}
;;;1503   	}
;;;1504   
;;;1505   	nVerData += m_nVersion << 12;
;;;1506   
;;;1507   	for (i = 0; i < 6; ++i)
;;;1508   	{
;;;1509   		for (j = 0; j < 3; ++j)
;;;1510   		{
;;;1511   			m_byModuleData[m_nSymbleSize - 11 + j][i] = m_byModuleData[i][m_nSymbleSize - 11 + j] =
;;;1512   			(nVerData & (1 << (i * 3 + j))) ? '\x30' : '\x20';
;;;1513   		}
;;;1514   	}
;;;1515   }
00093a  bd30              POP      {r4,r5,pc}
                  |L1.2364|
00093c  4bbf              LDR      r3,|L1.3132|
00093e  681b              LDR      r3,[r3,#0]            ;1495  ; m_nVersion
000940  031a              LSLS     r2,r3,#12             ;1495
000942  2000              MOVS     r0,#0                 ;1497
000944  e00c              B        |L1.2400|
                  |L1.2374|
000946  f1c00411          RSB      r4,r0,#0x11           ;1499
00094a  2301              MOVS     r3,#1                 ;1499
00094c  40a3              LSLS     r3,r3,r4              ;1499
00094e  4213              TST      r3,r2                 ;1499
000950  d005              BEQ      |L1.2398|
000952  f1c00405          RSB      r4,r0,#5              ;1501
000956  f6417325          MOV      r3,#0x1f25            ;1501
00095a  40a3              LSLS     r3,r3,r4              ;1501
00095c  405a              EORS     r2,r2,r3              ;1501
                  |L1.2398|
00095e  1c40              ADDS     r0,r0,#1              ;1497
                  |L1.2400|
000960  2806              CMP      r0,#6                 ;1497
000962  dbf0              BLT      |L1.2374|
000964  4bb5              LDR      r3,|L1.3132|
000966  681b              LDR      r3,[r3,#0]            ;1505  ; m_nVersion
000968  eb023203          ADD      r2,r2,r3,LSL #12      ;1505
00096c  2000              MOVS     r0,#0                 ;1507
00096e  e024              B        |L1.2490|
                  |L1.2416|
000970  2100              MOVS     r1,#0                 ;1509
000972  e01f              B        |L1.2484|
                  |L1.2420|
000974  eb000340          ADD      r3,r0,r0,LSL #1       ;1511
000978  185c              ADDS     r4,r3,r1              ;1511
00097a  2301              MOVS     r3,#1                 ;1511
00097c  40a3              LSLS     r3,r3,r4              ;1511
00097e  4213              TST      r3,r2                 ;1511
000980  d001              BEQ      |L1.2438|
000982  2330              MOVS     r3,#0x30              ;1512
000984  e000              B        |L1.2440|
                  |L1.2438|
000986  2320              MOVS     r3,#0x20              ;1512
                  |L1.2440|
000988  b2db              UXTB     r3,r3                 ;1512
00098a  eb001400          ADD      r4,r0,r0,LSL #4       ;1512
00098e  4da7              LDR      r5,|L1.3116|
000990  eb050444          ADD      r4,r5,r4,LSL #1       ;1512
000994  4da4              LDR      r5,|L1.3112|
000996  682d              LDR      r5,[r5,#0]            ;1512  ; m_nSymbleSize
000998  3d0b              SUBS     r5,r5,#0xb            ;1512
00099a  440d              ADD      r5,r5,r1              ;1512
00099c  5563              STRB     r3,[r4,r5]            ;1512
00099e  4ca2              LDR      r4,|L1.3112|
0009a0  6824              LDR      r4,[r4,#0]            ;1512  ; m_nSymbleSize
0009a2  3c0b              SUBS     r4,r4,#0xb            ;1512
0009a4  440c              ADD      r4,r4,r1              ;1512
0009a6  eb041404          ADD      r4,r4,r4,LSL #4       ;1512
0009aa  4da0              LDR      r5,|L1.3116|
0009ac  eb050444          ADD      r4,r5,r4,LSL #1       ;1512
0009b0  5423              STRB     r3,[r4,r0]            ;1512
0009b2  1c49              ADDS     r1,r1,#1              ;1509
                  |L1.2484|
0009b4  2903              CMP      r1,#3                 ;1509
0009b6  dbdd              BLT      |L1.2420|
0009b8  1c40              ADDS     r0,r0,#1              ;1507
                  |L1.2490|
0009ba  2806              CMP      r0,#6                 ;1507
0009bc  dbd8              BLT      |L1.2416|
0009be  e7bc              B        |L1.2362|
;;;1516   
                          ENDP

                  SetFinderPattern PROC
;;;1443   
;;;1444   void SetFinderPattern(int x, int y)
0009c0  b570              PUSH     {r4-r6,lr}
;;;1445   {
;;;1446   	static unsigned char byPattern[] = {0x7f,  
;;;1447   							   0x41,  
;;;1448   							   0x5d,  
;;;1449   							   0x5d, 
;;;1450   							   0x5d, 
;;;1451   							   0x41,  
;;;1452   							   0x7f}; 
;;;1453   	int i, j;
;;;1454   
;;;1455   	for (i = 0; i < 7; ++i)
0009c2  2200              MOVS     r2,#0
0009c4  e019              B        |L1.2554|
                  |L1.2502|
;;;1456   	{
;;;1457   		for (j = 0; j < 7; ++j)
0009c6  2300              MOVS     r3,#0
0009c8  e014              B        |L1.2548|
                  |L1.2506|
;;;1458   		{
;;;1459   			m_byModuleData[x + j][y + i] = (byPattern[i] & (1 << (6 - j))) ? '\x30' : '\x20'; 
0009ca  4c9b              LDR      r4,|L1.3128|
0009cc  1fe4              SUBS     r4,r4,#7
0009ce  5ca5              LDRB     r5,[r4,r2]
0009d0  f1c30606          RSB      r6,r3,#6
0009d4  2401              MOVS     r4,#1
0009d6  40b4              LSLS     r4,r4,r6
0009d8  4225              TST      r5,r4
0009da  d001              BEQ      |L1.2528|
0009dc  2430              MOVS     r4,#0x30
0009de  e000              B        |L1.2530|
                  |L1.2528|
0009e0  2420              MOVS     r4,#0x20
                  |L1.2530|
0009e2  18c5              ADDS     r5,r0,r3
0009e4  eb051505          ADD      r5,r5,r5,LSL #4
0009e8  4e90              LDR      r6,|L1.3116|
0009ea  eb060545          ADD      r5,r6,r5,LSL #1
0009ee  188e              ADDS     r6,r1,r2
0009f0  55ac              STRB     r4,[r5,r6]
0009f2  1c5b              ADDS     r3,r3,#1              ;1457
                  |L1.2548|
0009f4  2b07              CMP      r3,#7                 ;1457
0009f6  dbe8              BLT      |L1.2506|
0009f8  1c52              ADDS     r2,r2,#1              ;1455
                  |L1.2554|
0009fa  2a07              CMP      r2,#7                 ;1455
0009fc  dbe3              BLT      |L1.2502|
;;;1460   		}
;;;1461   	}
;;;1462   }
0009fe  bd70              POP      {r4-r6,pc}
;;;1463   
                          ENDP

                  SetFunctionModule PROC
;;;1398   
;;;1399   void SetFunctionModule(void)
000a00  b530              PUSH     {r4,r5,lr}
;;;1400   {
;;;1401   	int i, j;
;;;1402   
;;;1403   	SetFinderPattern(0, 0);					
000a02  2100              MOVS     r1,#0
000a04  4608              MOV      r0,r1
000a06  f7fffffe          BL       SetFinderPattern
;;;1404   	SetFinderPattern(m_nSymbleSize - 7, 0);	
000a0a  4987              LDR      r1,|L1.3112|
000a0c  6809              LDR      r1,[r1,#0]  ; m_nSymbleSize
000a0e  1fc8              SUBS     r0,r1,#7
000a10  2100              MOVS     r1,#0
000a12  f7fffffe          BL       SetFinderPattern
;;;1405   	SetFinderPattern(0, m_nSymbleSize - 7);	
000a16  4884              LDR      r0,|L1.3112|
000a18  6800              LDR      r0,[r0,#0]  ; m_nSymbleSize
000a1a  1fc1              SUBS     r1,r0,#7
000a1c  2000              MOVS     r0,#0
000a1e  f7fffffe          BL       SetFinderPattern
;;;1406   
;;;1407   	for (i = 0; i < 8; ++i)
000a22  2400              MOVS     r4,#0
000a24  e02d              B        |L1.2690|
                  |L1.2598|
;;;1408   	{
;;;1409   		m_byModuleData[i][7] = m_byModuleData[7][i] = '\x20';
000a26  2120              MOVS     r1,#0x20
000a28  4880              LDR      r0,|L1.3116|
000a2a  30ee              ADDS     r0,r0,#0xee
000a2c  5501              STRB     r1,[r0,r4]
000a2e  eb041004          ADD      r0,r4,r4,LSL #4
000a32  4a7e              LDR      r2,|L1.3116|
000a34  eb020040          ADD      r0,r2,r0,LSL #1
000a38  71c1              STRB     r1,[r0,#7]
;;;1410   		m_byModuleData[m_nSymbleSize - 8][i] = m_byModuleData[m_nSymbleSize - 8 + i][7] = '\x20';
000a3a  2020              MOVS     r0,#0x20
000a3c  497a              LDR      r1,|L1.3112|
000a3e  6809              LDR      r1,[r1,#0]  ; m_nSymbleSize
000a40  3908              SUBS     r1,r1,#8
000a42  4421              ADD      r1,r1,r4
000a44  eb011101          ADD      r1,r1,r1,LSL #4
000a48  eb020141          ADD      r1,r2,r1,LSL #1
000a4c  71c8              STRB     r0,[r1,#7]
000a4e  4976              LDR      r1,|L1.3112|
000a50  6809              LDR      r1,[r1,#0]  ; m_nSymbleSize
000a52  3908              SUBS     r1,r1,#8
000a54  eb011101          ADD      r1,r1,r1,LSL #4
000a58  eb020141          ADD      r1,r2,r1,LSL #1
000a5c  5508              STRB     r0,[r1,r4]
;;;1411   		m_byModuleData[i][m_nSymbleSize - 8] = m_byModuleData[7][m_nSymbleSize - 8 + i] = '\x20';
000a5e  2120              MOVS     r1,#0x20
000a60  4871              LDR      r0,|L1.3112|
000a62  6800              LDR      r0,[r0,#0]  ; m_nSymbleSize
000a64  3808              SUBS     r0,r0,#8
000a66  1902              ADDS     r2,r0,r4
000a68  4870              LDR      r0,|L1.3116|
000a6a  30ee              ADDS     r0,r0,#0xee
000a6c  5481              STRB     r1,[r0,r2]
000a6e  eb041004          ADD      r0,r4,r4,LSL #4
000a72  4a6e              LDR      r2,|L1.3116|
000a74  eb020040          ADD      r0,r2,r0,LSL #1
000a78  4a6b              LDR      r2,|L1.3112|
000a7a  6812              LDR      r2,[r2,#0]  ; m_nSymbleSize
000a7c  3a08              SUBS     r2,r2,#8
000a7e  5481              STRB     r1,[r0,r2]
000a80  1c64              ADDS     r4,r4,#1              ;1407
                  |L1.2690|
000a82  2c08              CMP      r4,#8                 ;1407
000a84  dbcf              BLT      |L1.2598|
;;;1412   	}
;;;1413   
;;;1414   	for (i = 0; i < 9; ++i)
000a86  2400              MOVS     r4,#0
000a88  e009              B        |L1.2718|
                  |L1.2698|
;;;1415   	{
;;;1416   		m_byModuleData[i][8] = m_byModuleData[8][i] = '\x20';
000a8a  2120              MOVS     r1,#0x20
000a8c  486c              LDR      r0,|L1.3136|
000a8e  5501              STRB     r1,[r0,r4]
000a90  eb041004          ADD      r0,r4,r4,LSL #4
000a94  4a65              LDR      r2,|L1.3116|
000a96  eb020040          ADD      r0,r2,r0,LSL #1
000a9a  7201              STRB     r1,[r0,#8]
000a9c  1c64              ADDS     r4,r4,#1              ;1414
                  |L1.2718|
000a9e  2c09              CMP      r4,#9                 ;1414
000aa0  dbf3              BLT      |L1.2698|
;;;1417   	}
;;;1418   
;;;1419   	for (i = 0; i < 8; ++i)
000aa2  2400              MOVS     r4,#0
000aa4  e011              B        |L1.2762|
                  |L1.2726|
;;;1420   	{
;;;1421   		m_byModuleData[m_nSymbleSize - 8 + i][8] = m_byModuleData[8][m_nSymbleSize - 8 + i] = '\x20';
000aa6  2120              MOVS     r1,#0x20
000aa8  485f              LDR      r0,|L1.3112|
000aaa  6800              LDR      r0,[r0,#0]  ; m_nSymbleSize
000aac  3808              SUBS     r0,r0,#8
000aae  1902              ADDS     r2,r0,r4
000ab0  4863              LDR      r0,|L1.3136|
000ab2  5481              STRB     r1,[r0,r2]
000ab4  485c              LDR      r0,|L1.3112|
000ab6  6800              LDR      r0,[r0,#0]  ; m_nSymbleSize
000ab8  3808              SUBS     r0,r0,#8
000aba  4420              ADD      r0,r0,r4
000abc  eb001000          ADD      r0,r0,r0,LSL #4
000ac0  4a5a              LDR      r2,|L1.3116|
000ac2  eb020040          ADD      r0,r2,r0,LSL #1
000ac6  7201              STRB     r1,[r0,#8]
000ac8  1c64              ADDS     r4,r4,#1              ;1419
                  |L1.2762|
000aca  2c08              CMP      r4,#8                 ;1419
000acc  dbeb              BLT      |L1.2726|
;;;1422   	}
;;;1423   
;;;1424   	SetVersionPattern();	
000ace  f7fffffe          BL       SetVersionPattern
;;;1425   
;;;1426   	for (i = 0; i < QR_VersonInfo[m_nVersion].ncAlignPoint; ++i)
000ad2  2400              MOVS     r4,#0
000ad4  e047              B        |L1.2918|
                  |L1.2774|
;;;1427   	{
;;;1428   		SetAlignmentPattern(QR_VersonInfo[m_nVersion].nAlignPoint[i], 6);//С����
000ad6  4959              LDR      r1,|L1.3132|
000ad8  6809              LDR      r1,[r1,#0]  ; m_nVersion
000ada  eb010281          ADD      r2,r1,r1,LSL #2
000ade  eb021141          ADD      r1,r2,r1,LSL #5
000ae2  4a58              LDR      r2,|L1.3140|
000ae4  eb020141          ADD      r1,r2,r1,LSL #1
000ae8  310e              ADDS     r1,r1,#0xe
000aea  f8310014          LDRH     r0,[r1,r4,LSL #1]
000aee  2106              MOVS     r1,#6
000af0  f7fffffe          BL       SetAlignmentPattern
;;;1429   		SetAlignmentPattern(6, QR_VersonInfo[m_nVersion].nAlignPoint[i]);
000af4  4851              LDR      r0,|L1.3132|
000af6  6800              LDR      r0,[r0,#0]  ; m_nVersion
000af8  eb000280          ADD      r2,r0,r0,LSL #2
000afc  eb021040          ADD      r0,r2,r0,LSL #5
000b00  4a50              LDR      r2,|L1.3140|
000b02  eb020040          ADD      r0,r2,r0,LSL #1
000b06  300e              ADDS     r0,r0,#0xe
000b08  f8301014          LDRH     r1,[r0,r4,LSL #1]
000b0c  2006              MOVS     r0,#6
000b0e  f7fffffe          BL       SetAlignmentPattern
;;;1430   
;;;1431   		for (j = 0; j < QR_VersonInfo[m_nVersion].ncAlignPoint; ++j)
000b12  2500              MOVS     r5,#0
000b14  e01a              B        |L1.2892|
                  |L1.2838|
;;;1432   		{
;;;1433   			SetAlignmentPattern(QR_VersonInfo[m_nVersion].nAlignPoint[i], QR_VersonInfo[m_nVersion].nAlignPoint[j]);
000b16  4a49              LDR      r2,|L1.3132|
000b18  6812              LDR      r2,[r2,#0]  ; m_nVersion
000b1a  eb020382          ADD      r3,r2,r2,LSL #2
000b1e  eb031242          ADD      r2,r3,r2,LSL #5
000b22  4b48              LDR      r3,|L1.3140|
000b24  eb030242          ADD      r2,r3,r2,LSL #1
000b28  320e              ADDS     r2,r2,#0xe
000b2a  f8321015          LDRH     r1,[r2,r5,LSL #1]
000b2e  4a43              LDR      r2,|L1.3132|
000b30  6812              LDR      r2,[r2,#0]  ; m_nVersion
000b32  eb020382          ADD      r3,r2,r2,LSL #2
000b36  eb031242          ADD      r2,r3,r2,LSL #5
000b3a  4b42              LDR      r3,|L1.3140|
000b3c  eb030242          ADD      r2,r3,r2,LSL #1
000b40  320e              ADDS     r2,r2,#0xe
000b42  f8320014          LDRH     r0,[r2,r4,LSL #1]
000b46  f7fffffe          BL       SetAlignmentPattern
000b4a  1c6d              ADDS     r5,r5,#1              ;1431
                  |L1.2892|
000b4c  483b              LDR      r0,|L1.3132|
000b4e  6800              LDR      r0,[r0,#0]            ;1431  ; m_nVersion
000b50  eb000180          ADD      r1,r0,r0,LSL #2       ;1431
000b54  eb011040          ADD      r0,r1,r0,LSL #5       ;1431
000b58  493a              LDR      r1,|L1.3140|
000b5a  eb010040          ADD      r0,r1,r0,LSL #1       ;1431
000b5e  8980              LDRH     r0,[r0,#0xc]          ;1431
000b60  42a8              CMP      r0,r5                 ;1431
000b62  dcd8              BGT      |L1.2838|
000b64  1c64              ADDS     r4,r4,#1              ;1426
                  |L1.2918|
000b66  4835              LDR      r0,|L1.3132|
000b68  6800              LDR      r0,[r0,#0]            ;1426  ; m_nVersion
000b6a  eb000180          ADD      r1,r0,r0,LSL #2       ;1426
000b6e  eb011040          ADD      r0,r1,r0,LSL #5       ;1426
000b72  4934              LDR      r1,|L1.3140|
000b74  eb010040          ADD      r0,r1,r0,LSL #1       ;1426
000b78  8980              LDRH     r0,[r0,#0xc]          ;1426
000b7a  42a0              CMP      r0,r4                 ;1426
000b7c  dcab              BGT      |L1.2774|
;;;1434   		}
;;;1435   	}
;;;1436   
;;;1437   	for (i = 8; i <= m_nSymbleSize - 9; ++i)
000b7e  2408              MOVS     r4,#8
000b80  e01e              B        |L1.3008|
                  |L1.2946|
;;;1438   	{
;;;1439   		m_byModuleData[i][6] = (i % 2) == 0 ? '\x30' : '\x20';
000b82  4620              MOV      r0,r4
000b84  eb0471d4          ADD      r1,r4,r4,LSR #31
000b88  1049              ASRS     r1,r1,#1
000b8a  ebb40141          SUBS     r1,r4,r1,LSL #1
000b8e  d101              BNE      |L1.2964|
000b90  2130              MOVS     r1,#0x30
000b92  e000              B        |L1.2966|
                  |L1.2964|
000b94  2120              MOVS     r1,#0x20
                  |L1.2966|
000b96  eb041204          ADD      r2,r4,r4,LSL #4
000b9a  4b24              LDR      r3,|L1.3116|
000b9c  eb030242          ADD      r2,r3,r2,LSL #1
000ba0  7191              STRB     r1,[r2,#6]
;;;1440   		m_byModuleData[6][i] = (i % 2) == 0 ? '\x30' : '\x20';
000ba2  4620              MOV      r0,r4
000ba4  eb0471d4          ADD      r1,r4,r4,LSR #31
000ba8  1049              ASRS     r1,r1,#1
000baa  ebb40141          SUBS     r1,r4,r1,LSL #1
000bae  d101              BNE      |L1.2996|
000bb0  2130              MOVS     r1,#0x30
000bb2  e000              B        |L1.2998|
                  |L1.2996|
000bb4  2120              MOVS     r1,#0x20
                  |L1.2998|
000bb6  b2ca              UXTB     r2,r1
000bb8  4921              LDR      r1,|L1.3136|
000bba  3944              SUBS     r1,r1,#0x44
000bbc  550a              STRB     r2,[r1,r4]
000bbe  1c64              ADDS     r4,r4,#1              ;1437
                  |L1.3008|
000bc0  4819              LDR      r0,|L1.3112|
000bc2  6800              LDR      r0,[r0,#0]            ;1437  ; m_nSymbleSize
000bc4  3809              SUBS     r0,r0,#9              ;1437
000bc6  42a0              CMP      r0,r4                 ;1437
000bc8  dadb              BGE      |L1.2946|
;;;1441   	}
;;;1442   }
000bca  bd30              POP      {r4,r5,pc}
;;;1443   
                          ENDP

                  FormatModule PROC
;;;1351   
;;;1352   void FormatModule(void)
000bcc  e92d41f0          PUSH     {r4-r8,lr}
;;;1353   {
;;;1354   	int i, j;
;;;1355   	int nMinPenalty, nPenalty;
;;;1356   
;;;1357   	memset(m_byModuleData, 0, sizeof(m_byModuleData));
000bd0  f2404184          MOV      r1,#0x484
000bd4  4815              LDR      r0,|L1.3116|
000bd6  f7fffffe          BL       __aeabi_memclr
;;;1358   
;;;1359   	SetFunctionModule();	
000bda  f7fffffe          BL       SetFunctionModule
;;;1360   
;;;1361   	SetCodeWordPattern();	
000bde  f7fffffe          BL       SetCodeWordPattern
;;;1362   
;;;1363   	if (m_nMaskingNo == -1)
000be2  4819              LDR      r0,|L1.3144|
000be4  6800              LDR      r0,[r0,#0]  ; m_nMaskingNo
000be6  1c40              ADDS     r0,r0,#1
000be8  d132              BNE      |L1.3152|
;;;1364   	{
;;;1365   		m_nMaskingNo = 0;
000bea  4917              LDR      r1,|L1.3144|
000bec  6008              STR      r0,[r1,#0]  ; m_nMaskingNo
;;;1366   
;;;1367   		SetMaskingPattern(m_nMaskingNo); 
000bee  4608              MOV      r0,r1
000bf0  6800              LDR      r0,[r0,#0]  ; m_nMaskingNo
000bf2  f7fffffe          BL       SetMaskingPattern
;;;1368   		SetFormatInfoPattern(m_nMaskingNo); 
000bf6  4814              LDR      r0,|L1.3144|
000bf8  6800              LDR      r0,[r0,#0]  ; m_nMaskingNo
000bfa  f7fffffe          BL       SetFormatInfoPattern
;;;1369   
;;;1370   		nMinPenalty = CountPenalty();
000bfe  f7fffffe          BL       CountPenalty
000c02  4607              MOV      r7,r0
;;;1371   
;;;1372   		for (i = 1; i <= 7; ++i)
000c04  2401              MOVS     r4,#1
000c06  e00e              B        |L1.3110|
                  |L1.3080|
;;;1373   		{
;;;1374   			SetMaskingPattern(i); 
000c08  4620              MOV      r0,r4
000c0a  f7fffffe          BL       SetMaskingPattern
;;;1375   			SetFormatInfoPattern(i); 
000c0e  4620              MOV      r0,r4
000c10  f7fffffe          BL       SetFormatInfoPattern
;;;1376   
;;;1377   			nPenalty = CountPenalty();
000c14  f7fffffe          BL       CountPenalty
000c18  4606              MOV      r6,r0
;;;1378   
;;;1379   			if (nPenalty < nMinPenalty)
000c1a  42be              CMP      r6,r7
000c1c  da02              BGE      |L1.3108|
;;;1380   			{
;;;1381   				nMinPenalty = nPenalty;
000c1e  4637              MOV      r7,r6
;;;1382   				m_nMaskingNo = i;
000c20  4809              LDR      r0,|L1.3144|
000c22  6004              STR      r4,[r0,#0]  ; m_nMaskingNo
                  |L1.3108|
000c24  1c64              ADDS     r4,r4,#1              ;1372
                  |L1.3110|
000c26  e011              B        |L1.3148|
                  |L1.3112|
                          DCD      m_nSymbleSize
                  |L1.3116|
                          DCD      m_byModuleData
                  |L1.3120|
                          DCD      m_byAllCodeWord
                  |L1.3124|
                          DCD      m_ncAllCodeWord
                  |L1.3128|
                          DCD      ||.data||+0x11b
                  |L1.3132|
                          DCD      m_nVersion
                  |L1.3136|
                          DCD      m_byModuleData+0x110
                  |L1.3140|
                          DCD      QR_VersonInfo
                  |L1.3144|
                          DCD      m_nMaskingNo
                  |L1.3148|
000c4c  2c07              CMP      r4,#7                 ;1372
000c4e  dddb              BLE      |L1.3080|
                  |L1.3152|
;;;1383   			}
;;;1384   		}
;;;1385   	}
;;;1386   
;;;1387   	SetMaskingPattern(m_nMaskingNo); 
000c50  48ff              LDR      r0,|L1.4176|
000c52  6800              LDR      r0,[r0,#0]  ; m_nMaskingNo
000c54  f7fffffe          BL       SetMaskingPattern
;;;1388   	SetFormatInfoPattern(m_nMaskingNo); 
000c58  48fd              LDR      r0,|L1.4176|
000c5a  6800              LDR      r0,[r0,#0]  ; m_nMaskingNo
000c5c  f7fffffe          BL       SetFormatInfoPattern
;;;1389   
;;;1390   	for (i = 0; i < m_nSymbleSize; ++i)
000c60  2400              MOVS     r4,#0
000c62  e019              B        |L1.3224|
                  |L1.3172|
;;;1391   	{
;;;1392   		for (j = 0; j < m_nSymbleSize; ++j)
000c64  2500              MOVS     r5,#0
000c66  e012              B        |L1.3214|
                  |L1.3176|
;;;1393   		{
;;;1394   			m_byModuleData[i][j] = (unsigned char)((m_byModuleData[i][j] & 0x11) != 0);
000c68  eb041004          ADD      r0,r4,r4,LSL #4
000c6c  49f9              LDR      r1,|L1.4180|
000c6e  eb010040          ADD      r0,r1,r0,LSL #1
000c72  5d40              LDRB     r0,[r0,r5]
000c74  f0100f11          TST      r0,#0x11
000c78  d001              BEQ      |L1.3198|
000c7a  2001              MOVS     r0,#1
000c7c  e000              B        |L1.3200|
                  |L1.3198|
000c7e  2000              MOVS     r0,#0
                  |L1.3200|
000c80  eb041104          ADD      r1,r4,r4,LSL #4
000c84  4af3              LDR      r2,|L1.4180|
000c86  eb020141          ADD      r1,r2,r1,LSL #1
000c8a  5548              STRB     r0,[r1,r5]
000c8c  1c6d              ADDS     r5,r5,#1              ;1392
                  |L1.3214|
000c8e  48f2              LDR      r0,|L1.4184|
000c90  6800              LDR      r0,[r0,#0]            ;1392  ; m_nSymbleSize
000c92  4285              CMP      r5,r0                 ;1392
000c94  dbe8              BLT      |L1.3176|
000c96  1c64              ADDS     r4,r4,#1              ;1390
                  |L1.3224|
000c98  48ef              LDR      r0,|L1.4184|
000c9a  6800              LDR      r0,[r0,#0]            ;1390  ; m_nSymbleSize
000c9c  4284              CMP      r4,r0                 ;1390
000c9e  dbe1              BLT      |L1.3172|
;;;1395   		}
;;;1396   	}
;;;1397   }
000ca0  e8bd81f0          POP      {r4-r8,pc}
;;;1398   
                          ENDP

                  GetRSCodeWord PROC
;;;1323   
;;;1324   void GetRSCodeWord(unsigned char *lpbyRSWork, int ncDataCodeWord, int ncRSCodeWord)
000ca4  b5f0              PUSH     {r4-r7,lr}
;;;1325   {
;;;1326   	int i, j;
;;;1327   
;;;1328   	for (i = 0; i < ncDataCodeWord ; ++i)
000ca6  2300              MOVS     r3,#0
000ca8  e034              B        |L1.3348|
                  |L1.3242|
;;;1329   	{
;;;1330   		if (lpbyRSWork[0] != 0)
000caa  7805              LDRB     r5,[r0,#0]
000cac  b33d              CBZ      r5,|L1.3326|
;;;1331   		{
;;;1332   			unsigned char nExpFirst = byIntToExp[lpbyRSWork[0]]; 
000cae  7806              LDRB     r6,[r0,#0]
000cb0  4fea              LDR      r7,|L1.4188|
000cb2  5dbd              LDRB     r5,[r7,r6]
;;;1333   
;;;1334   			for (j = 0; j < ncRSCodeWord; ++j)
000cb4  2400              MOVS     r4,#0
000cb6  e015              B        |L1.3300|
                  |L1.3256|
;;;1335   			{
;;;1336   				unsigned char nExpElement = (unsigned char)(((int)(byRSExp[ncRSCodeWord][j] + nExpFirst)) % 255);
000cb8  4fe9              LDR      r7,|L1.4192|
000cba  f8577022          LDR      r7,[r7,r2,LSL #2]
000cbe  5d3f              LDRB     r7,[r7,r4]
000cc0  442f              ADD      r7,r7,r5
000cc2  f04f0cff          MOV      r12,#0xff
000cc6  fb97fefc          SDIV     lr,r7,r12
000cca  fb0c771e          MLS      r7,r12,lr,r7
000cce  b2fe              UXTB     r6,r7
;;;1337   
;;;1338   				lpbyRSWork[j] = (unsigned char)(lpbyRSWork[j + 1] ^ byExpToInt[nExpElement]);
000cd0  1c67              ADDS     r7,r4,#1
000cd2  5dc7              LDRB     r7,[r0,r7]
000cd4  f8dfc38c          LDR      r12,|L1.4196|
000cd8  f81cc006          LDRB     r12,[r12,r6]
000cdc  ea87070c          EOR      r7,r7,r12
000ce0  5507              STRB     r7,[r0,r4]
000ce2  1c64              ADDS     r4,r4,#1              ;1334
                  |L1.3300|
000ce4  4294              CMP      r4,r2                 ;1334
000ce6  dbe7              BLT      |L1.3256|
;;;1339   			}
;;;1340   
;;;1341   			for (j = ncRSCodeWord; j < ncDataCodeWord + ncRSCodeWord - 1; ++j)
000ce8  4614              MOV      r4,r2
000cea  e003              B        |L1.3316|
                  |L1.3308|
;;;1342   				lpbyRSWork[j] = lpbyRSWork[j + 1];
000cec  1c66              ADDS     r6,r4,#1
000cee  5d86              LDRB     r6,[r0,r6]
000cf0  5506              STRB     r6,[r0,r4]
000cf2  1c64              ADDS     r4,r4,#1              ;1341
                  |L1.3316|
000cf4  188e              ADDS     r6,r1,r2              ;1341
000cf6  1e76              SUBS     r6,r6,#1              ;1341
000cf8  42a6              CMP      r6,r4                 ;1341
000cfa  dcf7              BGT      |L1.3308|
;;;1343   		}
000cfc  e009              B        |L1.3346|
                  |L1.3326|
;;;1344   		else
;;;1345   		{
;;;1346   			for (j = 0; j < ncDataCodeWord + ncRSCodeWord - 1; ++j)
000cfe  2400              MOVS     r4,#0
000d00  e003              B        |L1.3338|
                  |L1.3330|
;;;1347   				lpbyRSWork[j] = lpbyRSWork[j + 1];
000d02  1c65              ADDS     r5,r4,#1
000d04  5d45              LDRB     r5,[r0,r5]
000d06  5505              STRB     r5,[r0,r4]
000d08  1c64              ADDS     r4,r4,#1              ;1346
                  |L1.3338|
000d0a  188d              ADDS     r5,r1,r2              ;1346
000d0c  1e6d              SUBS     r5,r5,#1              ;1346
000d0e  42a5              CMP      r5,r4                 ;1346
000d10  dcf7              BGT      |L1.3330|
                  |L1.3346|
000d12  1c5b              ADDS     r3,r3,#1              ;1328
                  |L1.3348|
000d14  428b              CMP      r3,r1                 ;1328
000d16  dbc8              BLT      |L1.3242|
;;;1348   		}
;;;1349   	}
;;;1350   }
000d18  bdf0              POP      {r4-r7,pc}
;;;1351   
                          ENDP

                  SetBitStream PROC
;;;1214   
;;;1215   int SetBitStream(int nIndex, unsigned short wData, int ncData)
000d1a  b5f0              PUSH     {r4-r7,lr}
;;;1216   {
000d1c  4603              MOV      r3,r0
;;;1217   	int i;
;;;1218   
;;;1219   	if (nIndex == -1 || nIndex + ncData > MAX_DATACODEWORD * 8)
000d1e  1c58              ADDS     r0,r3,#1
000d20  d003              BEQ      |L1.3370|
000d22  1898              ADDS     r0,r3,r2
000d24  f5b07fc8          CMP      r0,#0x190
000d28  dd02              BLE      |L1.3376|
                  |L1.3370|
;;;1220   		return -1;
000d2a  f04f30ff          MOV      r0,#0xffffffff
                  |L1.3374|
;;;1221   
;;;1222   	for (i = 0; i < ncData; ++i)
;;;1223   	{
;;;1224   		if (wData & (1 << (ncData - i - 1)))
;;;1225   		{
;;;1226   			m_byDataCodeWord[(nIndex + i) / 8] |= 1 << (7 - ((nIndex + i) % 8));
;;;1227   		}
;;;1228   	}
;;;1229   
;;;1230   	return nIndex + ncData;
;;;1231   }
000d2e  bdf0              POP      {r4-r7,pc}
                  |L1.3376|
000d30  2400              MOVS     r4,#0                 ;1222
000d32  e024              B        |L1.3454|
                  |L1.3380|
000d34  1b10              SUBS     r0,r2,r4              ;1224
000d36  1e45              SUBS     r5,r0,#1              ;1224
000d38  2001              MOVS     r0,#1                 ;1224
000d3a  40a8              LSLS     r0,r0,r5              ;1224
000d3c  4208              TST      r0,r1                 ;1224
000d3e  d01d              BEQ      |L1.3452|
000d40  191d              ADDS     r5,r3,r4              ;1226
000d42  17ee              ASRS     r6,r5,#31             ;1226
000d44  eb057656          ADD      r6,r5,r6,LSR #29      ;1226
000d48  10f6              ASRS     r6,r6,#3              ;1226
000d4a  4fc7              LDR      r7,|L1.4200|
000d4c  5dbf              LDRB     r7,[r7,r6]            ;1226
000d4e  1918              ADDS     r0,r3,r4              ;1226
000d50  17c6              ASRS     r6,r0,#31             ;1226
000d52  eb007656          ADD      r6,r0,r6,LSR #29      ;1226
000d56  10f6              ASRS     r6,r6,#3              ;1226
000d58  eba006c6          SUB      r6,r0,r6,LSL #3       ;1226
000d5c  f1c60c07          RSB      r12,r6,#7             ;1226
000d60  2601              MOVS     r6,#1                 ;1226
000d62  fa06f60c          LSL      r6,r6,r12             ;1226
000d66  4337              ORRS     r7,r7,r6              ;1226
000d68  b2fe              UXTB     r6,r7                 ;1226
000d6a  191d              ADDS     r5,r3,r4              ;1226
000d6c  17ef              ASRS     r7,r5,#31             ;1226
000d6e  eb057757          ADD      r7,r5,r7,LSR #29      ;1226
000d72  10ff              ASRS     r7,r7,#3              ;1226
000d74  f8dfc2f0          LDR      r12,|L1.4200|
000d78  f80c6007          STRB     r6,[r12,r7]           ;1226
                  |L1.3452|
000d7c  1c64              ADDS     r4,r4,#1              ;1222
                  |L1.3454|
000d7e  4294              CMP      r4,r2                 ;1222
000d80  dbd8              BLT      |L1.3380|
000d82  1898              ADDS     r0,r3,r2              ;1230
000d84  e7d3              B        |L1.3374|
;;;1232   
                          ENDP

                  KanjiToBinaly PROC
;;;1300   
;;;1301   unsigned short KanjiToBinaly(unsigned short wc)
000d86  4601              MOV      r1,r0
;;;1302   {
;;;1303   	if (wc >= 0x8140 && wc <= 0x9ffc)
000d88  f2481040          MOV      r0,#0x8140
000d8c  4281              CMP      r1,r0
000d8e  db08              BLT      |L1.3490|
000d90  f64970fc          MOV      r0,#0x9ffc
000d94  4281              CMP      r1,r0
000d96  dc04              BGT      |L1.3490|
;;;1304   		wc -= 0x8140;
000d98  f5a14001          SUB      r0,r1,#0x8100
000d9c  3840              SUBS     r0,r0,#0x40
000d9e  b281              UXTH     r1,r0
000da0  e003              B        |L1.3498|
                  |L1.3490|
;;;1305   	else
;;;1306   		wc -= 0xc140;
000da2  f5a14041          SUB      r0,r1,#0xc100
000da6  3840              SUBS     r0,r0,#0x40
000da8  b281              UXTH     r1,r0
                  |L1.3498|
;;;1307   
;;;1308   	return (unsigned short)(((wc >> 8) * 0xc0) + (wc & 0x00ff));
000daa  b2c8              UXTB     r0,r1
000dac  120a              ASRS     r2,r1,#8
000dae  eb020242          ADD      r2,r2,r2,LSL #1
000db2  eb001082          ADD      r0,r0,r2,LSL #6
000db6  b280              UXTH     r0,r0
;;;1309   }
000db8  4770              BX       lr
;;;1310   
                          ENDP

                  AlphabetToBinaly PROC
;;;1275   
;;;1276   unsigned char AlphabetToBinaly(unsigned char c)
000dba  4601              MOV      r1,r0
;;;1277   {
;;;1278   	if (c >= '0' && c <= '9') return (unsigned char)(c - '0');
000dbc  2930              CMP      r1,#0x30
000dbe  db05              BLT      |L1.3532|
000dc0  2939              CMP      r1,#0x39
000dc2  dc03              BGT      |L1.3532|
000dc4  f1a10030          SUB      r0,r1,#0x30
000dc8  b2c0              UXTB     r0,r0
                  |L1.3530|
;;;1279   
;;;1280   	if (c >= 'A' && c <= 'Z') return (unsigned char)(c - 'A' + 10);
;;;1281   
;;;1282   	if (c == ' ') return 36;
;;;1283   
;;;1284   	if (c == '$') return 37;
;;;1285   
;;;1286   	if (c == '%') return 38;
;;;1287   
;;;1288   	if (c == '*') return 39;
;;;1289   
;;;1290   	if (c == '+') return 40;
;;;1291   
;;;1292   	if (c == '-') return 41;
;;;1293   
;;;1294   	if (c == '.') return 42;
;;;1295   
;;;1296   	if (c == '/') return 43;
;;;1297   
;;;1298   	return 44;
;;;1299   }
000dca  4770              BX       lr
                  |L1.3532|
000dcc  2941              CMP      r1,#0x41              ;1280
000dce  db05              BLT      |L1.3548|
000dd0  295a              CMP      r1,#0x5a              ;1280
000dd2  dc03              BGT      |L1.3548|
000dd4  f1a10037          SUB      r0,r1,#0x37           ;1280
000dd8  b2c0              UXTB     r0,r0                 ;1280
000dda  e7f6              B        |L1.3530|
                  |L1.3548|
000ddc  2920              CMP      r1,#0x20              ;1282
000dde  d101              BNE      |L1.3556|
000de0  2024              MOVS     r0,#0x24              ;1282
000de2  e7f2              B        |L1.3530|
                  |L1.3556|
000de4  2924              CMP      r1,#0x24              ;1284
000de6  d101              BNE      |L1.3564|
000de8  2025              MOVS     r0,#0x25              ;1284
000dea  e7ee              B        |L1.3530|
                  |L1.3564|
000dec  2925              CMP      r1,#0x25              ;1286
000dee  d101              BNE      |L1.3572|
000df0  2026              MOVS     r0,#0x26              ;1286
000df2  e7ea              B        |L1.3530|
                  |L1.3572|
000df4  292a              CMP      r1,#0x2a              ;1288
000df6  d101              BNE      |L1.3580|
000df8  2027              MOVS     r0,#0x27              ;1288
000dfa  e7e6              B        |L1.3530|
                  |L1.3580|
000dfc  292b              CMP      r1,#0x2b              ;1290
000dfe  d101              BNE      |L1.3588|
000e00  2028              MOVS     r0,#0x28              ;1290
000e02  e7e2              B        |L1.3530|
                  |L1.3588|
000e04  292d              CMP      r1,#0x2d              ;1292
000e06  d101              BNE      |L1.3596|
000e08  2029              MOVS     r0,#0x29              ;1292
000e0a  e7de              B        |L1.3530|
                  |L1.3596|
000e0c  292e              CMP      r1,#0x2e              ;1294
000e0e  d101              BNE      |L1.3604|
000e10  202a              MOVS     r0,#0x2a              ;1294
000e12  e7da              B        |L1.3530|
                  |L1.3604|
000e14  292f              CMP      r1,#0x2f              ;1296
000e16  d101              BNE      |L1.3612|
000e18  202b              MOVS     r0,#0x2b              ;1296
000e1a  e7d6              B        |L1.3530|
                  |L1.3612|
000e1c  202c              MOVS     r0,#0x2c              ;1298
000e1e  e7d4              B        |L1.3530|
;;;1300   
                          ENDP

                  GetBitLength PROC
;;;1175   
;;;1176   int GetBitLength(unsigned char nMode, int ncData, int nVerGroup)
000e20  b5f0              PUSH     {r4-r7,lr}
;;;1177   {
000e22  4605              MOV      r5,r0
;;;1178   	int ncBits = 0;
000e24  2000              MOVS     r0,#0
;;;1179   
;;;1180   	switch (nMode)
000e26  b125              CBZ      r5,|L1.3634|
000e28  2d01              CMP      r5,#1
000e2a  d01c              BEQ      |L1.3686|
000e2c  2d02              CMP      r5,#2
000e2e  d137              BNE      |L1.3744|
000e30  e02f              B        |L1.3730|
                  |L1.3634|
;;;1181   	{
;;;1182   	case QR_MODE_NUMERAL:
;;;1183   		ncBits = 4 + nIndicatorLenNumeral[nVerGroup] + (10 * (ncData / 3));
000e32  2303              MOVS     r3,#3
000e34  fb91f4f3          SDIV     r4,r1,r3
000e38  4b8c              LDR      r3,|L1.4204|
000e3a  5c9b              LDRB     r3,[r3,r2]
000e3c  1d1b              ADDS     r3,r3,#4
000e3e  260a              MOVS     r6,#0xa
000e40  fb063004          MLA      r0,r6,r4,r3
;;;1184   		switch (ncData % 3)
000e44  2303              MOVS     r3,#3
000e46  fb91f4f3          SDIV     r4,r1,r3
000e4a  fb031314          MLS      r3,r3,r4,r1
000e4e  2b01              CMP      r3,#1
000e50  d002              BEQ      |L1.3672|
000e52  2b02              CMP      r3,#2
000e54  d104              BNE      |L1.3680|
000e56  e001              B        |L1.3676|
                  |L1.3672|
;;;1185   		{
;;;1186   			case 1:
;;;1187   				ncBits += 4;
000e58  1d00              ADDS     r0,r0,#4
;;;1188   				break;
000e5a  e002              B        |L1.3682|
                  |L1.3676|
;;;1189   			case 2:
;;;1190   				ncBits += 7;
000e5c  1dc0              ADDS     r0,r0,#7
;;;1191   				break;
000e5e  e000              B        |L1.3682|
                  |L1.3680|
;;;1192   			default:
;;;1193   				break;
000e60  bf00              NOP      
                  |L1.3682|
000e62  bf00              NOP                            ;1188
;;;1194   		}
;;;1195   
;;;1196   		break;
000e64  e023              B        |L1.3758|
                  |L1.3686|
;;;1197   
;;;1198   	case QR_MODE_ALPHABET:
;;;1199   		ncBits = 4 + nIndicatorLenAlphabet[nVerGroup] + (11 * (ncData / 2)) + (6 * (ncData % 2));
000e66  460c              MOV      r4,r1
000e68  eb0176d1          ADD      r6,r1,r1,LSR #31
000e6c  1077              ASRS     r7,r6,#1
000e6e  4e80              LDR      r6,|L1.4208|
000e70  5cb6              LDRB     r6,[r6,r2]
000e72  1d36              ADDS     r6,r6,#4
000e74  f04f0c0b          MOV      r12,#0xb
000e78  fb0c6607          MLA      r6,r12,r7,r6
000e7c  460b              MOV      r3,r1
000e7e  eb0177d1          ADD      r7,r1,r1,LSR #31
000e82  107f              ASRS     r7,r7,#1
000e84  eba10747          SUB      r7,r1,r7,LSL #1
000e88  f04f0c06          MOV      r12,#6
000e8c  fb0c6007          MLA      r0,r12,r7,r6
;;;1200   		break;
000e90  e00d              B        |L1.3758|
                  |L1.3730|
;;;1201   
;;;1202   	case QR_MODE_8BIT:
;;;1203   		ncBits = 4 + nIndicatorLen8Bit[nVerGroup] + (8 * ncData);
000e92  4b78              LDR      r3,|L1.4212|
000e94  5c9b              LDRB     r3,[r3,r2]
000e96  1d1b              ADDS     r3,r3,#4
000e98  2408              MOVS     r4,#8
000e9a  fb043001          MLA      r0,r4,r1,r3
;;;1204   		break;
000e9e  e006              B        |L1.3758|
                  |L1.3744|
;;;1205   
;;;1206   	default:
;;;1207   		//ncBits = 4 + nIndicatorLenKanji[nVerGroup] + (13 * (ncData / 2));
;;;1208   		ncBits = 4 + nIndicatorLenKanji[nVerGroup] + (13 * ncData);
000ea0  4b75              LDR      r3,|L1.4216|
000ea2  5c9b              LDRB     r3,[r3,r2]
000ea4  1d1b              ADDS     r3,r3,#4
000ea6  240d              MOVS     r4,#0xd
000ea8  fb043001          MLA      r0,r4,r1,r3
;;;1209   		break;
000eac  bf00              NOP      
                  |L1.3758|
000eae  bf00              NOP                            ;1196
;;;1210   	}
;;;1211   
;;;1212   	return ncBits;
;;;1213   }
000eb0  bdf0              POP      {r4-r7,pc}
;;;1214   
                          ENDP

                  IsAlphabetData PROC
;;;1240   
;;;1241   bool IsAlphabetData(unsigned char c)
000eb2  4601              MOV      r1,r0
;;;1242   {
;;;1243   	if (c >= '0' && c <= '9')
000eb4  2930              CMP      r1,#0x30
000eb6  db03              BLT      |L1.3776|
000eb8  2939              CMP      r1,#0x39
000eba  dc01              BGT      |L1.3776|
;;;1244   		return TRUE;
000ebc  2001              MOVS     r0,#1
                  |L1.3774|
;;;1245   
;;;1246   	if (c >= 'A' && c <= 'Z')
;;;1247   		return TRUE;
;;;1248   
;;;1249   	if (c == ' ' || c == '$' || c == '%' || c == '*' || c == '+' || c == '-' || c == '.' || c == '/' || c == ':')
;;;1250   		return TRUE;
;;;1251   
;;;1252   	return FALSE;
;;;1253   }
000ebe  4770              BX       lr
                  |L1.3776|
000ec0  2941              CMP      r1,#0x41              ;1246
000ec2  db03              BLT      |L1.3788|
000ec4  295a              CMP      r1,#0x5a              ;1246
000ec6  dc01              BGT      |L1.3788|
000ec8  2001              MOVS     r0,#1                 ;1247
000eca  e7f8              B        |L1.3774|
                  |L1.3788|
000ecc  2920              CMP      r1,#0x20              ;1249
000ece  d00f              BEQ      |L1.3824|
000ed0  2924              CMP      r1,#0x24              ;1249
000ed2  d00d              BEQ      |L1.3824|
000ed4  2925              CMP      r1,#0x25              ;1249
000ed6  d00b              BEQ      |L1.3824|
000ed8  292a              CMP      r1,#0x2a              ;1249
000eda  d009              BEQ      |L1.3824|
000edc  292b              CMP      r1,#0x2b              ;1249
000ede  d007              BEQ      |L1.3824|
000ee0  292d              CMP      r1,#0x2d              ;1249
000ee2  d005              BEQ      |L1.3824|
000ee4  292e              CMP      r1,#0x2e              ;1249
000ee6  d003              BEQ      |L1.3824|
000ee8  292f              CMP      r1,#0x2f              ;1249
000eea  d001              BEQ      |L1.3824|
000eec  293a              CMP      r1,#0x3a              ;1249
000eee  d101              BNE      |L1.3828|
                  |L1.3824|
000ef0  2001              MOVS     r0,#1                 ;1250
000ef2  e7e4              B        |L1.3774|
                  |L1.3828|
000ef4  2000              MOVS     r0,#0                 ;1252
000ef6  e7e2              B        |L1.3774|
;;;1254   
                          ENDP

                  IsNumeralData PROC
;;;1232   
;;;1233   bool IsNumeralData(unsigned char c)
000ef8  4601              MOV      r1,r0
;;;1234   {
;;;1235   	if (c >= '0' && c <= '9')
000efa  2930              CMP      r1,#0x30
000efc  db03              BLT      |L1.3846|
000efe  2939              CMP      r1,#0x39
000f00  dc01              BGT      |L1.3846|
;;;1236   		return TRUE;
000f02  2001              MOVS     r0,#1
                  |L1.3844|
;;;1237   
;;;1238   	return FALSE;
;;;1239   }
000f04  4770              BX       lr
                  |L1.3846|
000f06  2000              MOVS     r0,#0                 ;1238
000f08  e7fc              B        |L1.3844|
;;;1240   
                          ENDP

                  IsKanjiData PROC
;;;1254   
;;;1255   bool IsKanjiData(unsigned char c1, unsigned char c2)
000f0a  4602              MOV      r2,r0
;;;1256   {
;;;1257   
;;;1258   	if (((c1 >= 0x81 && c1 <= 0x9f) || (c1 >= 0xe0 && c1 <= 0xeb)) && (c2 >= 0x40))
000f0c  2a81              CMP      r2,#0x81
000f0e  db01              BLT      |L1.3860|
000f10  2a9f              CMP      r2,#0x9f
000f12  dd03              BLE      |L1.3868|
                  |L1.3860|
000f14  2ae0              CMP      r2,#0xe0
000f16  db0f              BLT      |L1.3896|
000f18  2aeb              CMP      r2,#0xeb
000f1a  dc0d              BGT      |L1.3896|
                  |L1.3868|
000f1c  2940              CMP      r1,#0x40
000f1e  db0b              BLT      |L1.3896|
;;;1259   	{
;;;1260   		if ((c1 == 0x9f && c2 > 0xfc) || (c1 == 0xeb && c2 > 0xbf))
000f20  2a9f              CMP      r2,#0x9f
000f22  d101              BNE      |L1.3880|
000f24  29fc              CMP      r1,#0xfc
000f26  dc03              BGT      |L1.3888|
                  |L1.3880|
000f28  2aeb              CMP      r2,#0xeb
000f2a  d103              BNE      |L1.3892|
000f2c  29bf              CMP      r1,#0xbf
000f2e  dd01              BLE      |L1.3892|
                  |L1.3888|
;;;1261   			return FALSE;
000f30  2000              MOVS     r0,#0
                  |L1.3890|
;;;1262   
;;;1263   		return TRUE;
;;;1264   	}
;;;1265   	return FALSE;
;;;1266   }
000f32  4770              BX       lr
                  |L1.3892|
000f34  2001              MOVS     r0,#1                 ;1263
000f36  e7fc              B        |L1.3890|
                  |L1.3896|
000f38  2000              MOVS     r0,#0                 ;1265
000f3a  e7fa              B        |L1.3890|
;;;1267   bool IsChineseData(unsigned char c1, unsigned char c2)
                          ENDP

                  EncodeSourceData PROC
;;;835    //bool EncodeSourceData(char *lpsSource, int ncLength, int nVerGroup)
;;;836    int EncodeSourceData(char *lpsSource, int ncLength, int nVerGroup)
000f3c  e92d4ff0          PUSH     {r4-r11,lr}
;;;837    {
000f40  b087              SUB      sp,sp,#0x1c
000f42  4604              MOV      r4,r0
000f44  460d              MOV      r5,r1
000f46  4616              MOV      r6,r2
;;;838    	int i, j;
;;;839    	int ncSrcBits, ncDstBits;
;;;840    	int nBlock = 0;
000f48  f04f0900          MOV      r9,#0
;;;841    	int ncComplete = 0; 
000f4c  2000              MOVS     r0,#0
000f4e  9004              STR      r0,[sp,#0x10]
;;;842    	unsigned short wBinCode;
;;;843    
;;;844    	memset(m_nBlockLength, 0, sizeof(m_nBlockLength));
000f50  2132              MOVS     r1,#0x32
000f52  484a              LDR      r0,|L1.4220|
000f54  f7fffffe          BL       __aeabi_memclr
;;;845    
;;;846    	for (m_ncDataBlock = i = 0; i < ncLength; ++i)
000f58  2000              MOVS     r0,#0
000f5a  4607              MOV      r7,r0
000f5c  4948              LDR      r1,|L1.4224|
000f5e  6008              STR      r0,[r1,#0]  ; m_ncDataBlock
000f60  e03e              B        |L1.4064|
                  |L1.3938|
;;;847    	{
;;;848    		unsigned char byMode;
;;;849    
;;;850    		if (i < ncLength - 1 && IsKanjiData(lpsSource[i], lpsSource[i + 1]))
000f62  1e68              SUBS     r0,r5,#1
000f64  42b8              CMP      r0,r7
000f66  dd07              BLE      |L1.3960|
000f68  1c7a              ADDS     r2,r7,#1
000f6a  5ca1              LDRB     r1,[r4,r2]
000f6c  5de0              LDRB     r0,[r4,r7]
000f6e  f7fffffe          BL       IsKanjiData
000f72  b108              CBZ      r0,|L1.3960|
;;;851    			byMode = QR_MODE_KANJI;				
000f74  2303              MOVS     r3,#3
000f76  e00c              B        |L1.3986|
                  |L1.3960|
;;;852    		//else if(i < ncLength - 1 && IsChineseData(lpsSource[i], lpsSource[i + 1]))
;;;853    			//byMode = QR_MODE_CHINESE;			
;;;854    		else if (IsNumeralData(lpsSource[i]))	
000f78  5de0              LDRB     r0,[r4,r7]
000f7a  f7fffffe          BL       IsNumeralData
000f7e  b108              CBZ      r0,|L1.3972|
;;;855    			byMode = QR_MODE_NUMERAL;			
000f80  2300              MOVS     r3,#0
000f82  e006              B        |L1.3986|
                  |L1.3972|
;;;856    		else if (IsAlphabetData(lpsSource[i]))
000f84  5de0              LDRB     r0,[r4,r7]
000f86  f7fffffe          BL       IsAlphabetData
000f8a  b108              CBZ      r0,|L1.3984|
;;;857    			byMode = QR_MODE_ALPHABET;			//
000f8c  2301              MOVS     r3,#1
000f8e  e000              B        |L1.3986|
                  |L1.3984|
;;;858    		else
;;;859    			byMode = QR_MODE_8BIT;				//
000f90  2302              MOVS     r3,#2
                  |L1.3986|
;;;860    
;;;861    		if (i == 0)
000f92  b90f              CBNZ     r7,|L1.3992|
;;;862    			m_byBlockMode[0] = byMode;			//
000f94  483b              LDR      r0,|L1.4228|
000f96  7003              STRB     r3,[r0,#0]
                  |L1.3992|
;;;863    
;;;864    		if (m_byBlockMode[m_ncDataBlock] != byMode)//
000f98  483a              LDR      r0,|L1.4228|
000f9a  4939              LDR      r1,|L1.4224|
000f9c  6809              LDR      r1,[r1,#0]  ; m_ncDataBlock
000f9e  5c40              LDRB     r0,[r0,r1]
000fa0  4298              CMP      r0,r3
000fa2  d006              BEQ      |L1.4018|
;;;865    			m_byBlockMode[++m_ncDataBlock] = byMode;
000fa4  4836              LDR      r0,|L1.4224|
000fa6  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
000fa8  1c40              ADDS     r0,r0,#1
000faa  4935              LDR      r1,|L1.4224|
000fac  6008              STR      r0,[r1,#0]  ; m_ncDataBlock
000fae  4935              LDR      r1,|L1.4228|
000fb0  540b              STRB     r3,[r1,r0]
                  |L1.4018|
;;;866    
;;;867    		++m_nBlockLength[m_ncDataBlock];
000fb2  4832              LDR      r0,|L1.4220|
000fb4  4932              LDR      r1,|L1.4224|
000fb6  6809              LDR      r1,[r1,#0]  ; m_ncDataBlock
000fb8  5c40              LDRB     r0,[r0,r1]
000fba  1c40              ADDS     r0,r0,#1
000fbc  492f              LDR      r1,|L1.4220|
000fbe  4a30              LDR      r2,|L1.4224|
000fc0  6812              LDR      r2,[r2,#0]  ; m_ncDataBlock
000fc2  5488              STRB     r0,[r1,r2]
;;;868    
;;;869    		if (byMode == QR_MODE_KANJI)
000fc4  2b03              CMP      r3,#3
000fc6  d10a              BNE      |L1.4062|
;;;870    		{
;;;871    			++m_nBlockLength[m_ncDataBlock];
000fc8  4608              MOV      r0,r1
000fca  492d              LDR      r1,|L1.4224|
000fcc  6809              LDR      r1,[r1,#0]  ; m_ncDataBlock
000fce  5c40              LDRB     r0,[r0,r1]
000fd0  1c40              ADDS     r0,r0,#1
000fd2  b2c1              UXTB     r1,r0
000fd4  4829              LDR      r0,|L1.4220|
000fd6  4a2a              LDR      r2,|L1.4224|
000fd8  6812              LDR      r2,[r2,#0]  ; m_ncDataBlock
000fda  5481              STRB     r1,[r0,r2]
;;;872    			++i;
000fdc  1c7f              ADDS     r7,r7,#1
                  |L1.4062|
000fde  1c7f              ADDS     r7,r7,#1              ;846
                  |L1.4064|
000fe0  42af              CMP      r7,r5                 ;846
000fe2  dbbe              BLT      |L1.3938|
;;;873    		}
;;;874    	}
;;;875    
;;;876    	++m_ncDataBlock;
000fe4  4826              LDR      r0,|L1.4224|
000fe6  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
000fe8  1c40              ADDS     r0,r0,#1
000fea  4925              LDR      r1,|L1.4224|
000fec  6008              STR      r0,[r1,#0]  ; m_ncDataBlock
;;;877    
;;;878    	while (nBlock < m_ncDataBlock - 1)
000fee  e1a2              B        |L1.4918|
                  |L1.4080|
;;;879    	{
;;;880    		int ncJoinFront, ncJoinBehind; 
;;;881    		int nJoinPosition = 0; 
000ff0  f04f0a00          MOV      r10,#0
;;;882    
;;;883    		if ((m_byBlockMode[nBlock] == QR_MODE_NUMERAL  && m_byBlockMode[nBlock + 1] == QR_MODE_ALPHABET) ||
000ff4  4823              LDR      r0,|L1.4228|
000ff6  f8100009          LDRB     r0,[r0,r9]
000ffa  b928              CBNZ     r0,|L1.4104|
000ffc  4921              LDR      r1,|L1.4228|
000ffe  f1090001          ADD      r0,r9,#1
001002  5c08              LDRB     r0,[r1,r0]
001004  2801              CMP      r0,#1
001006  d00a              BEQ      |L1.4126|
                  |L1.4104|
;;;884    			(m_byBlockMode[nBlock] == QR_MODE_ALPHABET && m_byBlockMode[nBlock + 1] == QR_MODE_NUMERAL))
001008  481e              LDR      r0,|L1.4228|
00100a  f8100009          LDRB     r0,[r0,r9]
00100e  2801              CMP      r0,#1
                  |L1.4112|
001010  d179              BNE      |L1.4358|
001012  491c              LDR      r1,|L1.4228|
001014  f1090001          ADD      r0,r9,#1
001018  5c08              LDRB     r0,[r1,r0]
00101a  2800              CMP      r0,#0
00101c  d1f8              BNE      |L1.4112|
                  |L1.4126|
;;;885    		{
;;;886    			ncSrcBits = GetBitLength(m_byBlockMode[nBlock], m_nBlockLength[nBlock], nVerGroup) +
00101e  4a17              LDR      r2,|L1.4220|
001020  f8121009          LDRB     r1,[r2,r9]
001024  4a17              LDR      r2,|L1.4228|
001026  f8120009          LDRB     r0,[r2,r9]
00102a  4632              MOV      r2,r6
00102c  f7fffffe          BL       GetBitLength
001030  4683              MOV      r11,r0
001032  4b12              LDR      r3,|L1.4220|
001034  f1090201          ADD      r2,r9,#1
001038  5c99              LDRB     r1,[r3,r2]
00103a  4b12              LDR      r3,|L1.4228|
00103c  5c98              LDRB     r0,[r3,r2]
00103e  4632              MOV      r2,r6
001040  f7fffffe          BL       GetBitLength
001044  eb0b0100          ADD      r1,r11,r0
001048  9105              STR      r1,[sp,#0x14]
;;;887    						GetBitLength(m_byBlockMode[nBlock + 1], m_nBlockLength[nBlock + 1], nVerGroup);
;;;888    
;;;889    			ncDstBits = GetBitLength(QR_MODE_ALPHABET, m_nBlockLength[nBlock] + m_nBlockLength[nBlock + 1], nVerGroup);
00104a  480c              LDR      r0,|L1.4220|
00104c  e01c              B        |L1.4232|
00104e  0000              DCW      0x0000
                  |L1.4176|
                          DCD      m_nMaskingNo
                  |L1.4180|
                          DCD      m_byModuleData
                  |L1.4184|
                          DCD      m_nSymbleSize
                  |L1.4188|
                          DCD      byIntToExp
                  |L1.4192|
                          DCD      byRSExp
                  |L1.4196|
                          DCD      byExpToInt
                  |L1.4200|
                          DCD      m_byDataCodeWord
                  |L1.4204|
                          DCD      nIndicatorLenNumeral
                  |L1.4208|
                          DCD      nIndicatorLenAlphabet
                  |L1.4212|
                          DCD      nIndicatorLen8Bit
                  |L1.4216|
                          DCD      nIndicatorLenKanji
                  |L1.4220|
                          DCD      m_nBlockLength
                  |L1.4224|
                          DCD      m_ncDataBlock
                  |L1.4228|
                          DCD      m_byBlockMode
                  |L1.4232|
001088  f8102009          LDRB     r2,[r0,r9]
00108c  4603              MOV      r3,r0
00108e  f1090001          ADD      r0,r9,#1
001092  5c18              LDRB     r0,[r3,r0]
001094  1811              ADDS     r1,r2,r0
001096  4632              MOV      r2,r6
001098  2001              MOVS     r0,#1
00109a  f7fffffe          BL       GetBitLength
00109e  4680              MOV      r8,r0
;;;890    
;;;891    			if (ncSrcBits > ncDstBits)
0010a0  9905              LDR      r1,[sp,#0x14]
0010a2  4541              CMP      r1,r8
0010a4  dd2f              BLE      |L1.4358|
;;;892    			{
;;;893    				if (nBlock >= 1 && m_byBlockMode[nBlock - 1] == QR_MODE_8BIT)
0010a6  f1b90f01          CMP      r9,#1
0010aa  db2d              BLT      |L1.4360|
0010ac  f1a90001          SUB      r0,r9,#1
0010b0  49fb              LDR      r1,|L1.5280|
0010b2  5c08              LDRB     r0,[r1,r0]
0010b4  2802              CMP      r0,#2
0010b6  d127              BNE      |L1.4360|
;;;894    				{
;;;895    					ncJoinFront = GetBitLength(QR_MODE_8BIT, m_nBlockLength[nBlock - 1] + m_nBlockLength[nBlock], nVerGroup) +
0010b8  f1a90001          SUB      r0,r9,#1
0010bc  4af9              LDR      r2,|L1.5284|
0010be  5c10              LDRB     r0,[r2,r0]
0010c0  f8122009          LDRB     r2,[r2,r9]
0010c4  1881              ADDS     r1,r0,r2
0010c6  4632              MOV      r2,r6
0010c8  2002              MOVS     r0,#2
0010ca  f7fffffe          BL       GetBitLength
0010ce  4683              MOV      r11,r0
0010d0  4bf4              LDR      r3,|L1.5284|
0010d2  f1090201          ADD      r2,r9,#1
0010d6  5c99              LDRB     r1,[r3,r2]
0010d8  4bf1              LDR      r3,|L1.5280|
0010da  5c98              LDRB     r0,[r3,r2]
0010dc  4632              MOV      r2,r6
0010de  f7fffffe          BL       GetBitLength
0010e2  4458              ADD      r0,r0,r11
0010e4  9002              STR      r0,[sp,#8]
;;;896    								  GetBitLength(m_byBlockMode[nBlock + 1], m_nBlockLength[nBlock + 1], nVerGroup);
;;;897    
;;;898    					if (ncJoinFront > ncDstBits + GetBitLength(QR_MODE_8BIT, m_nBlockLength[nBlock - 1], nVerGroup))
0010e6  f1a90001          SUB      r0,r9,#1
0010ea  4aee              LDR      r2,|L1.5284|
0010ec  5c11              LDRB     r1,[r2,r0]
0010ee  4632              MOV      r2,r6
0010f0  2002              MOVS     r0,#2
0010f2  f7fffffe          BL       GetBitLength
0010f6  eb000108          ADD      r1,r0,r8
0010fa  9802              LDR      r0,[sp,#8]
0010fc  4281              CMP      r1,r0
0010fe  da05              BGE      |L1.4364|
;;;899    						ncJoinFront = 0; 
001100  2000              MOVS     r0,#0
001102  9002              STR      r0,[sp,#8]
001104  e002              B        |L1.4364|
                  |L1.4358|
001106  e113              B        |L1.4912|
                  |L1.4360|
;;;900    				}
;;;901    				else
;;;902    					ncJoinFront = 0;
001108  2000              MOVS     r0,#0
00110a  9002              STR      r0,[sp,#8]
                  |L1.4364|
;;;903    
;;;904    				if (nBlock < m_ncDataBlock - 2 && m_byBlockMode[nBlock + 2] == QR_MODE_8BIT)
00110c  48e6              LDR      r0,|L1.5288|
00110e  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
001110  1e80              SUBS     r0,r0,#2
001112  4548              CMP      r0,r9
001114  dd2d              BLE      |L1.4466|
001116  49e2              LDR      r1,|L1.5280|
001118  f1090002          ADD      r0,r9,#2
00111c  5c08              LDRB     r0,[r1,r0]
00111e  2802              CMP      r0,#2
001120  d127              BNE      |L1.4466|
;;;905    				{
;;;906    					ncJoinBehind = GetBitLength(m_byBlockMode[nBlock], m_nBlockLength[nBlock], nVerGroup) +
001122  4ae0              LDR      r2,|L1.5284|
001124  f8121009          LDRB     r1,[r2,r9]
001128  4add              LDR      r2,|L1.5280|
00112a  f8120009          LDRB     r0,[r2,r9]
00112e  4632              MOV      r2,r6
001130  f7fffffe          BL       GetBitLength
001134  4683              MOV      r11,r0
001136  4adb              LDR      r2,|L1.5284|
001138  f1090001          ADD      r0,r9,#1
00113c  5c12              LDRB     r2,[r2,r0]
00113e  4bd9              LDR      r3,|L1.5284|
001140  1c40              ADDS     r0,r0,#1
001142  5c18              LDRB     r0,[r3,r0]
001144  1811              ADDS     r1,r2,r0
001146  4632              MOV      r2,r6
001148  2002              MOVS     r0,#2
00114a  f7fffffe          BL       GetBitLength
00114e  4458              ADD      r0,r0,r11
001150  9001              STR      r0,[sp,#4]
;;;907    								   GetBitLength(QR_MODE_8BIT, m_nBlockLength[nBlock + 1] + m_nBlockLength[nBlock + 2], nVerGroup);
;;;908    
;;;909    					if (ncJoinBehind > ncDstBits + GetBitLength(QR_MODE_8BIT, m_nBlockLength[nBlock + 2], nVerGroup))
001152  4ad4              LDR      r2,|L1.5284|
001154  f1090002          ADD      r0,r9,#2
001158  5c11              LDRB     r1,[r2,r0]
00115a  4632              MOV      r2,r6
00115c  2002              MOVS     r0,#2
00115e  f7fffffe          BL       GetBitLength
001162  eb000108          ADD      r1,r0,r8
001166  9801              LDR      r0,[sp,#4]
001168  4281              CMP      r1,r0
00116a  da04              BGE      |L1.4470|
;;;910    						ncJoinBehind = 0; 
00116c  2000              MOVS     r0,#0
00116e  9001              STR      r0,[sp,#4]
001170  e001              B        |L1.4470|
                  |L1.4466|
;;;911    				}
;;;912    				else
;;;913    					ncJoinBehind = 0;
001172  2000              MOVS     r0,#0
001174  9001              STR      r0,[sp,#4]
                  |L1.4470|
;;;914    
;;;915    				if (ncJoinFront != 0 && ncJoinBehind != 0)
001176  9802              LDR      r0,[sp,#8]
001178  b158              CBZ      r0,|L1.4498|
00117a  9801              LDR      r0,[sp,#4]
00117c  b148              CBZ      r0,|L1.4498|
;;;916    				{
;;;917    					nJoinPosition = (ncJoinFront < ncJoinBehind) ? -1 : 1;
00117e  e9dd1001          LDRD     r1,r0,[sp,#4]
001182  4288              CMP      r0,r1
001184  da02              BGE      |L1.4492|
001186  f04f30ff          MOV      r0,#0xffffffff
00118a  e000              B        |L1.4494|
                  |L1.4492|
00118c  2001              MOVS     r0,#1
                  |L1.4494|
00118e  4682              MOV      r10,r0
001190  e00a              B        |L1.4520|
                  |L1.4498|
;;;918    				}
;;;919    				else
;;;920    				{
;;;921    					nJoinPosition = (ncJoinFront != 0) ? -1 : ((ncJoinBehind != 0) ? 1 : 0);
001192  9802              LDR      r0,[sp,#8]
001194  b110              CBZ      r0,|L1.4508|
001196  f04f30ff          MOV      r0,#0xffffffff
00119a  e004              B        |L1.4518|
                  |L1.4508|
00119c  9801              LDR      r0,[sp,#4]
00119e  b108              CBZ      r0,|L1.4516|
0011a0  2001              MOVS     r0,#1
0011a2  e000              B        |L1.4518|
                  |L1.4516|
0011a4  2000              MOVS     r0,#0
                  |L1.4518|
0011a6  4682              MOV      r10,r0
                  |L1.4520|
;;;922    				}
;;;923    
;;;924    				if (nJoinPosition != 0)
0011a8  f1ba0f00          CMP      r10,#0
0011ac  d044              BEQ      |L1.4664|
;;;925    				{
;;;926    					if (nJoinPosition == -1)
0011ae  f11a0001          ADDS     r0,r10,#1
0011b2  d11c              BNE      |L1.4590|
;;;927    					{
;;;928    						m_nBlockLength[nBlock - 1] += m_nBlockLength[nBlock];
0011b4  f1a90101          SUB      r1,r9,#1
0011b8  48ba              LDR      r0,|L1.5284|
0011ba  5c40              LDRB     r0,[r0,r1]
0011bc  49b9              LDR      r1,|L1.5284|
0011be  f8111009          LDRB     r1,[r1,r9]
0011c2  4408              ADD      r0,r0,r1
0011c4  f1a90101          SUB      r1,r9,#1
0011c8  4ab6              LDR      r2,|L1.5284|
0011ca  5450              STRB     r0,[r2,r1]
;;;929    
;;;930    						for (i = nBlock; i < m_ncDataBlock - 1; ++i)
0011cc  464f              MOV      r7,r9
0011ce  e008              B        |L1.4578|
                  |L1.4560|
;;;931    						{
;;;932    							m_byBlockMode[i]  = m_byBlockMode[i + 1];
0011d0  49b3              LDR      r1,|L1.5280|
0011d2  1c78              ADDS     r0,r7,#1
0011d4  5c08              LDRB     r0,[r1,r0]
0011d6  55c8              STRB     r0,[r1,r7]
;;;933    							m_nBlockLength[i] = m_nBlockLength[i + 1];
0011d8  49b2              LDR      r1,|L1.5284|
0011da  1c78              ADDS     r0,r7,#1
0011dc  5c08              LDRB     r0,[r1,r0]
0011de  55c8              STRB     r0,[r1,r7]
0011e0  1c7f              ADDS     r7,r7,#1              ;930
                  |L1.4578|
0011e2  48b1              LDR      r0,|L1.5288|
0011e4  6800              LDR      r0,[r0,#0]            ;930  ; m_ncDataBlock
0011e6  1e40              SUBS     r0,r0,#1              ;930
0011e8  42b8              CMP      r0,r7                 ;930
0011ea  dcf1              BGT      |L1.4560|
0011ec  e01e              B        |L1.4652|
                  |L1.4590|
;;;934    						}
;;;935    					}
;;;936    					else
;;;937    					{
;;;938    						m_byBlockMode[nBlock + 1] = QR_MODE_8BIT;
0011ee  2102              MOVS     r1,#2
0011f0  4aab              LDR      r2,|L1.5280|
0011f2  f1090001          ADD      r0,r9,#1
0011f6  5411              STRB     r1,[r2,r0]
;;;939    						m_nBlockLength[nBlock + 1] += m_nBlockLength[nBlock + 2];
0011f8  49aa              LDR      r1,|L1.5284|
0011fa  5c09              LDRB     r1,[r1,r0]
0011fc  4aa9              LDR      r2,|L1.5284|
0011fe  1c40              ADDS     r0,r0,#1
001200  5c10              LDRB     r0,[r2,r0]
001202  4408              ADD      r0,r0,r1
001204  b2c1              UXTB     r1,r0
001206  f1090001          ADD      r0,r9,#1
00120a  5411              STRB     r1,[r2,r0]
;;;940    
;;;941    						for (i = nBlock + 2; i < m_ncDataBlock - 1; ++i)
00120c  1c47              ADDS     r7,r0,#1
00120e  e008              B        |L1.4642|
                  |L1.4624|
;;;942    						{
;;;943    							m_byBlockMode[i]  = m_byBlockMode[i + 1];
001210  49a3              LDR      r1,|L1.5280|
001212  1c78              ADDS     r0,r7,#1
001214  5c08              LDRB     r0,[r1,r0]
001216  55c8              STRB     r0,[r1,r7]
;;;944    							m_nBlockLength[i] = m_nBlockLength[i + 1];
001218  49a2              LDR      r1,|L1.5284|
00121a  1c78              ADDS     r0,r7,#1
00121c  5c08              LDRB     r0,[r1,r0]
00121e  55c8              STRB     r0,[r1,r7]
001220  1c7f              ADDS     r7,r7,#1              ;941
                  |L1.4642|
001222  48a1              LDR      r0,|L1.5288|
001224  6800              LDR      r0,[r0,#0]            ;941  ; m_ncDataBlock
001226  1e40              SUBS     r0,r0,#1              ;941
001228  42b8              CMP      r0,r7                 ;941
00122a  dcf1              BGT      |L1.4624|
                  |L1.4652|
;;;945    						}
;;;946    					}
;;;947    
;;;948    					--m_ncDataBlock;
00122c  489e              LDR      r0,|L1.5288|
00122e  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
001230  1e40              SUBS     r0,r0,#1
001232  499d              LDR      r1,|L1.5288|
001234  6008              STR      r0,[r1,#0]  ; m_ncDataBlock
001236  e07a              B        |L1.4910|
                  |L1.4664|
;;;949    				}
;;;950    				else
;;;951    				{
;;;952    					if (nBlock < m_ncDataBlock - 2 && m_byBlockMode[nBlock + 2] == QR_MODE_ALPHABET)
001238  489b              LDR      r0,|L1.5288|
00123a  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
00123c  1e80              SUBS     r0,r0,#2
00123e  4548              CMP      r0,r9
001240  dd26              BLE      |L1.4752|
001242  4997              LDR      r1,|L1.5280|
001244  f1090002          ADD      r0,r9,#2
001248  5c08              LDRB     r0,[r1,r0]
00124a  2801              CMP      r0,#1
00124c  d120              BNE      |L1.4752|
;;;953    					{
;;;954    						m_nBlockLength[nBlock + 1] += m_nBlockLength[nBlock + 2];
00124e  4995              LDR      r1,|L1.5284|
001250  f1090001          ADD      r0,r9,#1
001254  5c09              LDRB     r1,[r1,r0]
001256  4a93              LDR      r2,|L1.5284|
001258  1c40              ADDS     r0,r0,#1
00125a  5c10              LDRB     r0,[r2,r0]
00125c  4408              ADD      r0,r0,r1
00125e  b2c1              UXTB     r1,r0
001260  f1090001          ADD      r0,r9,#1
001264  5411              STRB     r1,[r2,r0]
;;;955    
;;;956    						for (i = nBlock + 2; i < m_ncDataBlock - 1; ++i)
001266  1c47              ADDS     r7,r0,#1
001268  e008              B        |L1.4732|
                  |L1.4714|
;;;957    						{
;;;958    							m_byBlockMode[i]  = m_byBlockMode[i + 1];
00126a  498d              LDR      r1,|L1.5280|
00126c  1c78              ADDS     r0,r7,#1
00126e  5c08              LDRB     r0,[r1,r0]
001270  55c8              STRB     r0,[r1,r7]
;;;959    							m_nBlockLength[i] = m_nBlockLength[i + 1];
001272  498c              LDR      r1,|L1.5284|
001274  1c78              ADDS     r0,r7,#1
001276  5c08              LDRB     r0,[r1,r0]
001278  55c8              STRB     r0,[r1,r7]
00127a  1c7f              ADDS     r7,r7,#1              ;956
                  |L1.4732|
00127c  488a              LDR      r0,|L1.5288|
00127e  6800              LDR      r0,[r0,#0]            ;956  ; m_ncDataBlock
001280  1e40              SUBS     r0,r0,#1              ;956
001282  42b8              CMP      r0,r7                 ;956
001284  dcf1              BGT      |L1.4714|
;;;960    						}
;;;961    
;;;962    						--m_ncDataBlock;
001286  4888              LDR      r0,|L1.5288|
001288  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
00128a  1e40              SUBS     r0,r0,#1
00128c  4986              LDR      r1,|L1.5288|
00128e  6008              STR      r0,[r1,#0]  ; m_ncDataBlock
                  |L1.4752|
;;;963    					}
;;;964    					
;;;965    					m_byBlockMode[nBlock] = QR_MODE_ALPHABET;
001290  2001              MOVS     r0,#1
001292  4983              LDR      r1,|L1.5280|
001294  f8010009          STRB     r0,[r1,r9]
;;;966    					m_nBlockLength[nBlock] += m_nBlockLength[nBlock + 1];
001298  4882              LDR      r0,|L1.5284|
00129a  f8101009          LDRB     r1,[r0,r9]
00129e  4602              MOV      r2,r0
0012a0  f1090001          ADD      r0,r9,#1
0012a4  5c10              LDRB     r0,[r2,r0]
0012a6  4408              ADD      r0,r0,r1
0012a8  4611              MOV      r1,r2
0012aa  f8010009          STRB     r0,[r1,r9]
;;;967    
;;;968    					for (i = nBlock + 1; i < m_ncDataBlock - 1; ++i)
0012ae  f1090701          ADD      r7,r9,#1
0012b2  e008              B        |L1.4806|
                  |L1.4788|
;;;969    					{
;;;970    						m_byBlockMode[i]  = m_byBlockMode[i + 1];
0012b4  497a              LDR      r1,|L1.5280|
0012b6  1c78              ADDS     r0,r7,#1
0012b8  5c08              LDRB     r0,[r1,r0]
0012ba  55c8              STRB     r0,[r1,r7]
;;;971    						m_nBlockLength[i] = m_nBlockLength[i + 1];
0012bc  4979              LDR      r1,|L1.5284|
0012be  1c78              ADDS     r0,r7,#1
0012c0  5c08              LDRB     r0,[r1,r0]
0012c2  55c8              STRB     r0,[r1,r7]
0012c4  1c7f              ADDS     r7,r7,#1              ;968
                  |L1.4806|
0012c6  4878              LDR      r0,|L1.5288|
0012c8  6800              LDR      r0,[r0,#0]            ;968  ; m_ncDataBlock
0012ca  1e40              SUBS     r0,r0,#1              ;968
0012cc  42b8              CMP      r0,r7                 ;968
0012ce  dcf1              BGT      |L1.4788|
;;;972    					}
;;;973    
;;;974    					--m_ncDataBlock;
0012d0  4875              LDR      r0,|L1.5288|
0012d2  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
0012d4  1e40              SUBS     r0,r0,#1
0012d6  4974              LDR      r1,|L1.5288|
0012d8  6008              STR      r0,[r1,#0]  ; m_ncDataBlock
;;;975    					
;;;976    					if (nBlock >= 1 && m_byBlockMode[nBlock - 1] == QR_MODE_ALPHABET)
0012da  f1b90f01          CMP      r9,#1
0012de  db26              BLT      |L1.4910|
0012e0  f1a90001          SUB      r0,r9,#1
0012e4  496e              LDR      r1,|L1.5280|
0012e6  5c08              LDRB     r0,[r1,r0]
0012e8  2801              CMP      r0,#1
0012ea  d120              BNE      |L1.4910|
;;;977    					{
;;;978    						m_nBlockLength[nBlock - 1] += m_nBlockLength[nBlock];
0012ec  f1a90001          SUB      r0,r9,#1
0012f0  496c              LDR      r1,|L1.5284|
0012f2  5c09              LDRB     r1,[r1,r0]
0012f4  486b              LDR      r0,|L1.5284|
0012f6  f8100009          LDRB     r0,[r0,r9]
0012fa  4408              ADD      r0,r0,r1
0012fc  f1a90101          SUB      r1,r9,#1
001300  4a68              LDR      r2,|L1.5284|
001302  5450              STRB     r0,[r2,r1]
;;;979    
;;;980    						for (i = nBlock; i < m_ncDataBlock - 1; ++i)
001304  464f              MOV      r7,r9
001306  e008              B        |L1.4890|
                  |L1.4872|
;;;981    						{
;;;982    							m_byBlockMode[i]  = m_byBlockMode[i + 1];
001308  4965              LDR      r1,|L1.5280|
00130a  1c78              ADDS     r0,r7,#1
00130c  5c08              LDRB     r0,[r1,r0]
00130e  55c8              STRB     r0,[r1,r7]
;;;983    							m_nBlockLength[i] = m_nBlockLength[i + 1];
001310  4964              LDR      r1,|L1.5284|
001312  1c78              ADDS     r0,r7,#1
001314  5c08              LDRB     r0,[r1,r0]
001316  55c8              STRB     r0,[r1,r7]
001318  1c7f              ADDS     r7,r7,#1              ;980
                  |L1.4890|
00131a  4863              LDR      r0,|L1.5288|
00131c  6800              LDR      r0,[r0,#0]            ;980  ; m_ncDataBlock
00131e  1e40              SUBS     r0,r0,#1              ;980
001320  42b8              CMP      r0,r7                 ;980
001322  dcf1              BGT      |L1.4872|
;;;984    						}
;;;985    
;;;986    						--m_ncDataBlock;
001324  4860              LDR      r0,|L1.5288|
001326  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
001328  1e40              SUBS     r0,r0,#1
00132a  495f              LDR      r1,|L1.5288|
00132c  6008              STR      r0,[r1,#0]  ; m_ncDataBlock
                  |L1.4910|
;;;987    					}
;;;988    				}
;;;989    
;;;990    				continue;
00132e  e002              B        |L1.4918|
                  |L1.4912|
;;;991    			}
;;;992    		}
;;;993    
;;;994    		++nBlock; 
001330  f1090901          ADD      r9,r9,#1
001334  bf00              NOP                            ;990
                  |L1.4918|
001336  485c              LDR      r0,|L1.5288|
001338  6800              LDR      r0,[r0,#0]            ;878  ; m_ncDataBlock
00133a  1e40              SUBS     r0,r0,#1              ;878
00133c  4548              CMP      r0,r9                 ;878
00133e  f73fae57          BGT      |L1.4080|
;;;995    	}
;;;996    
;;;997    	nBlock = 0;
001342  f04f0900          MOV      r9,#0
;;;998    
;;;999    	while (nBlock < m_ncDataBlock - 1)
001346  e0d0              B        |L1.5354|
                  |L1.4936|
;;;1000   	{
;;;1001   		ncSrcBits = GetBitLength(m_byBlockMode[nBlock], m_nBlockLength[nBlock], nVerGroup)
001348  4a56              LDR      r2,|L1.5284|
00134a  f8121009          LDRB     r1,[r2,r9]
00134e  4a54              LDR      r2,|L1.5280|
001350  f8120009          LDRB     r0,[r2,r9]
001354  4632              MOV      r2,r6
001356  f7fffffe          BL       GetBitLength
00135a  4682              MOV      r10,r0
00135c  4b51              LDR      r3,|L1.5284|
00135e  f1090201          ADD      r2,r9,#1
001362  5c99              LDRB     r1,[r3,r2]
001364  4b4e              LDR      r3,|L1.5280|
001366  5c98              LDRB     r0,[r3,r2]
001368  4632              MOV      r2,r6
00136a  f7fffffe          BL       GetBitLength
00136e  4450              ADD      r0,r0,r10
001370  9005              STR      r0,[sp,#0x14]
;;;1002   					+ GetBitLength(m_byBlockMode[nBlock + 1], m_nBlockLength[nBlock + 1], nVerGroup);
;;;1003   
;;;1004   		ncDstBits = GetBitLength(QR_MODE_8BIT, m_nBlockLength[nBlock] + m_nBlockLength[nBlock + 1], nVerGroup);
001372  484c              LDR      r0,|L1.5284|
001374  f8102009          LDRB     r2,[r0,r9]
001378  4603              MOV      r3,r0
00137a  f1090001          ADD      r0,r9,#1
00137e  5c18              LDRB     r0,[r3,r0]
001380  1811              ADDS     r1,r2,r0
001382  4632              MOV      r2,r6
001384  2002              MOVS     r0,#2
001386  f7fffffe          BL       GetBitLength
00138a  4680              MOV      r8,r0
;;;1005   
;;;1006   		if (nBlock >= 1 && m_byBlockMode[nBlock - 1] == QR_MODE_8BIT)
00138c  f1b90f01          CMP      r9,#1
001390  db0a              BLT      |L1.5032|
001392  f1a90001          SUB      r0,r9,#1
001396  4942              LDR      r1,|L1.5280|
001398  5c08              LDRB     r0,[r1,r0]
00139a  2802              CMP      r0,#2
00139c  d104              BNE      |L1.5032|
;;;1007   			ncDstBits -= (4 + nIndicatorLen8Bit[nVerGroup]);
00139e  4843              LDR      r0,|L1.5292|
0013a0  5d80              LDRB     r0,[r0,r6]
0013a2  1d00              ADDS     r0,r0,#4
0013a4  eba80800          SUB      r8,r8,r0
                  |L1.5032|
;;;1008   
;;;1009   		if (nBlock < m_ncDataBlock - 2 && m_byBlockMode[nBlock + 2] == QR_MODE_8BIT)
0013a8  483f              LDR      r0,|L1.5288|
0013aa  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
0013ac  1e80              SUBS     r0,r0,#2
0013ae  4548              CMP      r0,r9
0013b0  dd0a              BLE      |L1.5064|
0013b2  493b              LDR      r1,|L1.5280|
0013b4  f1090002          ADD      r0,r9,#2
0013b8  5c08              LDRB     r0,[r1,r0]
0013ba  2802              CMP      r0,#2
0013bc  d104              BNE      |L1.5064|
;;;1010   			ncDstBits -= (4 + nIndicatorLen8Bit[nVerGroup]);
0013be  483b              LDR      r0,|L1.5292|
0013c0  5d80              LDRB     r0,[r0,r6]
0013c2  1d00              ADDS     r0,r0,#4
0013c4  eba80800          SUB      r8,r8,r0
                  |L1.5064|
;;;1011   		
;;;1012   		if (ncSrcBits > ncDstBits)
0013c8  9805              LDR      r0,[sp,#0x14]
0013ca  4540              CMP      r0,r8
0013cc  dd70              BLE      |L1.5296|
;;;1013   		{
;;;1014   			if (nBlock >= 1 && m_byBlockMode[nBlock - 1] == QR_MODE_8BIT)
0013ce  f1b90f01          CMP      r9,#1
0013d2  db27              BLT      |L1.5156|
0013d4  f1a90001          SUB      r0,r9,#1
0013d8  4931              LDR      r1,|L1.5280|
0013da  5c08              LDRB     r0,[r1,r0]
0013dc  2802              CMP      r0,#2
0013de  d121              BNE      |L1.5156|
;;;1015   			{
;;;1016   				m_nBlockLength[nBlock - 1] += m_nBlockLength[nBlock];
0013e0  f1a90001          SUB      r0,r9,#1
0013e4  492f              LDR      r1,|L1.5284|
0013e6  5c08              LDRB     r0,[r1,r0]
0013e8  f8111009          LDRB     r1,[r1,r9]
0013ec  4408              ADD      r0,r0,r1
0013ee  f1a90101          SUB      r1,r9,#1
0013f2  4a2c              LDR      r2,|L1.5284|
0013f4  5450              STRB     r0,[r2,r1]
;;;1017   
;;;1018   				for (i = nBlock; i < m_ncDataBlock - 1; ++i)
0013f6  464f              MOV      r7,r9
0013f8  e008              B        |L1.5132|
                  |L1.5114|
;;;1019   				{
;;;1020   					m_byBlockMode[i]  = m_byBlockMode[i + 1];
0013fa  4929              LDR      r1,|L1.5280|
0013fc  1c78              ADDS     r0,r7,#1
0013fe  5c08              LDRB     r0,[r1,r0]
001400  55c8              STRB     r0,[r1,r7]
;;;1021   					m_nBlockLength[i] = m_nBlockLength[i + 1];
001402  4928              LDR      r1,|L1.5284|
001404  1c78              ADDS     r0,r7,#1
001406  5c08              LDRB     r0,[r1,r0]
001408  55c8              STRB     r0,[r1,r7]
00140a  1c7f              ADDS     r7,r7,#1              ;1018
                  |L1.5132|
00140c  4826              LDR      r0,|L1.5288|
00140e  6800              LDR      r0,[r0,#0]            ;1018  ; m_ncDataBlock
001410  1e40              SUBS     r0,r0,#1              ;1018
001412  42b8              CMP      r0,r7                 ;1018
001414  dcf1              BGT      |L1.5114|
;;;1022   				}
;;;1023   
;;;1024   				--m_ncDataBlock;
001416  4824              LDR      r0,|L1.5288|
001418  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
00141a  1e40              SUBS     r0,r0,#1
00141c  4922              LDR      r1,|L1.5288|
00141e  6008              STR      r0,[r1,#0]  ; m_ncDataBlock
;;;1025   				--nBlock;
001420  f1a90901          SUB      r9,r9,#1
                  |L1.5156|
;;;1026   			}
;;;1027   
;;;1028   			if (nBlock < m_ncDataBlock - 2 && m_byBlockMode[nBlock + 2] == QR_MODE_8BIT)
001424  4820              LDR      r0,|L1.5288|
001426  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
001428  1e80              SUBS     r0,r0,#2
00142a  4548              CMP      r0,r9
00142c  dd26              BLE      |L1.5244|
00142e  491c              LDR      r1,|L1.5280|
001430  f1090002          ADD      r0,r9,#2
001434  5c08              LDRB     r0,[r1,r0]
001436  2802              CMP      r0,#2
001438  d120              BNE      |L1.5244|
;;;1029   			{
;;;1030   				m_nBlockLength[nBlock + 1] += m_nBlockLength[nBlock + 2];
00143a  491a              LDR      r1,|L1.5284|
00143c  f1090001          ADD      r0,r9,#1
001440  5c09              LDRB     r1,[r1,r0]
001442  4a18              LDR      r2,|L1.5284|
001444  1c40              ADDS     r0,r0,#1
001446  5c10              LDRB     r0,[r2,r0]
001448  4408              ADD      r0,r0,r1
00144a  b2c1              UXTB     r1,r0
00144c  f1090001          ADD      r0,r9,#1
001450  5411              STRB     r1,[r2,r0]
;;;1031   
;;;1032   				for (i = nBlock + 2; i < m_ncDataBlock - 1; ++i)
001452  1c47              ADDS     r7,r0,#1
001454  e008              B        |L1.5224|
                  |L1.5206|
;;;1033   				{
;;;1034   					m_byBlockMode[i]  = m_byBlockMode[i + 1];
001456  4912              LDR      r1,|L1.5280|
001458  1c78              ADDS     r0,r7,#1
00145a  5c08              LDRB     r0,[r1,r0]
00145c  55c8              STRB     r0,[r1,r7]
;;;1035   					m_nBlockLength[i] = m_nBlockLength[i + 1];
00145e  4911              LDR      r1,|L1.5284|
001460  1c78              ADDS     r0,r7,#1
001462  5c08              LDRB     r0,[r1,r0]
001464  55c8              STRB     r0,[r1,r7]
001466  1c7f              ADDS     r7,r7,#1              ;1032
                  |L1.5224|
001468  480f              LDR      r0,|L1.5288|
00146a  6800              LDR      r0,[r0,#0]            ;1032  ; m_ncDataBlock
00146c  1e40              SUBS     r0,r0,#1              ;1032
00146e  42b8              CMP      r0,r7                 ;1032
001470  dcf1              BGT      |L1.5206|
;;;1036   				}
;;;1037   
;;;1038   				--m_ncDataBlock;
001472  480d              LDR      r0,|L1.5288|
001474  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
001476  1e40              SUBS     r0,r0,#1
001478  490b              LDR      r1,|L1.5288|
00147a  6008              STR      r0,[r1,#0]  ; m_ncDataBlock
                  |L1.5244|
;;;1039   			}
;;;1040   			
;;;1041   			m_byBlockMode[nBlock] = QR_MODE_8BIT;
00147c  2002              MOVS     r0,#2
00147e  4908              LDR      r1,|L1.5280|
001480  f8010009          STRB     r0,[r1,r9]
;;;1042   			m_nBlockLength[nBlock] += m_nBlockLength[nBlock + 1];
001484  4807              LDR      r0,|L1.5284|
001486  f8101009          LDRB     r1,[r0,r9]
00148a  4602              MOV      r2,r0
00148c  f1090001          ADD      r0,r9,#1
001490  5c10              LDRB     r0,[r2,r0]
001492  4408              ADD      r0,r0,r1
001494  4611              MOV      r1,r2
001496  f8010009          STRB     r0,[r1,r9]
;;;1043   
;;;1044   			for (i = nBlock + 1; i < m_ncDataBlock - 1; ++i)
00149a  f1090701          ADD      r7,r9,#1
00149e  e011              B        |L1.5316|
                  |L1.5280|
                          DCD      m_byBlockMode
                  |L1.5284|
                          DCD      m_nBlockLength
                  |L1.5288|
                          DCD      m_ncDataBlock
                  |L1.5292|
                          DCD      nIndicatorLen8Bit
                  |L1.5296|
0014b0  e018              B        |L1.5348|
                  |L1.5298|
;;;1045   			{
;;;1046   				m_byBlockMode[i]  = m_byBlockMode[i + 1];
0014b2  49fa              LDR      r1,|L1.6300|
0014b4  1c78              ADDS     r0,r7,#1
0014b6  5c08              LDRB     r0,[r1,r0]
0014b8  55c8              STRB     r0,[r1,r7]
;;;1047   				m_nBlockLength[i] = m_nBlockLength[i + 1];
0014ba  49f9              LDR      r1,|L1.6304|
0014bc  1c78              ADDS     r0,r7,#1
0014be  5c08              LDRB     r0,[r1,r0]
0014c0  55c8              STRB     r0,[r1,r7]
0014c2  1c7f              ADDS     r7,r7,#1              ;1044
                  |L1.5316|
0014c4  48f7              LDR      r0,|L1.6308|
0014c6  6800              LDR      r0,[r0,#0]            ;1044  ; m_ncDataBlock
0014c8  1e40              SUBS     r0,r0,#1              ;1044
0014ca  42b8              CMP      r0,r7                 ;1044
0014cc  dcf1              BGT      |L1.5298|
;;;1048   			}
;;;1049   
;;;1050   			--m_ncDataBlock;
0014ce  48f5              LDR      r0,|L1.6308|
0014d0  6800              LDR      r0,[r0,#0]  ; m_ncDataBlock
0014d2  1e40              SUBS     r0,r0,#1
0014d4  49f3              LDR      r1,|L1.6308|
0014d6  6008              STR      r0,[r1,#0]  ; m_ncDataBlock
;;;1051   
;;;1052   			if (nBlock >= 1)
0014d8  f1b90f01          CMP      r9,#1
0014dc  db01              BLT      |L1.5346|
;;;1053   				--nBlock;
0014de  f1a90901          SUB      r9,r9,#1
                  |L1.5346|
;;;1054   
;;;1055   			continue;
0014e2  e002              B        |L1.5354|
                  |L1.5348|
;;;1056   		}
;;;1057   
;;;1058   		++nBlock; 
0014e4  f1090901          ADD      r9,r9,#1
0014e8  bf00              NOP                            ;1055
                  |L1.5354|
0014ea  48ee              LDR      r0,|L1.6308|
0014ec  6800              LDR      r0,[r0,#0]            ;999  ; m_ncDataBlock
0014ee  1e40              SUBS     r0,r0,#1              ;999
0014f0  4548              CMP      r0,r9                 ;999
0014f2  f73faf29          BGT      |L1.4936|
;;;1059   	}
;;;1060   
;;;1061   	m_ncDataCodeWordBit = 0; 
0014f6  2000              MOVS     r0,#0
0014f8  49eb              LDR      r1,|L1.6312|
0014fa  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
;;;1062   
;;;1063   	memset(m_byDataCodeWord, 0, MAX_DATACODEWORD);
0014fc  2132              MOVS     r1,#0x32
0014fe  48eb              LDR      r0,|L1.6316|
001500  f7fffffe          BL       __aeabi_memclr
;;;1064   
;;;1065   	for (i = 0; i < m_ncDataBlock && m_ncDataCodeWordBit != -1; ++i)
001504  2700              MOVS     r7,#0
001506  e156              B        |L1.6070|
                  |L1.5384|
;;;1066   	{
;;;1067   		if (m_byBlockMode[i] == QR_MODE_NUMERAL)
001508  48e4              LDR      r0,|L1.6300|
00150a  5dc0              LDRB     r0,[r0,r7]
00150c  2800              CMP      r0,#0
00150e  d17e              BNE      |L1.5646|
;;;1068   		{
;;;1069   			m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 1, 4); 
001510  2204              MOVS     r2,#4
001512  2101              MOVS     r1,#1
001514  48e4              LDR      r0,|L1.6312|
001516  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
001518  f7fffffe          BL       SetBitStream
00151c  49e2              LDR      r1,|L1.6312|
00151e  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
;;;1070   
;;;1071   			m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (unsigned short)m_nBlockLength[i], nIndicatorLenNumeral[nVerGroup]);
001520  48e3              LDR      r0,|L1.6320|
001522  5d82              LDRB     r2,[r0,r6]
001524  48de              LDR      r0,|L1.6304|
001526  5dc1              LDRB     r1,[r0,r7]
001528  48df              LDR      r0,|L1.6312|
00152a  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
00152c  f7fffffe          BL       SetBitStream
001530  49dd              LDR      r1,|L1.6312|
001532  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
;;;1072   
;;;1073   			for (j = 0; j < m_nBlockLength[i]; j += 3)
001534  2000              MOVS     r0,#0
001536  9006              STR      r0,[sp,#0x18]
001538  e061              B        |L1.5630|
                  |L1.5434|
;;;1074   			{
;;;1075   				if (j < m_nBlockLength[i] - 2)
00153a  48d9              LDR      r0,|L1.6304|
00153c  5dc0              LDRB     r0,[r0,r7]
00153e  1e81              SUBS     r1,r0,#2
001540  9806              LDR      r0,[sp,#0x18]
001542  4281              CMP      r1,r0
001544  dd22              BLE      |L1.5516|
;;;1076   				{
;;;1077   					wBinCode = (unsigned short)(((lpsSource[ncComplete + j]	  - '0') * 100) +
001546  9906              LDR      r1,[sp,#0x18]
001548  9804              LDR      r0,[sp,#0x10]
00154a  4408              ADD      r0,r0,r1
00154c  5c20              LDRB     r0,[r4,r0]
00154e  f1a00130          SUB      r1,r0,#0x30
001552  2064              MOVS     r0,#0x64
001554  4341              MULS     r1,r0,r1
001556  9a06              LDR      r2,[sp,#0x18]
001558  9804              LDR      r0,[sp,#0x10]
00155a  4410              ADD      r0,r0,r2
00155c  1c40              ADDS     r0,r0,#1
00155e  5c20              LDRB     r0,[r4,r0]
001560  3830              SUBS     r0,r0,#0x30
001562  eb000080          ADD      r0,r0,r0,LSL #2
001566  eb010140          ADD      r1,r1,r0,LSL #1
00156a  9804              LDR      r0,[sp,#0x10]
00156c  4410              ADD      r0,r0,r2
00156e  1c80              ADDS     r0,r0,#2
001570  5c20              LDRB     r0,[r4,r0]
001572  3830              SUBS     r0,r0,#0x30
001574  4408              ADD      r0,r0,r1
001576  b280              UXTH     r0,r0
001578  9003              STR      r0,[sp,#0xc]
;;;1078   									  ((lpsSource[ncComplete + j + 1] - '0') * 10) +
;;;1079   									   (lpsSource[ncComplete + j + 2] - '0'));
;;;1080   
;;;1081   					m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, wBinCode, 10);
00157a  220a              MOVS     r2,#0xa
00157c  48ca              LDR      r0,|L1.6312|
00157e  9903              LDR      r1,[sp,#0xc]
001580  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
001582  f7fffffe          BL       SetBitStream
001586  49c8              LDR      r1,|L1.6312|
001588  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
00158a  e035              B        |L1.5624|
                  |L1.5516|
;;;1082   				}
;;;1083   				else if (j == m_nBlockLength[i] - 2)
00158c  48c4              LDR      r0,|L1.6304|
00158e  5dc0              LDRB     r0,[r0,r7]
001590  1e81              SUBS     r1,r0,#2
001592  9806              LDR      r0,[sp,#0x18]
001594  4281              CMP      r1,r0
001596  d11a              BNE      |L1.5582|
;;;1084   				{
;;;1085   					wBinCode = (unsigned short)(((lpsSource[ncComplete + j] - '0') * 10) +
001598  9904              LDR      r1,[sp,#0x10]
00159a  9806              LDR      r0,[sp,#0x18]
00159c  4408              ADD      r0,r0,r1
00159e  1c40              ADDS     r0,r0,#1
0015a0  5c20              LDRB     r0,[r4,r0]
0015a2  f1a00130          SUB      r1,r0,#0x30
0015a6  9a06              LDR      r2,[sp,#0x18]
0015a8  9804              LDR      r0,[sp,#0x10]
0015aa  4410              ADD      r0,r0,r2
0015ac  5c20              LDRB     r0,[r4,r0]
0015ae  3830              SUBS     r0,r0,#0x30
0015b0  eb000080          ADD      r0,r0,r0,LSL #2
0015b4  eb010040          ADD      r0,r1,r0,LSL #1
0015b8  b280              UXTH     r0,r0
0015ba  9003              STR      r0,[sp,#0xc]
;;;1086   									   (lpsSource[ncComplete + j + 1] - '0'));
;;;1087   
;;;1088   					m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, wBinCode, 7);
0015bc  2207              MOVS     r2,#7
0015be  48ba              LDR      r0,|L1.6312|
0015c0  9903              LDR      r1,[sp,#0xc]
0015c2  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
0015c4  f7fffffe          BL       SetBitStream
0015c8  49b7              LDR      r1,|L1.6312|
0015ca  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
0015cc  e014              B        |L1.5624|
                  |L1.5582|
;;;1089   				}
;;;1090   				else if (j == m_nBlockLength[i] - 1)
0015ce  48b4              LDR      r0,|L1.6304|
0015d0  5dc0              LDRB     r0,[r0,r7]
0015d2  1e41              SUBS     r1,r0,#1
0015d4  9806              LDR      r0,[sp,#0x18]
0015d6  4281              CMP      r1,r0
0015d8  d10e              BNE      |L1.5624|
;;;1091   				{
;;;1092   					wBinCode = (unsigned short)(lpsSource[ncComplete + j] - '0');
0015da  9904              LDR      r1,[sp,#0x10]
0015dc  9806              LDR      r0,[sp,#0x18]
0015de  4408              ADD      r0,r0,r1
0015e0  5c20              LDRB     r0,[r4,r0]
0015e2  3830              SUBS     r0,r0,#0x30
0015e4  b280              UXTH     r0,r0
0015e6  9003              STR      r0,[sp,#0xc]
;;;1093   
;;;1094   					m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, wBinCode, 4);
0015e8  2204              MOVS     r2,#4
0015ea  48af              LDR      r0,|L1.6312|
0015ec  9903              LDR      r1,[sp,#0xc]
0015ee  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
0015f0  f7fffffe          BL       SetBitStream
0015f4  49ac              LDR      r1,|L1.6312|
0015f6  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
                  |L1.5624|
0015f8  9806              LDR      r0,[sp,#0x18]         ;1073
0015fa  1cc0              ADDS     r0,r0,#3              ;1073
0015fc  9006              STR      r0,[sp,#0x18]         ;1073
                  |L1.5630|
0015fe  48a8              LDR      r0,|L1.6304|
001600  5dc1              LDRB     r1,[r0,r7]            ;1073
001602  9806              LDR      r0,[sp,#0x18]         ;1073
001604  4281              CMP      r1,r0                 ;1073
001606  dc98              BGT      |L1.5434|
;;;1095   				}
;;;1096   			}
;;;1097   
;;;1098   			ncComplete += m_nBlockLength[i];
001608  48a5              LDR      r0,|L1.6304|
00160a  5dc1              LDRB     r1,[r0,r7]
00160c  e000              B        |L1.5648|
                  |L1.5646|
00160e  e003              B        |L1.5656|
                  |L1.5648|
001610  9804              LDR      r0,[sp,#0x10]
001612  4408              ADD      r0,r0,r1
001614  9004              STR      r0,[sp,#0x10]
001616  e0cd              B        |L1.6068|
                  |L1.5656|
;;;1099   		}
;;;1100   
;;;1101   		else if (m_byBlockMode[i] == QR_MODE_ALPHABET)
001618  48a0              LDR      r0,|L1.6300|
00161a  5dc0              LDRB     r0,[r0,r7]
00161c  2801              CMP      r0,#1
00161e  d154              BNE      |L1.5834|
;;;1102   		{
;;;1103   			m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 2, 4);
001620  2204              MOVS     r2,#4
001622  2102              MOVS     r1,#2
001624  48a0              LDR      r0,|L1.6312|
001626  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
001628  f7fffffe          BL       SetBitStream
00162c  499e              LDR      r1,|L1.6312|
00162e  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
;;;1104   
;;;1105   			m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (unsigned short)m_nBlockLength[i], nIndicatorLenAlphabet[nVerGroup]);
001630  48a0              LDR      r0,|L1.6324|
001632  5d82              LDRB     r2,[r0,r6]
001634  489a              LDR      r0,|L1.6304|
001636  5dc1              LDRB     r1,[r0,r7]
001638  489b              LDR      r0,|L1.6312|
00163a  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
00163c  f7fffffe          BL       SetBitStream
001640  4999              LDR      r1,|L1.6312|
001642  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
;;;1106   
;;;1107   			for (j = 0; j < m_nBlockLength[i]; j += 2)
001644  2000              MOVS     r0,#0
001646  9006              STR      r0,[sp,#0x18]
001648  e034              B        |L1.5812|
                  |L1.5706|
;;;1108   			{
;;;1109   				if (j < m_nBlockLength[i] - 1)
00164a  4895              LDR      r0,|L1.6304|
00164c  5dc0              LDRB     r0,[r0,r7]
00164e  1e41              SUBS     r1,r0,#1
001650  9806              LDR      r0,[sp,#0x18]
001652  4281              CMP      r1,r0
001654  dd1c              BLE      |L1.5776|
;;;1110   				{
;;;1111   					wBinCode = (unsigned short)((AlphabetToBinaly(lpsSource[ncComplete + j]) * 45) +
001656  9a06              LDR      r2,[sp,#0x18]
001658  9904              LDR      r1,[sp,#0x10]
00165a  4411              ADD      r1,r1,r2
00165c  5c60              LDRB     r0,[r4,r1]
00165e  f7fffffe          BL       AlphabetToBinaly
001662  ebc01000          RSB      r0,r0,r0,LSL #4
001666  eb000240          ADD      r2,r0,r0,LSL #1
00166a  9b06              LDR      r3,[sp,#0x18]
00166c  9904              LDR      r1,[sp,#0x10]
00166e  4419              ADD      r1,r1,r3
001670  1c49              ADDS     r1,r1,#1
001672  5c60              LDRB     r0,[r4,r1]
001674  f7fffffe          BL       AlphabetToBinaly
001678  4410              ADD      r0,r0,r2
00167a  b280              UXTH     r0,r0
00167c  9003              STR      r0,[sp,#0xc]
;;;1112   									   AlphabetToBinaly(lpsSource[ncComplete + j + 1]));
;;;1113   
;;;1114   					m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, wBinCode, 11);
00167e  220b              MOVS     r2,#0xb
001680  4889              LDR      r0,|L1.6312|
001682  9903              LDR      r1,[sp,#0xc]
001684  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
001686  f7fffffe          BL       SetBitStream
00168a  4987              LDR      r1,|L1.6312|
00168c  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
00168e  e00e              B        |L1.5806|
                  |L1.5776|
;;;1115   				}
;;;1116   				else
;;;1117   				{
;;;1118   					wBinCode = (unsigned short)AlphabetToBinaly(lpsSource[ncComplete + j]);
001690  9a06              LDR      r2,[sp,#0x18]
001692  9904              LDR      r1,[sp,#0x10]
001694  4411              ADD      r1,r1,r2
001696  5c60              LDRB     r0,[r4,r1]
001698  f7fffffe          BL       AlphabetToBinaly
00169c  9003              STR      r0,[sp,#0xc]
;;;1119   
;;;1120   					m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, wBinCode, 6);
00169e  2206              MOVS     r2,#6
0016a0  4881              LDR      r0,|L1.6312|
0016a2  9903              LDR      r1,[sp,#0xc]
0016a4  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
0016a6  f7fffffe          BL       SetBitStream
0016aa  497f              LDR      r1,|L1.6312|
0016ac  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
                  |L1.5806|
0016ae  9806              LDR      r0,[sp,#0x18]         ;1107
0016b0  1c80              ADDS     r0,r0,#2              ;1107
0016b2  9006              STR      r0,[sp,#0x18]         ;1107
                  |L1.5812|
0016b4  487a              LDR      r0,|L1.6304|
0016b6  5dc1              LDRB     r1,[r0,r7]            ;1107
0016b8  9806              LDR      r0,[sp,#0x18]         ;1107
0016ba  4281              CMP      r1,r0                 ;1107
0016bc  dcc5              BGT      |L1.5706|
;;;1121   				}
;;;1122   			}
;;;1123   
;;;1124   			ncComplete += m_nBlockLength[i];
0016be  4878              LDR      r0,|L1.6304|
0016c0  5dc1              LDRB     r1,[r0,r7]
0016c2  9804              LDR      r0,[sp,#0x10]
0016c4  4408              ADD      r0,r0,r1
0016c6  9004              STR      r0,[sp,#0x10]
0016c8  e074              B        |L1.6068|
                  |L1.5834|
;;;1125   		}
;;;1126   
;;;1127   		else if (m_byBlockMode[i] == QR_MODE_8BIT)
0016ca  4874              LDR      r0,|L1.6300|
0016cc  5dc0              LDRB     r0,[r0,r7]
0016ce  2802              CMP      r0,#2
0016d0  d12d              BNE      |L1.5934|
;;;1128   		{
;;;1129   			m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 4, 4);
0016d2  2204              MOVS     r2,#4
0016d4  4611              MOV      r1,r2
0016d6  4874              LDR      r0,|L1.6312|
0016d8  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
0016da  f7fffffe          BL       SetBitStream
0016de  4972              LDR      r1,|L1.6312|
0016e0  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
;;;1130   
;;;1131   			m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (unsigned short)m_nBlockLength[i], nIndicatorLen8Bit[nVerGroup]);
0016e2  4875              LDR      r0,|L1.6328|
0016e4  5d82              LDRB     r2,[r0,r6]
0016e6  486e              LDR      r0,|L1.6304|
0016e8  5dc1              LDRB     r1,[r0,r7]
0016ea  486f              LDR      r0,|L1.6312|
0016ec  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
0016ee  f7fffffe          BL       SetBitStream
0016f2  496d              LDR      r1,|L1.6312|
0016f4  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
;;;1132   
;;;1133   			for (j = 0; j < m_nBlockLength[i]; ++j)
0016f6  2000              MOVS     r0,#0
0016f8  9006              STR      r0,[sp,#0x18]
0016fa  e00d              B        |L1.5912|
                  |L1.5884|
;;;1134   			{
;;;1135   				m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (unsigned short)lpsSource[ncComplete + j], 8);
0016fc  9a06              LDR      r2,[sp,#0x18]
0016fe  9804              LDR      r0,[sp,#0x10]
001700  4410              ADD      r0,r0,r2
001702  5c21              LDRB     r1,[r4,r0]
001704  2208              MOVS     r2,#8
001706  4868              LDR      r0,|L1.6312|
001708  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
00170a  f7fffffe          BL       SetBitStream
00170e  4966              LDR      r1,|L1.6312|
001710  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
001712  9806              LDR      r0,[sp,#0x18]         ;1133
001714  1c40              ADDS     r0,r0,#1              ;1133
001716  9006              STR      r0,[sp,#0x18]         ;1133
                  |L1.5912|
001718  4861              LDR      r0,|L1.6304|
00171a  5dc1              LDRB     r1,[r0,r7]            ;1133
00171c  9806              LDR      r0,[sp,#0x18]         ;1133
00171e  4281              CMP      r1,r0                 ;1133
001720  dcec              BGT      |L1.5884|
;;;1136   			}
;;;1137   
;;;1138   			ncComplete += m_nBlockLength[i];
001722  485f              LDR      r0,|L1.6304|
001724  5dc1              LDRB     r1,[r0,r7]
001726  9804              LDR      r0,[sp,#0x10]
001728  4408              ADD      r0,r0,r1
00172a  9004              STR      r0,[sp,#0x10]
00172c  e042              B        |L1.6068|
                  |L1.5934|
;;;1139   		}
;;;1140   		else// if(m_byBlockMode[i] == QR_MODE_KANJI)
;;;1141   		{
;;;1142   			m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 8, 4);
00172e  2204              MOVS     r2,#4
001730  2108              MOVS     r1,#8
001732  485d              LDR      r0,|L1.6312|
001734  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
001736  f7fffffe          BL       SetBitStream
00173a  495b              LDR      r1,|L1.6312|
00173c  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
;;;1143   
;;;1144   			m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (unsigned short)(m_nBlockLength[i] / 2), nIndicatorLenKanji[nVerGroup]);
00173e  4858              LDR      r0,|L1.6304|
001740  f810a007          LDRB     r10,[r0,r7]
001744  eb0a70da          ADD      r0,r10,r10,LSR #31
001748  1041              ASRS     r1,r0,#1
00174a  485c              LDR      r0,|L1.6332|
00174c  5d82              LDRB     r2,[r0,r6]
00174e  4856              LDR      r0,|L1.6312|
001750  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
001752  f7fffffe          BL       SetBitStream
001756  4954              LDR      r1,|L1.6312|
001758  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
;;;1145   
;;;1146   			for (j = 0; j < m_nBlockLength[i] / 2; ++j)
00175a  2000              MOVS     r0,#0
00175c  9006              STR      r0,[sp,#0x18]
00175e  e01c              B        |L1.6042|
                  |L1.5984|
;;;1147   			{
;;;1148   				unsigned short wBinCode = KanjiToBinaly((unsigned short)(((unsigned char)lpsSource[ncComplete + (j * 2)] << 8) + (unsigned char)lpsSource[ncComplete + (j * 2) + 1]));
001760  9906              LDR      r1,[sp,#0x18]
001762  460a              MOV      r2,r1
001764  9904              LDR      r1,[sp,#0x10]
001766  eb010142          ADD      r1,r1,r2,LSL #1
00176a  1c49              ADDS     r1,r1,#1
00176c  5c61              LDRB     r1,[r4,r1]
00176e  9b04              LDR      r3,[sp,#0x10]
001770  9a06              LDR      r2,[sp,#0x18]
001772  eb030242          ADD      r2,r3,r2,LSL #1
001776  5ca2              LDRB     r2,[r4,r2]
001778  eb012102          ADD      r1,r1,r2,LSL #8
00177c  b288              UXTH     r0,r1
00177e  f7fffffe          BL       KanjiToBinaly
001782  4682              MOV      r10,r0
;;;1149   
;;;1150   				m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, wBinCode, 13);
001784  220d              MOVS     r2,#0xd
001786  4651              MOV      r1,r10
001788  4847              LDR      r0,|L1.6312|
00178a  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
00178c  f7fffffe          BL       SetBitStream
001790  4945              LDR      r1,|L1.6312|
001792  6008              STR      r0,[r1,#0]  ; m_ncDataCodeWordBit
001794  9806              LDR      r0,[sp,#0x18]         ;1146
001796  1c40              ADDS     r0,r0,#1              ;1146
001798  9006              STR      r0,[sp,#0x18]         ;1146
                  |L1.6042|
00179a  4941              LDR      r1,|L1.6304|
00179c  5dc8              LDRB     r0,[r1,r7]            ;1146
00179e  eb0072d0          ADD      r2,r0,r0,LSR #31      ;1146
0017a2  9906              LDR      r1,[sp,#0x18]         ;1146
0017a4  ebb10f62          CMP      r1,r2,ASR #1          ;1146
0017a8  dbda              BLT      |L1.5984|
;;;1151   			}
;;;1152   
;;;1153   			ncComplete += m_nBlockLength[i];
0017aa  483d              LDR      r0,|L1.6304|
0017ac  5dc1              LDRB     r1,[r0,r7]
0017ae  9804              LDR      r0,[sp,#0x10]
0017b0  4408              ADD      r0,r0,r1
0017b2  9004              STR      r0,[sp,#0x10]
                  |L1.6068|
0017b4  1c7f              ADDS     r7,r7,#1              ;1065
                  |L1.6070|
0017b6  483b              LDR      r0,|L1.6308|
0017b8  6800              LDR      r0,[r0,#0]            ;1065  ; m_ncDataBlock
0017ba  4287              CMP      r7,r0                 ;1065
0017bc  da04              BGE      |L1.6088|
0017be  483a              LDR      r0,|L1.6312|
0017c0  6800              LDR      r0,[r0,#0]            ;1065  ; m_ncDataCodeWordBit
0017c2  1c40              ADDS     r0,r0,#1              ;1065
0017c4  f47faea0          BNE      |L1.5384|
                  |L1.6088|
;;;1154   		}
;;;1155   //		else
;;;1156   //		{
;;;1157   //			m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 8, 4);
;;;1158   
;;;1159   //			m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (WORD)(m_nBlockLength[i] / 2), nIndicatorLenKanji[nVerGroup]);
;;;1160   
;;;1161   //			for (j = 0; j < m_nBlockLength[i] / 2; ++j)
;;;1162   //			{
;;;1163   //				WORD wBinCode = ChineseToBinaly((WORD)(((BYTE)lpsSource[ncComplete + (j * 2)] << 8) + (BYTE)lpsSource[ncComplete + (j * 2) + 1]));
;;;1164   
;;;1165   //				m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, wBinCode, 13);
;;;1166   //			}
;;;1167   
;;;1168   //			ncComplete += m_nBlockLength[i];
;;;1169   //		}
;;;1170   	}
;;;1171   
;;;1172   	return (m_ncDataCodeWordBit != -1);
0017c8  4837              LDR      r0,|L1.6312|
0017ca  6800              LDR      r0,[r0,#0]  ; m_ncDataCodeWordBit
0017cc  1c40              ADDS     r0,r0,#1
0017ce  d003              BEQ      |L1.6104|
0017d0  2001              MOVS     r0,#1
                  |L1.6098|
;;;1173   	//return TRUE;
;;;1174   }
0017d2  b007              ADD      sp,sp,#0x1c
0017d4  e8bd8ff0          POP      {r4-r11,pc}
                  |L1.6104|
0017d8  2000              MOVS     r0,#0                 ;1172
0017da  e7fa              B        |L1.6098|
;;;1175   
                          ENDP

                  GetEncodeVersion PROC
;;;796    */
;;;797    int GetEncodeVersion(int nVersion, char *lpsSource, int ncLength)
0017dc  e92d47f0          PUSH     {r4-r10,lr}
;;;798    {
0017e0  4604              MOV      r4,r0
0017e2  460d              MOV      r5,r1
0017e4  4616              MOV      r6,r2
;;;799    	int nVerGroup = nVersion >= 27 ? QR_VRESION_L : (nVersion >= 10 ? QR_VRESION_M : QR_VRESION_S);
0017e6  2c1b              CMP      r4,#0x1b
0017e8  db01              BLT      |L1.6126|
0017ea  2002              MOVS     r0,#2
0017ec  e004              B        |L1.6136|
                  |L1.6126|
0017ee  2c0a              CMP      r4,#0xa
0017f0  db01              BLT      |L1.6134|
0017f2  2001              MOVS     r0,#1
0017f4  e000              B        |L1.6136|
                  |L1.6134|
0017f6  2000              MOVS     r0,#0
                  |L1.6136|
0017f8  4607              MOV      r7,r0
;;;800    	int i, j;
;;;801    
;;;802    	for (i = nVerGroup; i <= QR_VRESION_L; ++i)
0017fa  46b8              MOV      r8,r7
0017fc  e088              B        |L1.6416|
                  |L1.6142|
;;;803    	{
;;;804    		if (EncodeSourceData(lpsSource, ncLength, i))
0017fe  4642              MOV      r2,r8
001800  4631              MOV      r1,r6
001802  4628              MOV      r0,r5
001804  f7fffffe          BL       EncodeSourceData
001808  2800              CMP      r0,#0
00180a  d07f              BEQ      |L1.6412|
;;;805    		{
;;;806    			if (i == QR_VRESION_S)
00180c  f1b80f00          CMP      r8,#0
001810  d120              BNE      |L1.6228|
;;;807    			{
;;;808    				for (j = 1; j <= 9; ++j)
001812  f04f0901          MOV      r9,#1
001816  e019              B        |L1.6220|
                  |L1.6168|
;;;809    				{
;;;810    					if ((m_ncDataCodeWordBit + 7) / 8 <= QR_VersonInfo[j].ncDataCodeWord[m_nLevel])
001818  4923              LDR      r1,|L1.6312|
00181a  6809              LDR      r1,[r1,#0]  ; m_ncDataCodeWordBit
00181c  1dc8              ADDS     r0,r1,#7
00181e  eb090189          ADD      r1,r9,r9,LSL #2
001822  eb011149          ADD      r1,r1,r9,LSL #5
001826  4a26              LDR      r2,|L1.6336|
001828  eb020141          ADD      r1,r2,r1,LSL #1
00182c  1d09              ADDS     r1,r1,#4
00182e  4a25              LDR      r2,|L1.6340|
001830  6812              LDR      r2,[r2,#0]  ; m_nLevel
001832  f8311012          LDRH     r1,[r1,r2,LSL #1]
001836  17c2              ASRS     r2,r0,#31
001838  eb007252          ADD      r2,r0,r2,LSR #29
00183c  ebb10fe2          CMP      r1,r2,ASR #3
001840  db02              BLT      |L1.6216|
;;;811    						return j;
001842  4648              MOV      r0,r9
                  |L1.6212|
;;;812    				}
;;;813    			}
;;;814    			else if (i == QR_VRESION_M)
;;;815    			{
;;;816    				for (j = 10; j <= 26; ++j)
;;;817    				{
;;;818    					if ((m_ncDataCodeWordBit + 7) / 8 <= QR_VersonInfo[j].ncDataCodeWord[m_nLevel])
;;;819    						return j;
;;;820    				}
;;;821    			}
;;;822    			else if (i == QR_VRESION_L)
;;;823    			{
;;;824    				for (j = 27; j <= 40; ++j)
;;;825    				{
;;;826    					if ((m_ncDataCodeWordBit + 7) / 8 <= QR_VersonInfo[j].ncDataCodeWord[m_nLevel])
;;;827    						return j;
;;;828    				}
;;;829    			}
;;;830    		}
;;;831    	}
;;;832    	return 0;
;;;833    }
001844  e8bd87f0          POP      {r4-r10,pc}
                  |L1.6216|
001848  f1090901          ADD      r9,r9,#1              ;808
                  |L1.6220|
00184c  f1b90f09          CMP      r9,#9                 ;808
001850  dde2              BLE      |L1.6168|
001852  e05b              B        |L1.6412|
                  |L1.6228|
001854  f1b80f01          CMP      r8,#1                 ;814
001858  d136              BNE      |L1.6344|
00185a  f04f090a          MOV      r9,#0xa               ;816
00185e  e018              B        |L1.6290|
                  |L1.6240|
001860  4911              LDR      r1,|L1.6312|
001862  6809              LDR      r1,[r1,#0]            ;818  ; m_ncDataCodeWordBit
001864  1dc8              ADDS     r0,r1,#7              ;818
001866  eb090189          ADD      r1,r9,r9,LSL #2       ;818
00186a  eb011149          ADD      r1,r1,r9,LSL #5       ;818
00186e  4a14              LDR      r2,|L1.6336|
001870  eb020141          ADD      r1,r2,r1,LSL #1       ;818
001874  1d09              ADDS     r1,r1,#4              ;818
001876  4a13              LDR      r2,|L1.6340|
001878  6812              LDR      r2,[r2,#0]            ;818  ; m_nLevel
00187a  f8311012          LDRH     r1,[r1,r2,LSL #1]     ;818
00187e  17c2              ASRS     r2,r0,#31             ;818
001880  eb007252          ADD      r2,r0,r2,LSR #29      ;818
001884  ebb10fe2          CMP      r1,r2,ASR #3          ;818
001888  db01              BLT      |L1.6286|
00188a  4648              MOV      r0,r9                 ;819
00188c  e7da              B        |L1.6212|
                  |L1.6286|
00188e  f1090901          ADD      r9,r9,#1              ;816
                  |L1.6290|
001892  f1b90f1a          CMP      r9,#0x1a              ;816
001896  dde3              BLE      |L1.6240|
001898  e038              B        |L1.6412|
00189a  0000              DCW      0x0000
                  |L1.6300|
                          DCD      m_byBlockMode
                  |L1.6304|
                          DCD      m_nBlockLength
                  |L1.6308|
                          DCD      m_ncDataBlock
                  |L1.6312|
                          DCD      m_ncDataCodeWordBit
                  |L1.6316|
                          DCD      m_byDataCodeWord
                  |L1.6320|
                          DCD      nIndicatorLenNumeral
                  |L1.6324|
                          DCD      nIndicatorLenAlphabet
                  |L1.6328|
                          DCD      nIndicatorLen8Bit
                  |L1.6332|
                          DCD      nIndicatorLenKanji
                  |L1.6336|
                          DCD      QR_VersonInfo
                  |L1.6340|
                          DCD      m_nLevel
                  |L1.6344|
0018c8  f1b80f02          CMP      r8,#2                 ;822
0018cc  d11e              BNE      |L1.6412|
0018ce  f04f091b          MOV      r9,#0x1b              ;824
0018d2  e018              B        |L1.6406|
                  |L1.6356|
0018d4  49fb              LDR      r1,|L1.7364|
0018d6  6809              LDR      r1,[r1,#0]            ;826  ; m_ncDataCodeWordBit
0018d8  1dc8              ADDS     r0,r1,#7              ;826
0018da  eb090189          ADD      r1,r9,r9,LSL #2       ;826
0018de  eb011149          ADD      r1,r1,r9,LSL #5       ;826
0018e2  4af9              LDR      r2,|L1.7368|
0018e4  eb020141          ADD      r1,r2,r1,LSL #1       ;826
0018e8  1d09              ADDS     r1,r1,#4              ;826
0018ea  4af8              LDR      r2,|L1.7372|
0018ec  6812              LDR      r2,[r2,#0]            ;826  ; m_nLevel
0018ee  f8311012          LDRH     r1,[r1,r2,LSL #1]     ;826
0018f2  17c2              ASRS     r2,r0,#31             ;826
0018f4  eb007252          ADD      r2,r0,r2,LSR #29      ;826
0018f8  ebb10fe2          CMP      r1,r2,ASR #3          ;826
0018fc  db01              BLT      |L1.6402|
0018fe  4648              MOV      r0,r9                 ;827
001900  e7a0              B        |L1.6212|
                  |L1.6402|
001902  f1090901          ADD      r9,r9,#1              ;824
                  |L1.6406|
001906  f1b90f28          CMP      r9,#0x28              ;824
00190a  dde3              BLE      |L1.6356|
                  |L1.6412|
00190c  f1080801          ADD      r8,r8,#1              ;802
                  |L1.6416|
001910  f1b80f02          CMP      r8,#2                 ;802
001914  f77faf73          BLE      |L1.6142|
001918  2000              MOVS     r0,#0                 ;832
00191a  e793              B        |L1.6212|
;;;834    
                          ENDP

                  EncodeData PROC
;;;644    
;;;645    bool EncodeData(char *lpsSource)
00191c  e92d4ff1          PUSH     {r0,r4-r11,lr}
;;;646    {
001920  b08c              SUB      sp,sp,#0x30
;;;647    	int i, j, nVersion=1, bAutoExtent=1, ncSource;
001922  2001              MOVS     r0,#1
001924  900b              STR      r0,[sp,#0x2c]
001926  900a              STR      r0,[sp,#0x28]
;;;648    	int ncLength, nEncodeVersion, ncDataCodeWord, ncTerminater;
;;;649    	unsigned char byPaddingCode = 0xec;
001928  20ec              MOVS     r0,#0xec
00192a  9006              STR      r0,[sp,#0x18]
;;;650    	int nDataCwIndex = 0, ncBlock1, ncBlock2, ncBlockSum; 
00192c  f04f0800          MOV      r8,#0
;;;651    	int nBlockNo = 0, ncDataCw1, ncDataCw2;
001930  f04f0a00          MOV      r10,#0
;;;652    	int ncRSCw1, ncRSCw2;
;;;653    
;;;654    	ncSource = 0;
001934  2000              MOVS     r0,#0
001936  9009              STR      r0,[sp,#0x24]
;;;655    	m_nLevel = 0;
001938  49e4              LDR      r1,|L1.7372|
00193a  6008              STR      r0,[r1,#0]  ; m_nLevel
;;;656    	m_nMaskingNo = 0;
00193c  49e4              LDR      r1,|L1.7376|
00193e  6008              STR      r0,[r1,#0]  ; m_nMaskingNo
;;;657    
;;;658    	ncLength = ncSource > 0 ? ncSource : strlen(lpsSource);
001940  9809              LDR      r0,[sp,#0x24]
001942  2800              CMP      r0,#0
001944  dd01              BLE      |L1.6474|
001946  9809              LDR      r0,[sp,#0x24]
001948  e002              B        |L1.6480|
                  |L1.6474|
00194a  980c              LDR      r0,[sp,#0x30]
00194c  f7fffffe          BL       strlen
                  |L1.6480|
001950  9008              STR      r0,[sp,#0x20]
;;;659    	//uprintf("ncLength = %d\n",ncLength);
;;;660    	if (ncLength == 0)
001952  9808              LDR      r0,[sp,#0x20]
001954  b918              CBNZ     r0,|L1.6494|
;;;661    		return FALSE; 
001956  2000              MOVS     r0,#0
                  |L1.6488|
;;;662    
;;;663    	nEncodeVersion = GetEncodeVersion(nVersion, lpsSource, ncLength);
;;;664    	//uprintf("nEncodeVersion = %d\n",nEncodeVersion);
;;;665    	if (nEncodeVersion == 0)
;;;666    		return FALSE; 
;;;667    
;;;668    	if (nVersion == 0)
;;;669    	{
;;;670    		m_nVersion = nEncodeVersion;
;;;671    	}
;;;672    	else
;;;673    	{
;;;674    		if (nEncodeVersion <= nVersion)
;;;675    		{
;;;676    			m_nVersion = nVersion;
;;;677    		}
;;;678    		else
;;;679    		{
;;;680    			if (bAutoExtent)
;;;681    				m_nVersion = nEncodeVersion; 
;;;682    			else
;;;683    				return FALSE; 
;;;684    		}
;;;685    	}
;;;686    	//uprintf("m_nVersion = %d\n",m_nVersion);
;;;687    	
;;;688    	ncDataCodeWord = QR_VersonInfo[m_nVersion].ncDataCodeWord[m_nLevel];
;;;689    
;;;690    	ncTerminater = qr_min(4, (ncDataCodeWord * 8) - m_ncDataCodeWordBit);
;;;691    
;;;692    	if (ncTerminater > 0)
;;;693    		m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 0, ncTerminater);
;;;694    
;;;695    	for (i = (m_ncDataCodeWordBit + 7) / 8; i < ncDataCodeWord; ++i)
;;;696    	{
;;;697    		m_byDataCodeWord[i] = byPaddingCode;
;;;698    
;;;699    		byPaddingCode = (unsigned char)(byPaddingCode == 0xec ? 0x11 : 0xec);
;;;700    	}
;;;701    
;;;702    	m_ncAllCodeWord = QR_VersonInfo[m_nVersion].ncAllCodeWord;
;;;703    	memset(m_byAllCodeWord, 0, m_ncAllCodeWord);
;;;704    
;;;705    	ncBlock1 = QR_VersonInfo[m_nVersion].RS_BlockInfo1[m_nLevel].ncRSBlock;
;;;706    	ncBlock2 = QR_VersonInfo[m_nVersion].RS_BlockInfo2[m_nLevel].ncRSBlock;
;;;707    	ncBlockSum = ncBlock1 + ncBlock2;
;;;708    
;;;709    	ncDataCw1 = QR_VersonInfo[m_nVersion].RS_BlockInfo1[m_nLevel].ncDataCodeWord;
;;;710    	ncDataCw2 = QR_VersonInfo[m_nVersion].RS_BlockInfo2[m_nLevel].ncDataCodeWord;
;;;711    
;;;712    	for (i = 0; i < ncBlock1; ++i)
;;;713    	{
;;;714    		for (j = 0; j < ncDataCw1; ++j)
;;;715    		{
;;;716    			m_byAllCodeWord[(ncBlockSum * j) + nBlockNo] = m_byDataCodeWord[nDataCwIndex++];
;;;717    		}
;;;718    
;;;719    		++nBlockNo;
;;;720    	}
;;;721    
;;;722    	for (i = 0; i < ncBlock2; ++i)
;;;723    	{
;;;724    		for (j = 0; j < ncDataCw2; ++j)
;;;725    		{
;;;726    			if (j < ncDataCw1)
;;;727    			{
;;;728    				m_byAllCodeWord[(ncBlockSum * j) + nBlockNo] = m_byDataCodeWord[nDataCwIndex++];
;;;729    			}
;;;730    			else
;;;731    			{
;;;732    				m_byAllCodeWord[(ncBlockSum * ncDataCw1) + i]  = m_byDataCodeWord[nDataCwIndex++];
;;;733    			}	
;;;734    		}
;;;735    
;;;736    		++nBlockNo;
;;;737    	}
;;;738    
;;;739    	ncRSCw1 = QR_VersonInfo[m_nVersion].RS_BlockInfo1[m_nLevel].ncAllCodeWord - ncDataCw1;
;;;740    	ncRSCw2 = QR_VersonInfo[m_nVersion].RS_BlockInfo2[m_nLevel].ncAllCodeWord - ncDataCw2;
;;;741    
;;;742    	nDataCwIndex = 0;
;;;743    	nBlockNo = 0;
;;;744    
;;;745    	for (i = 0; i < ncBlock1; ++i)
;;;746    	{
;;;747    		memset(m_byRSWork, 0, sizeof(m_byRSWork));
;;;748    
;;;749    		memmove(m_byRSWork, m_byDataCodeWord + nDataCwIndex, ncDataCw1);
;;;750    
;;;751    		GetRSCodeWord(m_byRSWork, ncDataCw1, ncRSCw1);
;;;752    
;;;753    		for (j = 0; j < ncRSCw1; ++j)
;;;754    		{
;;;755    			m_byAllCodeWord[ncDataCodeWord + (ncBlockSum * j) + nBlockNo] = m_byRSWork[j];
;;;756    		}
;;;757    
;;;758    		nDataCwIndex += ncDataCw1;
;;;759    		++nBlockNo;
;;;760    	}
;;;761    
;;;762    	for (i = 0; i < ncBlock2; ++i)
;;;763    	{
;;;764    		memset(m_byRSWork, 0, sizeof(m_byRSWork));
;;;765    
;;;766    		memmove(m_byRSWork, m_byDataCodeWord + nDataCwIndex, ncDataCw2);
;;;767    
;;;768    		GetRSCodeWord(m_byRSWork, ncDataCw2, ncRSCw2);
;;;769    
;;;770    		for (j = 0; j < ncRSCw2; ++j)
;;;771    		{
;;;772    			m_byAllCodeWord[ncDataCodeWord + (ncBlockSum * j) + nBlockNo] = m_byRSWork[j];
;;;773    		}
;;;774    
;;;775    		nDataCwIndex += ncDataCw2;
;;;776    		++nBlockNo;
;;;777    	}
;;;778    
;;;779    	m_nSymbleSize = m_nVersion * 4 + 17;
;;;780    
;;;781    	FormatModule();
;;;782    
;;;783    	return TRUE;
;;;784    }
001958  b00d              ADD      sp,sp,#0x34
00195a  e8bd8ff0          POP      {r4-r11,pc}
                  |L1.6494|
00195e  9a08              LDR      r2,[sp,#0x20]         ;663
001960  e9dd010b          LDRD     r0,r1,[sp,#0x2c]      ;663
001964  f7fffffe          BL       GetEncodeVersion
001968  4606              MOV      r6,r0                 ;663
00196a  b90e              CBNZ     r6,|L1.6512|
00196c  2000              MOVS     r0,#0                 ;666
00196e  e7f3              B        |L1.6488|
                  |L1.6512|
001970  980b              LDR      r0,[sp,#0x2c]         ;668
001972  b910              CBNZ     r0,|L1.6522|
001974  48d7              LDR      r0,|L1.7380|
001976  6006              STR      r6,[r0,#0]            ;670  ; m_nVersion
001978  e00d              B        |L1.6550|
                  |L1.6522|
00197a  980b              LDR      r0,[sp,#0x2c]         ;674
00197c  4286              CMP      r6,r0                 ;674
00197e  dc03              BGT      |L1.6536|
001980  49d4              LDR      r1,|L1.7380|
001982  980b              LDR      r0,[sp,#0x2c]         ;676
001984  6008              STR      r0,[r1,#0]            ;676  ; m_nVersion
001986  e006              B        |L1.6550|
                  |L1.6536|
001988  980a              LDR      r0,[sp,#0x28]         ;680
00198a  b110              CBZ      r0,|L1.6546|
00198c  48d1              LDR      r0,|L1.7380|
00198e  6006              STR      r6,[r0,#0]            ;681  ; m_nVersion
001990  e001              B        |L1.6550|
                  |L1.6546|
001992  2000              MOVS     r0,#0                 ;683
001994  e7e0              B        |L1.6488|
                  |L1.6550|
001996  48cf              LDR      r0,|L1.7380|
001998  6800              LDR      r0,[r0,#0]            ;688  ; m_nVersion
00199a  eb000180          ADD      r1,r0,r0,LSL #2       ;688
00199e  eb011040          ADD      r0,r1,r0,LSL #5       ;688
0019a2  49c9              LDR      r1,|L1.7368|
0019a4  eb010040          ADD      r0,r1,r0,LSL #1       ;688
0019a8  1d00              ADDS     r0,r0,#4              ;688
0019aa  49c8              LDR      r1,|L1.7372|
0019ac  6809              LDR      r1,[r1,#0]            ;688  ; m_nLevel
0019ae  f8307011          LDRH     r7,[r0,r1,LSL #1]     ;688
0019b2  49c4              LDR      r1,|L1.7364|
0019b4  6809              LDR      r1,[r1,#0]            ;690  ; m_ncDataCodeWordBit
0019b6  ebc100c7          RSB      r0,r1,r7,LSL #3       ;690
0019ba  2804              CMP      r0,#4                 ;690
0019bc  dd01              BLE      |L1.6594|
0019be  2004              MOVS     r0,#4                 ;690
0019c0  e003              B        |L1.6602|
                  |L1.6594|
0019c2  49c0              LDR      r1,|L1.7364|
0019c4  6809              LDR      r1,[r1,#0]            ;690  ; m_ncDataCodeWordBit
0019c6  ebc100c7          RSB      r0,r1,r7,LSL #3       ;690
                  |L1.6602|
0019ca  9007              STR      r0,[sp,#0x1c]         ;690
0019cc  9807              LDR      r0,[sp,#0x1c]         ;692
0019ce  2800              CMP      r0,#0                 ;692
0019d0  dd07              BLE      |L1.6626|
0019d2  2100              MOVS     r1,#0                 ;693
0019d4  48bb              LDR      r0,|L1.7364|
0019d6  9a07              LDR      r2,[sp,#0x1c]         ;693
0019d8  6800              LDR      r0,[r0,#0]            ;693  ; m_ncDataCodeWordBit
0019da  f7fffffe          BL       SetBitStream
0019de  49b9              LDR      r1,|L1.7364|
0019e0  6008              STR      r0,[r1,#0]            ;693  ; m_ncDataCodeWordBit
                  |L1.6626|
0019e2  49b8              LDR      r1,|L1.7364|
0019e4  6809              LDR      r1,[r1,#0]            ;695  ; m_ncDataCodeWordBit
0019e6  1dc8              ADDS     r0,r1,#7              ;695
0019e8  17c1              ASRS     r1,r0,#31             ;695
0019ea  eb007151          ADD      r1,r0,r1,LSR #29      ;695
0019ee  10cc              ASRS     r4,r1,#3              ;695
0019f0  e00b              B        |L1.6666|
                  |L1.6642|
0019f2  49b9              LDR      r1,|L1.7384|
0019f4  9806              LDR      r0,[sp,#0x18]         ;697
0019f6  5508              STRB     r0,[r1,r4]            ;697
0019f8  9806              LDR      r0,[sp,#0x18]         ;699
0019fa  28ec              CMP      r0,#0xec              ;699
0019fc  d101              BNE      |L1.6658|
0019fe  2011              MOVS     r0,#0x11              ;699
001a00  e000              B        |L1.6660|
                  |L1.6658|
001a02  20ec              MOVS     r0,#0xec              ;699
                  |L1.6660|
001a04  b2c0              UXTB     r0,r0                 ;699
001a06  9006              STR      r0,[sp,#0x18]         ;699
001a08  1c64              ADDS     r4,r4,#1              ;695
                  |L1.6666|
001a0a  42bc              CMP      r4,r7                 ;695
001a0c  dbf1              BLT      |L1.6642|
001a0e  48b1              LDR      r0,|L1.7380|
001a10  6800              LDR      r0,[r0,#0]            ;702  ; m_nVersion
001a12  eb000180          ADD      r1,r0,r0,LSL #2       ;702
001a16  eb011040          ADD      r0,r1,r0,LSL #5       ;702
001a1a  49ab              LDR      r1,|L1.7368|
001a1c  eb010040          ADD      r0,r1,r0,LSL #1       ;702
001a20  8840              LDRH     r0,[r0,#2]            ;702
001a22  49ae              LDR      r1,|L1.7388|
001a24  6008              STR      r0,[r1,#0]            ;702  ; m_ncAllCodeWord
001a26  4608              MOV      r0,r1                 ;703
001a28  6801              LDR      r1,[r0,#0]            ;703  ; m_ncAllCodeWord
001a2a  48ad              LDR      r0,|L1.7392|
001a2c  f7fffffe          BL       __aeabi_memclr
001a30  48a8              LDR      r0,|L1.7380|
001a32  6800              LDR      r0,[r0,#0]            ;705  ; m_nVersion
001a34  eb000180          ADD      r1,r0,r0,LSL #2       ;705
001a38  eb011040          ADD      r0,r1,r0,LSL #5       ;705
001a3c  49a2              LDR      r1,|L1.7368|
001a3e  eb010040          ADD      r0,r1,r0,LSL #1       ;705
001a42  301a              ADDS     r0,r0,#0x1a           ;705
001a44  49a1              LDR      r1,|L1.7372|
001a46  6809              LDR      r1,[r1,#0]            ;705  ; m_nLevel
001a48  eb010141          ADD      r1,r1,r1,LSL #1       ;705
001a4c  f8300011          LDRH     r0,[r0,r1,LSL #1]     ;705
001a50  9005              STR      r0,[sp,#0x14]         ;705
001a52  48a0              LDR      r0,|L1.7380|
001a54  6800              LDR      r0,[r0,#0]            ;706  ; m_nVersion
001a56  eb000180          ADD      r1,r0,r0,LSL #2       ;706
001a5a  eb011040          ADD      r0,r1,r0,LSL #5       ;706
001a5e  499a              LDR      r1,|L1.7368|
001a60  eb010040          ADD      r0,r1,r0,LSL #1       ;706
001a64  3032              ADDS     r0,r0,#0x32           ;706
001a66  4999              LDR      r1,|L1.7372|
001a68  6809              LDR      r1,[r1,#0]            ;706  ; m_nLevel
001a6a  eb010141          ADD      r1,r1,r1,LSL #1       ;706
001a6e  f8301011          LDRH     r1,[r0,r1,LSL #1]     ;706
001a72  9104              STR      r1,[sp,#0x10]         ;706
001a74  e9dd1004          LDRD     r1,r0,[sp,#0x10]      ;707
001a78  eb000901          ADD      r9,r0,r1              ;707
001a7c  4895              LDR      r0,|L1.7380|
001a7e  6800              LDR      r0,[r0,#0]            ;709  ; m_nVersion
001a80  eb000180          ADD      r1,r0,r0,LSL #2       ;709
001a84  eb011040          ADD      r0,r1,r0,LSL #5       ;709
001a88  498f              LDR      r1,|L1.7368|
001a8a  eb010040          ADD      r0,r1,r0,LSL #1       ;709
001a8e  301a              ADDS     r0,r0,#0x1a           ;709
001a90  498e              LDR      r1,|L1.7372|
001a92  6809              LDR      r1,[r1,#0]            ;709  ; m_nLevel
001a94  eb010141          ADD      r1,r1,r1,LSL #1       ;709
001a98  eb000041          ADD      r0,r0,r1,LSL #1       ;709
001a9c  f8b0b004          LDRH     r11,[r0,#4]           ;709
001aa0  488c              LDR      r0,|L1.7380|
001aa2  6800              LDR      r0,[r0,#0]            ;710  ; m_nVersion
001aa4  eb000180          ADD      r1,r0,r0,LSL #2       ;710
001aa8  eb011040          ADD      r0,r1,r0,LSL #5       ;710
001aac  4986              LDR      r1,|L1.7368|
001aae  eb010040          ADD      r0,r1,r0,LSL #1       ;710
001ab2  3032              ADDS     r0,r0,#0x32           ;710
001ab4  4985              LDR      r1,|L1.7372|
001ab6  6809              LDR      r1,[r1,#0]            ;710  ; m_nLevel
001ab8  eb010141          ADD      r1,r1,r1,LSL #1       ;710
001abc  eb000041          ADD      r0,r0,r1,LSL #1       ;710
001ac0  8880              LDRH     r0,[r0,#4]            ;710
001ac2  9003              STR      r0,[sp,#0xc]          ;710
001ac4  2400              MOVS     r4,#0                 ;712
001ac6  e010              B        |L1.6890|
                  |L1.6856|
001ac8  2500              MOVS     r5,#0                 ;714
001aca  e009              B        |L1.6880|
                  |L1.6860|
001acc  4640              MOV      r0,r8                 ;716
001ace  f1080801          ADD      r8,r8,#1              ;716
001ad2  4981              LDR      r1,|L1.7384|
001ad4  5c08              LDRB     r0,[r1,r0]            ;716
001ad6  fb09a105          MLA      r1,r9,r5,r10          ;716
001ada  4a81              LDR      r2,|L1.7392|
001adc  5450              STRB     r0,[r2,r1]            ;716
001ade  1c6d              ADDS     r5,r5,#1              ;714
                  |L1.6880|
001ae0  455d              CMP      r5,r11                ;714
001ae2  dbf3              BLT      |L1.6860|
001ae4  f10a0a01          ADD      r10,r10,#1            ;719
001ae8  1c64              ADDS     r4,r4,#1              ;712
                  |L1.6890|
001aea  9805              LDR      r0,[sp,#0x14]         ;712
001aec  4284              CMP      r4,r0                 ;712
001aee  dbeb              BLT      |L1.6856|
001af0  2400              MOVS     r4,#0                 ;722
001af2  e01d              B        |L1.6960|
                  |L1.6900|
001af4  2500              MOVS     r5,#0                 ;724
001af6  e015              B        |L1.6948|
                  |L1.6904|
001af8  455d              CMP      r5,r11                ;726
001afa  da09              BGE      |L1.6928|
001afc  4640              MOV      r0,r8                 ;728
001afe  f1080801          ADD      r8,r8,#1              ;728
001b02  4975              LDR      r1,|L1.7384|
001b04  5c08              LDRB     r0,[r1,r0]            ;728
001b06  fb09a105          MLA      r1,r9,r5,r10          ;728
001b0a  4a75              LDR      r2,|L1.7392|
001b0c  5450              STRB     r0,[r2,r1]            ;728
001b0e  e008              B        |L1.6946|
                  |L1.6928|
001b10  4640              MOV      r0,r8                 ;732
001b12  f1080801          ADD      r8,r8,#1              ;732
001b16  4970              LDR      r1,|L1.7384|
001b18  5c08              LDRB     r0,[r1,r0]            ;732
001b1a  fb09410b          MLA      r1,r9,r11,r4          ;732
001b1e  4a70              LDR      r2,|L1.7392|
001b20  5450              STRB     r0,[r2,r1]            ;732
                  |L1.6946|
001b22  1c6d              ADDS     r5,r5,#1              ;724
                  |L1.6948|
001b24  9803              LDR      r0,[sp,#0xc]          ;724
001b26  4285              CMP      r5,r0                 ;724
001b28  dbe6              BLT      |L1.6904|
001b2a  f10a0a01          ADD      r10,r10,#1            ;736
001b2e  1c64              ADDS     r4,r4,#1              ;722
                  |L1.6960|
001b30  9804              LDR      r0,[sp,#0x10]         ;722
001b32  4284              CMP      r4,r0                 ;722
001b34  dbde              BLT      |L1.6900|
001b36  4867              LDR      r0,|L1.7380|
001b38  6800              LDR      r0,[r0,#0]            ;739  ; m_nVersion
001b3a  eb000180          ADD      r1,r0,r0,LSL #2       ;739
001b3e  eb011040          ADD      r0,r1,r0,LSL #5       ;739
001b42  4961              LDR      r1,|L1.7368|
001b44  eb010040          ADD      r0,r1,r0,LSL #1       ;739
001b48  301a              ADDS     r0,r0,#0x1a           ;739
001b4a  4960              LDR      r1,|L1.7372|
001b4c  6809              LDR      r1,[r1,#0]            ;739  ; m_nLevel
001b4e  eb010141          ADD      r1,r1,r1,LSL #1       ;739
001b52  eb000041          ADD      r0,r0,r1,LSL #1       ;739
001b56  8840              LDRH     r0,[r0,#2]            ;739
001b58  eba0000b          SUB      r0,r0,r11             ;739
001b5c  9002              STR      r0,[sp,#8]            ;739
001b5e  485d              LDR      r0,|L1.7380|
001b60  6800              LDR      r0,[r0,#0]            ;740  ; m_nVersion
001b62  eb000180          ADD      r1,r0,r0,LSL #2       ;740
001b66  eb011040          ADD      r0,r1,r0,LSL #5       ;740
001b6a  4957              LDR      r1,|L1.7368|
001b6c  eb010040          ADD      r0,r1,r0,LSL #1       ;740
001b70  3032              ADDS     r0,r0,#0x32           ;740
001b72  4956              LDR      r1,|L1.7372|
001b74  6809              LDR      r1,[r1,#0]            ;740  ; m_nLevel
001b76  eb010141          ADD      r1,r1,r1,LSL #1       ;740
001b7a  eb000041          ADD      r0,r0,r1,LSL #1       ;740
001b7e  8841              LDRH     r1,[r0,#2]            ;740
001b80  9803              LDR      r0,[sp,#0xc]          ;740
001b82  1a08              SUBS     r0,r1,r0              ;740
001b84  9001              STR      r0,[sp,#4]            ;740
001b86  f04f0800          MOV      r8,#0                 ;742
001b8a  46c2              MOV      r10,r8                ;743
001b8c  2400              MOVS     r4,#0                 ;745
001b8e  e020              B        |L1.7122|
                  |L1.7056|
001b90  2132              MOVS     r1,#0x32              ;747
001b92  4854              LDR      r0,|L1.7396|
001b94  f7fffffe          BL       __aeabi_memclr
001b98  484f              LDR      r0,|L1.7384|
001b9a  eb000108          ADD      r1,r0,r8              ;749
001b9e  465a              MOV      r2,r11                ;749
001ba0  4850              LDR      r0,|L1.7396|
001ba2  f7fffffe          BL       __aeabi_memmove
001ba6  4659              MOV      r1,r11                ;751
001ba8  484e              LDR      r0,|L1.7396|
001baa  9a02              LDR      r2,[sp,#8]            ;751
001bac  f7fffffe          BL       GetRSCodeWord
001bb0  2500              MOVS     r5,#0                 ;753
001bb2  e007              B        |L1.7108|
                  |L1.7092|
001bb4  484b              LDR      r0,|L1.7396|
001bb6  5d40              LDRB     r0,[r0,r5]            ;755
001bb8  fb097105          MLA      r1,r9,r5,r7           ;755
001bbc  4451              ADD      r1,r1,r10             ;755
001bbe  4a48              LDR      r2,|L1.7392|
001bc0  5450              STRB     r0,[r2,r1]            ;755
001bc2  1c6d              ADDS     r5,r5,#1              ;753
                  |L1.7108|
001bc4  9802              LDR      r0,[sp,#8]            ;753
001bc6  4285              CMP      r5,r0                 ;753
001bc8  dbf4              BLT      |L1.7092|
001bca  44d8              ADD      r8,r8,r11             ;758
001bcc  f10a0a01          ADD      r10,r10,#1            ;759
001bd0  1c64              ADDS     r4,r4,#1              ;745
                  |L1.7122|
001bd2  9805              LDR      r0,[sp,#0x14]         ;745
001bd4  4284              CMP      r4,r0                 ;745
001bd6  dbdb              BLT      |L1.7056|
001bd8  2400              MOVS     r4,#0                 ;762
001bda  e021              B        |L1.7200|
                  |L1.7132|
001bdc  2132              MOVS     r1,#0x32              ;764
001bde  4841              LDR      r0,|L1.7396|
001be0  f7fffffe          BL       __aeabi_memclr
001be4  483c              LDR      r0,|L1.7384|
001be6  eb000108          ADD      r1,r0,r8              ;766
001bea  483e              LDR      r0,|L1.7396|
001bec  9a03              LDR      r2,[sp,#0xc]          ;766
001bee  f7fffffe          BL       __aeabi_memmove
001bf2  483c              LDR      r0,|L1.7396|
001bf4  9a01              LDR      r2,[sp,#4]            ;768
001bf6  9903              LDR      r1,[sp,#0xc]          ;768
001bf8  f7fffffe          BL       GetRSCodeWord
001bfc  2500              MOVS     r5,#0                 ;770
001bfe  e007              B        |L1.7184|
                  |L1.7168|
001c00  4838              LDR      r0,|L1.7396|
001c02  5d40              LDRB     r0,[r0,r5]            ;772
001c04  fb097105          MLA      r1,r9,r5,r7           ;772
001c08  4451              ADD      r1,r1,r10             ;772
001c0a  4a35              LDR      r2,|L1.7392|
001c0c  5450              STRB     r0,[r2,r1]            ;772
001c0e  1c6d              ADDS     r5,r5,#1              ;770
                  |L1.7184|
001c10  9801              LDR      r0,[sp,#4]            ;770
001c12  4285              CMP      r5,r0                 ;770
001c14  dbf4              BLT      |L1.7168|
001c16  9803              LDR      r0,[sp,#0xc]          ;775
001c18  4480              ADD      r8,r8,r0              ;775
001c1a  f10a0a01          ADD      r10,r10,#1            ;776
001c1e  1c64              ADDS     r4,r4,#1              ;762
                  |L1.7200|
001c20  9804              LDR      r0,[sp,#0x10]         ;762
001c22  4284              CMP      r4,r0                 ;762
001c24  dbda              BLT      |L1.7132|
001c26  482b              LDR      r0,|L1.7380|
001c28  6800              LDR      r0,[r0,#0]            ;779  ; m_nVersion
001c2a  2111              MOVS     r1,#0x11              ;779
001c2c  eb010080          ADD      r0,r1,r0,LSL #2       ;779
001c30  492d              LDR      r1,|L1.7400|
001c32  6008              STR      r0,[r1,#0]            ;779  ; m_nSymbleSize
001c34  f7fffffe          BL       FormatModule
001c38  2001              MOVS     r0,#1                 ;783
001c3a  e68d              B        |L1.6488|
;;;785    
                          ENDP

                  IsChineseData PROC
;;;1266   }
;;;1267   bool IsChineseData(unsigned char c1, unsigned char c2)
001c3c  4602              MOV      r2,r0
;;;1268   {
;;;1269   	if((c1 >= 0xa1 && c1 < 0xaa) || (c1 >= 0xb0 && c1 <= 0xfa))
001c3e  2aa1              CMP      r2,#0xa1
001c40  db01              BLT      |L1.7238|
001c42  2aaa              CMP      r2,#0xaa
001c44  db03              BLT      |L1.7246|
                  |L1.7238|
001c46  2ab0              CMP      r2,#0xb0
001c48  db07              BLT      |L1.7258|
001c4a  2afa              CMP      r2,#0xfa
001c4c  dc05              BGT      |L1.7258|
                  |L1.7246|
;;;1270   	{
;;;1271   		if(c2 >= 0xa1 && c2 <= 0xfe)	return TRUE;
001c4e  29a1              CMP      r1,#0xa1
001c50  db03              BLT      |L1.7258|
001c52  29fe              CMP      r1,#0xfe
001c54  dc01              BGT      |L1.7258|
001c56  2001              MOVS     r0,#1
                  |L1.7256|
;;;1272   	}
;;;1273   	return FALSE;
;;;1274   }
001c58  4770              BX       lr
                  |L1.7258|
001c5a  2000              MOVS     r0,#0                 ;1273
001c5c  e7fc              B        |L1.7256|
;;;1275   
                          ENDP

                  ChineseToBinaly PROC
;;;1310   
;;;1311   unsigned short ChineseToBinaly(unsigned short wc)
001c5e  4601              MOV      r1,r0
;;;1312   {
;;;1313   	if(wc >= 0xa1a1 && wc <= 0xa9fe)
001c60  f24a10a1          MOV      r0,#0xa1a1
001c64  4281              CMP      r1,r0
001c66  db0e              BLT      |L1.7302|
001c68  f64a10fe          MOV      r0,#0xa9fe
001c6c  4281              CMP      r1,r0
001c6e  dc0a              BGT      |L1.7302|
;;;1314   	{
;;;1315   		return (unsigned short)((((wc >> 8)-0xa1) * 0x60) + ((wc & 0x00ff)-0xa1));
001c70  b2c8              UXTB     r0,r1
001c72  38a1              SUBS     r0,r0,#0xa1
001c74  22a1              MOVS     r2,#0xa1
001c76  ebc22221          RSB      r2,r2,r1,ASR #8
001c7a  eb020242          ADD      r2,r2,r2,LSL #1
001c7e  eb001042          ADD      r0,r0,r2,LSL #5
001c82  b280              UXTH     r0,r0
                  |L1.7300|
;;;1316   	}
;;;1317   	if(wc >= 0xb0a1 && wc <= 0xf9fe)
;;;1318   	{
;;;1319   		return (unsigned short)((((wc >> 8)-0xa6) * 0x60) + ((wc & 0x00ff)-0xa1));
;;;1320   	}
;;;1321   	return (unsigned short)((((wc >> 8)-0xa6) * 0x60) + ((wc & 0x00ff)-0xa1));
;;;1322   }
001c84  4770              BX       lr
                  |L1.7302|
001c86  f24b00a1          MOV      r0,#0xb0a1            ;1317
001c8a  4281              CMP      r1,r0                 ;1317
001c8c  db0e              BLT      |L1.7340|
001c8e  f64f10fe          MOV      r0,#0xf9fe            ;1317
001c92  4281              CMP      r1,r0                 ;1317
001c94  dc0a              BGT      |L1.7340|
001c96  b2c8              UXTB     r0,r1                 ;1319
001c98  38a1              SUBS     r0,r0,#0xa1           ;1319
001c9a  22a6              MOVS     r2,#0xa6              ;1319
001c9c  ebc22221          RSB      r2,r2,r1,ASR #8       ;1319
001ca0  eb020242          ADD      r2,r2,r2,LSL #1       ;1319
001ca4  eb001042          ADD      r0,r0,r2,LSL #5       ;1319
001ca8  b280              UXTH     r0,r0                 ;1319
001caa  e7eb              B        |L1.7300|
                  |L1.7340|
001cac  b2c8              UXTB     r0,r1                 ;1321
001cae  38a1              SUBS     r0,r0,#0xa1           ;1321
001cb0  22a6              MOVS     r2,#0xa6              ;1321
001cb2  ebc22221          RSB      r2,r2,r1,ASR #8       ;1321
001cb6  eb020242          ADD      r2,r2,r2,LSL #1       ;1321
001cba  eb001042          ADD      r0,r0,r2,LSL #5       ;1321
001cbe  b280              UXTH     r0,r0                 ;1321
001cc0  e7e0              B        |L1.7300|
001cc2  0000              DCW      0x0000
                  |L1.7364|
                          DCD      m_ncDataCodeWordBit
                  |L1.7368|
                          DCD      QR_VersonInfo
                  |L1.7372|
                          DCD      m_nLevel
                  |L1.7376|
                          DCD      m_nMaskingNo
                  |L1.7380|
                          DCD      m_nVersion
                  |L1.7384|
                          DCD      m_byDataCodeWord
                  |L1.7388|
                          DCD      m_ncAllCodeWord
                  |L1.7392|
                          DCD      m_byAllCodeWord
                  |L1.7396|
                          DCD      m_byRSWork
                  |L1.7400|
                          DCD      m_nSymbleSize
                          ENDP

                  Print_2DCode PROC
;;;1808   
;;;1809   void Print_2DCode(void)
001cec  e92d47f0          PUSH     {r4-r10,lr}
;;;1810   {
001cf0  b0c0              SUB      sp,sp,#0x100
;;;1811   	int i,j,k,x,y,z,size,mod;
;;;1812   	unsigned char bit_h,bit_v,print_num;//print_buff[1024];
;;;1813   	unsigned char print_buff[256];
;;;1814   
;;;1815   //--	SendCmd(3, 0x1b, 0x4a, 25);
;;;1816   	
;;;1817   	bit_h = 4;
001cf2  f04f0e04          MOV      lr,#4
;;;1818   	bit_v = 2;
001cf6  f04f0802          MOV      r8,#2
;;;1819   
;;;1820   	size = m_nSymbleSize/bit_v;
001cfa  f8df91e0          LDR      r9,|L1.7900|
001cfe  f8d99000          LDR      r9,[r9,#0]  ; m_nSymbleSize
001d02  fb99f7f8          SDIV     r7,r9,r8
;;;1821   	mod = m_nSymbleSize%bit_v;
001d06  f8df91d4          LDR      r9,|L1.7900|
001d0a  f8d99000          LDR      r9,[r9,#0]  ; m_nSymbleSize
001d0e  fb99faf8          SDIV     r10,r9,r8
001d12  fb089c1a          MLS      r12,r8,r10,r9
;;;1822   
;;;1823   	print_num = bit_h * m_nSymbleSize;
001d16  f8df91c4          LDR      r9,|L1.7900|
001d1a  f8d99000          LDR      r9,[r9,#0]  ; m_nSymbleSize
001d1e  fb0ef909          MUL      r9,lr,r9
001d22  f00906ff          AND      r6,r9,#0xff
;;;1824   	
;;;1825   	for(i=0; i<size; i++)
001d26  2000              MOVS     r0,#0
001d28  e089              B        |L1.7742|
                  |L1.7466|
;;;1826   	{	
;;;1827   		print_buff[0] = 0x1b;
001d2a  f04f091b          MOV      r9,#0x1b
001d2e  f88d9000          STRB     r9,[sp,#0]
;;;1828   		print_buff[1] = 0x2a;
001d32  f04f092a          MOV      r9,#0x2a
001d36  f88d9001          STRB     r9,[sp,#1]
;;;1829   		print_buff[2] = print_num;
001d3a  f88d6002          STRB     r6,[sp,#2]
;;;1830   		print_buff[3] = 0x00;
001d3e  f04f0900          MOV      r9,#0
001d42  f88d9003          STRB     r9,[sp,#3]
;;;1831   		x = 4;
001d46  2304              MOVS     r3,#4
;;;1832   	
;;;1833   		for(j=0;j<m_nSymbleSize;j++)
001d48  2100              MOVS     r1,#0
001d4a  e06a              B        |L1.7714|
                  |L1.7500|
;;;1834   		{	
;;;1835   			k = i*bit_v;			
001d4c  fb00f208          MUL      r2,r0,r8
;;;1836   			if(m_byModuleData[j][k] == 1 && m_byModuleData[j][k+1] == 1)
001d50  eb011901          ADD      r9,r1,r1,LSL #4
001d54  f8dfa188          LDR      r10,|L1.7904|
001d58  eb0a0949          ADD      r9,r10,r9,LSL #1
001d5c  f8199002          LDRB     r9,[r9,r2]
001d60  f1b90f01          CMP      r9,#1
001d64  d110              BNE      |L1.7560|
001d66  eb011901          ADD      r9,r1,r1,LSL #4
001d6a  eb0a0a49          ADD      r10,r10,r9,LSL #1
001d6e  f1020901          ADD      r9,r2,#1
001d72  f81a9009          LDRB     r9,[r10,r9]
001d76  f1b90f01          CMP      r9,#1
001d7a  d105              BNE      |L1.7560|
;;;1837   			{
;;;1838   				print_buff[x] = 0xFF;
001d7c  f04f09ff          MOV      r9,#0xff
001d80  f80d9003          STRB     r9,[sp,r3]
;;;1839   				x++;
001d84  1c5b              ADDS     r3,r3,#1
001d86  e03c              B        |L1.7682|
                  |L1.7560|
;;;1840   			}
;;;1841   			else if(m_byModuleData[j][k] == 1 && m_byModuleData[j][k+1] == 0)
001d88  eb011901          ADD      r9,r1,r1,LSL #4
001d8c  f8dfa150          LDR      r10,|L1.7904|
001d90  eb0a0949          ADD      r9,r10,r9,LSL #1
001d94  f8199002          LDRB     r9,[r9,r2]
001d98  f1b90f01          CMP      r9,#1
001d9c  d110              BNE      |L1.7616|
001d9e  eb011901          ADD      r9,r1,r1,LSL #4
001da2  eb0a0a49          ADD      r10,r10,r9,LSL #1
001da6  f1020901          ADD      r9,r2,#1
001daa  f81a9009          LDRB     r9,[r10,r9]
001dae  f1b90f00          CMP      r9,#0
001db2  d105              BNE      |L1.7616|
;;;1842   			{
;;;1843   				print_buff[x] = 0xF0;
001db4  f04f09f0          MOV      r9,#0xf0
001db8  f80d9003          STRB     r9,[sp,r3]
;;;1844   				x++;
001dbc  1c5b              ADDS     r3,r3,#1
001dbe  e020              B        |L1.7682|
                  |L1.7616|
;;;1845   			}
;;;1846   			else if(m_byModuleData[j][k] == 0 && m_byModuleData[j][k+1] == 1)
001dc0  eb011901          ADD      r9,r1,r1,LSL #4
001dc4  f8dfa118          LDR      r10,|L1.7904|
001dc8  eb0a0949          ADD      r9,r10,r9,LSL #1
001dcc  f8199002          LDRB     r9,[r9,r2]
001dd0  f1b90f00          CMP      r9,#0
001dd4  d110              BNE      |L1.7672|
001dd6  eb011901          ADD      r9,r1,r1,LSL #4
001dda  eb0a0a49          ADD      r10,r10,r9,LSL #1
001dde  f1020901          ADD      r9,r2,#1
001de2  f81a9009          LDRB     r9,[r10,r9]
001de6  f1b90f01          CMP      r9,#1
001dea  d105              BNE      |L1.7672|
;;;1847   			{
;;;1848   				print_buff[x] = 0x0F;
001dec  f04f090f          MOV      r9,#0xf
001df0  f80d9003          STRB     r9,[sp,r3]
;;;1849   				x++;
001df4  1c5b              ADDS     r3,r3,#1
001df6  e004              B        |L1.7682|
                  |L1.7672|
;;;1850   			}
;;;1851   			else
;;;1852   			{
;;;1853   				print_buff[x] = 0x00;
001df8  f04f0900          MOV      r9,#0
001dfc  f80d9003          STRB     r9,[sp,r3]
;;;1854   				x++;
001e00  1c5b              ADDS     r3,r3,#1
                  |L1.7682|
;;;1855   			}
;;;1856   			k = k+2;
001e02  1c92              ADDS     r2,r2,#2
;;;1857   				
;;;1858   			for(y=0; y<(bit_h-1); y++)
001e04  2400              MOVS     r4,#0
001e06  e007              B        |L1.7704|
                  |L1.7688|
;;;1859   			{  
;;;1860   				print_buff[x] = print_buff[x-1];
001e08  f1a30901          SUB      r9,r3,#1
001e0c  f81d9009          LDRB     r9,[sp,r9]
001e10  f80d9003          STRB     r9,[sp,r3]
;;;1861   				x++;
001e14  1c5b              ADDS     r3,r3,#1
001e16  1c64              ADDS     r4,r4,#1              ;1858
                  |L1.7704|
001e18  f1ae0901          SUB      r9,lr,#1              ;1858
001e1c  45a1              CMP      r9,r4                 ;1858
001e1e  dcf3              BGT      |L1.7688|
001e20  1c49              ADDS     r1,r1,#1              ;1833
                  |L1.7714|
001e22  f8df90b8          LDR      r9,|L1.7900|
001e26  f8d99000          LDR      r9,[r9,#0]            ;1833  ; m_nSymbleSize
001e2a  4549              CMP      r1,r9                 ;1833
001e2c  db8e              BLT      |L1.7500|
;;;1862   			}
;;;1863   		}
;;;1864   		
;;;1865   		for(z=0;z<(print_num+4);z++);
001e2e  2500              MOVS     r5,#0
001e30  e000              B        |L1.7732|
                  |L1.7730|
001e32  1c6d              ADDS     r5,r5,#1
                  |L1.7732|
001e34  f1060904          ADD      r9,r6,#4
001e38  454d              CMP      r5,r9
001e3a  dbfa              BLT      |L1.7730|
001e3c  1c40              ADDS     r0,r0,#1              ;1825
                  |L1.7742|
001e3e  42b8              CMP      r0,r7                 ;1825
001e40  f6ffaf73          BLT      |L1.7466|
;;;1866   //--		ser_send_char(1,print_buff[z]);
;;;1867   		
;;;1868   //--		SendCmd(3, 0x1b, 0x4a, 0);	
;;;1869   	}
;;;1870   	
;;;1871   	if(mod !=0)
001e44  f1bc0f00          CMP      r12,#0
001e48  d044              BEQ      |L1.7892|
;;;1872   	{
;;;1873   		print_buff[0] = 0x1b;
001e4a  f04f091b          MOV      r9,#0x1b
001e4e  f88d9000          STRB     r9,[sp,#0]
;;;1874   		print_buff[1] = 0x2a;
001e52  f04f092a          MOV      r9,#0x2a
001e56  f88d9001          STRB     r9,[sp,#1]
;;;1875   		print_buff[2] = print_num;
001e5a  f88d6002          STRB     r6,[sp,#2]
;;;1876   		print_buff[3] = 0x00;
001e5e  f04f0900          MOV      r9,#0
001e62  f88d9003          STRB     r9,[sp,#3]
;;;1877   		x = 4;
001e66  2304              MOVS     r3,#4
;;;1878   		
;;;1879   		for(j=0;j<m_nSymbleSize;j++)
001e68  2100              MOVS     r1,#0
001e6a  e026              B        |L1.7866|
                  |L1.7788|
;;;1880   		{
;;;1881   			i = size * bit_v;				
001e6c  fb07f008          MUL      r0,r7,r8
;;;1882   			if(m_byModuleData[j][i] == 1)
001e70  eb011901          ADD      r9,r1,r1,LSL #4
001e74  f8dfa068          LDR      r10,|L1.7904|
001e78  eb0a0949          ADD      r9,r10,r9,LSL #1
001e7c  f8199000          LDRB     r9,[r9,r0]
001e80  f1b90f01          CMP      r9,#1
001e84  d105              BNE      |L1.7826|
;;;1883   			{
;;;1884   				print_buff[x] = 0xF0;
001e86  f04f09f0          MOV      r9,#0xf0
001e8a  f80d9003          STRB     r9,[sp,r3]
;;;1885   				x++;
001e8e  1c5b              ADDS     r3,r3,#1
001e90  e004              B        |L1.7836|
                  |L1.7826|
;;;1886   			}
;;;1887   			else
;;;1888   			{
;;;1889   				print_buff[x] = 0x00;
001e92  f04f0900          MOV      r9,#0
001e96  f80d9003          STRB     r9,[sp,r3]
;;;1890   				x++;
001e9a  1c5b              ADDS     r3,r3,#1
                  |L1.7836|
;;;1891   			}	
;;;1892   				
;;;1893   			for(y=0; y<(bit_h-1); y++)
001e9c  2400              MOVS     r4,#0
001e9e  e007              B        |L1.7856|
                  |L1.7840|
;;;1894   			{
;;;1895   				print_buff[x] = print_buff[x-1];
001ea0  f1a30901          SUB      r9,r3,#1
001ea4  f81d9009          LDRB     r9,[sp,r9]
001ea8  f80d9003          STRB     r9,[sp,r3]
;;;1896   				x++;	
001eac  1c5b              ADDS     r3,r3,#1
001eae  1c64              ADDS     r4,r4,#1              ;1893
                  |L1.7856|
001eb0  f1ae0901          SUB      r9,lr,#1              ;1893
001eb4  45a1              CMP      r9,r4                 ;1893
001eb6  dcf3              BGT      |L1.7840|
001eb8  1c49              ADDS     r1,r1,#1              ;1879
                  |L1.7866|
001eba  f8df9020          LDR      r9,|L1.7900|
001ebe  f8d99000          LDR      r9,[r9,#0]            ;1879  ; m_nSymbleSize
001ec2  4549              CMP      r1,r9                 ;1879
001ec4  dbd2              BLT      |L1.7788|
;;;1897   			}
;;;1898   		}
;;;1899   
;;;1900   		for(z=0;z<(print_num+4);z++);
001ec6  2500              MOVS     r5,#0
001ec8  e000              B        |L1.7884|
                  |L1.7882|
001eca  1c6d              ADDS     r5,r5,#1
                  |L1.7884|
001ecc  f1060904          ADD      r9,r6,#4
001ed0  454d              CMP      r5,r9
001ed2  dbfa              BLT      |L1.7882|
                  |L1.7892|
;;;1901   //--		ser_send_char(1,print_buff[z]);
;;;1902   		
;;;1903   //--		SendCmd(3, 0x1b, 0x4a, 0);
;;;1904   	}
;;;1905   
;;;1906   //--	SendCmd(3, 0x1b, 0x4a, 25);
;;;1907   }
001ed4  b040              ADD      sp,sp,#0x100
001ed6  e8bd87f0          POP      {r4-r10,pc}
                          ENDP

001eda  0000              DCW      0x0000
                  |L1.7900|
                          DCD      m_nSymbleSize
                  |L1.7904|
                          DCD      m_byModuleData

                          AREA ||.bss||, DATA, NOINIT, ALIGN=0

                  m_byModuleData
                          %        1156
                  m_byDataCodeWord
                          %        50
                  m_byBlockMode
                          %        50
                  m_nBlockLength
                          %        50
                  m_byAllCodeWord
                          %        50
                  m_byRSWork
                          %        50

                          AREA ||.constdata||, DATA, READONLY, ALIGN=1

                  QR_VersonInfo
000000  00000000          DCW      0x0000,0x0000
                          %        8
00000c  0000              DCW      0x0000
00000e  0000              DCB      0x00,0x00
                          %        8
000018  00000000          DCB      0x00,0x00,0x00,0x00
                          %        20
000030  00000000          DCB      0x00,0x00,0x00,0x00
                          %        20
000048  0000              DCB      0x00,0x00
00004a  0001              DCW      0x0001
00004c  001a0013          DCW      0x001a,0x0013
000050  0010000d          DCW      0x0010,0x000d
000054  00090000          DCW      0x0009,0x0000
000058  00000000          DCW      0x0000,0x0000
00005c  00000000          DCW      0x0000,0x0000
000060  00000000          DCW      0x0000,0x0000
000064  0001001a          DCW      0x0001,0x001a
000068  00130001          DCW      0x0013,0x0001
00006c  001a0010          DCW      0x001a,0x0010
000070  0001001a          DCW      0x0001,0x001a
000074  000d0001          DCW      0x000d,0x0001
000078  001a0009          DCW      0x001a,0x0009
00007c  00000000          DCW      0x0000,0x0000
000080  00000000          DCW      0x0000,0x0000
000084  00000000          DCW      0x0000,0x0000
000088  00000000          DCW      0x0000,0x0000
00008c  00000000          DCW      0x0000,0x0000
000090  00000000          DCW      0x0000,0x0000
000094  0002002c          DCW      0x0002,0x002c
000098  0022001c          DCW      0x0022,0x001c
00009c  00160010          DCW      0x0016,0x0010
0000a0  00010012          DCW      0x0001,0x0012
0000a4  00000000          DCW      0x0000,0x0000
0000a8  00000000          DCW      0x0000,0x0000
0000ac  00000001          DCW      0x0000,0x0001
0000b0  002c0022          DCW      0x002c,0x0022
0000b4  0001002c          DCW      0x0001,0x002c
0000b8  001c0001          DCW      0x001c,0x0001
0000bc  002c0016          DCW      0x002c,0x0016
0000c0  0001002c          DCW      0x0001,0x002c
0000c4  00100000          DCW      0x0010,0x0000
0000c8  00000000          DCW      0x0000,0x0000
0000cc  00000000          DCW      0x0000,0x0000
0000d0  00000000          DCW      0x0000,0x0000
0000d4  00000000          DCW      0x0000,0x0000
0000d8  00000000          DCW      0x0000,0x0000
0000dc  00000003          DCW      0x0000,0x0003
0000e0  00460037          DCW      0x0046,0x0037
0000e4  002c0022          DCW      0x002c,0x0022
0000e8  001a0001          DCW      0x001a,0x0001
0000ec  00160000          DCW      0x0016,0x0000
0000f0  00000000          DCW      0x0000,0x0000
0000f4  00000000          DCW      0x0000,0x0000
0000f8  00010046          DCW      0x0001,0x0046
0000fc  00370001          DCW      0x0037,0x0001
000100  0046002c          DCW      0x0046,0x002c
000104  00020023          DCW      0x0002,0x0023
000108  00110002          DCW      0x0011,0x0002
00010c  0023000d          DCW      0x0023,0x000d
000110  00000000          DCW      0x0000,0x0000
000114  00000000          DCW      0x0000,0x0000
000118  00000000          DCW      0x0000,0x0000
00011c  00000000          DCW      0x0000,0x0000
000120  00000000          DCW      0x0000,0x0000
000124  00000000          DCW      0x0000,0x0000
000128  00040064          DCW      0x0004,0x0064
00012c  00500040          DCW      0x0050,0x0040
000130  00300024          DCW      0x0030,0x0024
000134  0001001a          DCW      0x0001,0x001a
000138  00000000          DCW      0x0000,0x0000
00013c  00000000          DCW      0x0000,0x0000
000140  00000001          DCW      0x0000,0x0001
000144  00640050          DCW      0x0064,0x0050
000148  00020032          DCW      0x0002,0x0032
00014c  00200002          DCW      0x0020,0x0002
000150  00320018          DCW      0x0032,0x0018
000154  00040019          DCW      0x0004,0x0019
000158  00090000          DCW      0x0009,0x0000
00015c  00000000          DCW      0x0000,0x0000
000160  00000000          DCW      0x0000,0x0000
000164  00000000          DCW      0x0000,0x0000
000168  00000000          DCW      0x0000,0x0000
00016c  00000000          DCW      0x0000,0x0000
000170  00000005          DCW      0x0000,0x0005
000174  0086006c          DCW      0x0086,0x006c
000178  0056003e          DCW      0x0056,0x003e
00017c  002e0001          DCW      0x002e,0x0001
000180  001e0000          DCW      0x001e,0x0000
000184  00000000          DCW      0x0000,0x0000
000188  00000000          DCW      0x0000,0x0000
00018c  00010086          DCW      0x0001,0x0086
000190  006c0002          DCW      0x006c,0x0002
000194  0043002b          DCW      0x0043,0x002b
000198  00020021          DCW      0x0002,0x0021
00019c  000f0002          DCW      0x000f,0x0002
0001a0  0021000b          DCW      0x0021,0x000b
0001a4  00000000          DCW      0x0000,0x0000
0001a8  00000000          DCW      0x0000,0x0000
0001ac  00000000          DCW      0x0000,0x0000
0001b0  00020022          DCW      0x0002,0x0022
0001b4  00100002          DCW      0x0010,0x0002
0001b8  0022000c          DCW      0x0022,0x000c
0001bc  000600ac          DCW      0x0006,0x00ac
0001c0  0088006c          DCW      0x0088,0x006c
0001c4  004c003c          DCW      0x004c,0x003c
0001c8  00010022          DCW      0x0001,0x0022
0001cc  00000000          DCW      0x0000,0x0000
0001d0  00000000          DCW      0x0000,0x0000
0001d4  00000002          DCW      0x0000,0x0002
0001d8  00560044          DCW      0x0056,0x0044
0001dc  0004002b          DCW      0x0004,0x002b
0001e0  001b0004          DCW      0x001b,0x0004
0001e4  002b0013          DCW      0x002b,0x0013
0001e8  0004002b          DCW      0x0004,0x002b
0001ec  000f0000          DCW      0x000f,0x0000
0001f0  00000000          DCW      0x0000,0x0000
0001f4  00000000          DCW      0x0000,0x0000
0001f8  00000000          DCW      0x0000,0x0000
0001fc  00000000          DCW      0x0000,0x0000
000200  00000000          DCW      0x0000,0x0000
000204  00000007          DCW      0x0000,0x0007
000208  00c4009c          DCW      0x00c4,0x009c
00020c  007c0058          DCW      0x007c,0x0058
000210  00420002          DCW      0x0042,0x0002
000214  00160026          DCW      0x0016,0x0026
000218  00000000          DCW      0x0000,0x0000
00021c  00000000          DCW      0x0000,0x0000
000220  00020062          DCW      0x0002,0x0062
000224  004e0004          DCW      0x004e,0x0004
000228  0031001f          DCW      0x0031,0x001f
00022c  00020020          DCW      0x0002,0x0020
000230  000e0004          DCW      0x000e,0x0004
000234  0027000d          DCW      0x0027,0x000d
000238  00000000          DCW      0x0000,0x0000
00023c  00000000          DCW      0x0000,0x0000
000240  00000000          DCW      0x0000,0x0000
000244  00040021          DCW      0x0004,0x0021
000248  000f0001          DCW      0x000f,0x0001
00024c  0028000e          DCW      0x0028,0x000e
000250  000800f2          DCW      0x0008,0x00f2
000254  00c2009a          DCW      0x00c2,0x009a
000258  006e0056          DCW      0x006e,0x0056
00025c  00020018          DCW      0x0002,0x0018
000260  002a0000          DCW      0x002a,0x0000
000264  00000000          DCW      0x0000,0x0000
000268  00000002          DCW      0x0000,0x0002
00026c  00790061          DCW      0x0079,0x0061
000270  0002003c          DCW      0x0002,0x003c
000274  00260004          DCW      0x0026,0x0004
000278  00280012          DCW      0x0028,0x0012
00027c  00040028          DCW      0x0004,0x0028
000280  000e0000          DCW      0x000e,0x0000
000284  00000000          DCW      0x0000,0x0000
000288  0002003d          DCW      0x0002,0x003d
00028c  00270002          DCW      0x0027,0x0002
000290  00290013          DCW      0x0029,0x0013
000294  00020029          DCW      0x0002,0x0029
000298  000f0009          DCW      0x000f,0x0009
00029c  012400e8          DCW      0x0124,0x00e8
0002a0  00b60084          DCW      0x00b6,0x0084
0002a4  00640002          DCW      0x0064,0x0002
0002a8  001a002e          DCW      0x001a,0x002e
0002ac  00000000          DCW      0x0000,0x0000
0002b0  00000000          DCW      0x0000,0x0000
0002b4  00020092          DCW      0x0002,0x0092
0002b8  00740003          DCW      0x0074,0x0003
0002bc  003a0024          DCW      0x003a,0x0024
0002c0  00040024          DCW      0x0004,0x0024
0002c4  00100004          DCW      0x0010,0x0004
0002c8  0024000c          DCW      0x0024,0x000c
0002cc  00000000          DCW      0x0000,0x0000
0002d0  00000002          DCW      0x0000,0x0002
0002d4  003b0025          DCW      0x003b,0x0025
0002d8  00040025          DCW      0x0004,0x0025
0002dc  00110004          DCW      0x0011,0x0004
0002e0  0025000d          DCW      0x0025,0x000d
0002e4  000a015a          DCW      0x000a,0x015a
0002e8  011200d8          DCW      0x0112,0x00d8
0002ec  009a007a          DCW      0x009a,0x007a
0002f0  0002001c          DCW      0x0002,0x001c
0002f4  00320000          DCW      0x0032,0x0000
0002f8  00000000          DCW      0x0000,0x0000
0002fc  00000002          DCW      0x0000,0x0002
000300  00560044          DCW      0x0056,0x0044
000304  00040045          DCW      0x0004,0x0045
000308  002b0006          DCW      0x002b,0x0006
00030c  002b0013          DCW      0x002b,0x0013
000310  0006002b          DCW      0x0006,0x002b
000314  000f0002          DCW      0x000f,0x0002
000318  00570045          DCW      0x0057,0x0045
00031c  00010046          DCW      0x0001,0x0046
000320  002c0002          DCW      0x002c,0x0002
000324  002c0014          DCW      0x002c,0x0014
000328  0002002c          DCW      0x0002,0x002c
00032c  0010000b          DCW      0x0010,0x000b
000330  01940144          DCW      0x0194,0x0144
000334  00fe00b4          DCW      0x00fe,0x00b4
000338  008c0002          DCW      0x008c,0x0002
00033c  001e0036          DCW      0x001e,0x0036
000340  00000000          DCW      0x0000,0x0000
000344  00000000          DCW      0x0000,0x0000
000348  00040065          DCW      0x0004,0x0065
00034c  00510001          DCW      0x0051,0x0001
000350  00500032          DCW      0x0050,0x0032
000354  00040032          DCW      0x0004,0x0032
000358  00160003          DCW      0x0016,0x0003
00035c  0024000c          DCW      0x0024,0x000c
000360  00000000          DCW      0x0000,0x0000
000364  00000004          DCW      0x0000,0x0004
000368  00510033          DCW      0x0051,0x0033
00036c  00040033          DCW      0x0004,0x0033
000370  00170008          DCW      0x0017,0x0008
000374  0025000d          DCW      0x0025,0x000d
000378  000c01d2          DCW      0x000c,0x01d2
00037c  01720122          DCW      0x0172,0x0122
000380  00ce009e          DCW      0x00ce,0x009e
000384  00020020          DCW      0x0002,0x0020
000388  003a0000          DCW      0x003a,0x0000
00038c  00000000          DCW      0x0000,0x0000
000390  00000002          DCW      0x0000,0x0002
000394  0074005c          DCW      0x0074,0x005c
000398  0006003a          DCW      0x0006,0x003a
00039c  00240004          DCW      0x0024,0x0004
0003a0  002e0014          DCW      0x002e,0x0014
0003a4  0007002a          DCW      0x0007,0x002a
0003a8  000e0002          DCW      0x000e,0x0002
0003ac  0075005d          DCW      0x0075,0x005d
0003b0  0002003b          DCW      0x0002,0x003b
0003b4  00250006          DCW      0x0025,0x0006
0003b8  002f0015          DCW      0x002f,0x0015
0003bc  0004002b          DCW      0x0004,0x002b
0003c0  000f000d          DCW      0x000f,0x000d
0003c4  021401ac          DCW      0x0214,0x01ac
0003c8  014e00f4          DCW      0x014e,0x00f4
0003cc  00b40002          DCW      0x00b4,0x0002
0003d0  0022003e          DCW      0x0022,0x003e
0003d4  00000000          DCW      0x0000,0x0000
0003d8  00000000          DCW      0x0000,0x0000
0003dc  00040085          DCW      0x0004,0x0085
0003e0  006b0008          DCW      0x006b,0x0008
0003e4  003b0025          DCW      0x003b,0x0025
0003e8  0008002c          DCW      0x0008,0x002c
0003ec  0014000c          DCW      0x0014,0x000c
0003f0  0021000b          DCW      0x0021,0x000b
0003f4  00000000          DCW      0x0000,0x0000
0003f8  00000001          DCW      0x0000,0x0001
0003fc  003c0026          DCW      0x003c,0x0026
000400  0004002d          DCW      0x0004,0x002d
000404  00150004          DCW      0x0015,0x0004
000408  0022000c          DCW      0x0022,0x000c
00040c  000e0245          DCW      0x000e,0x0245
000410  01cd016d          DCW      0x01cd,0x016d
000414  010500c5          DCW      0x0105,0x00c5
000418  0003001a          DCW      0x0003,0x001a
00041c  002e0042          DCW      0x002e,0x0042
000420  00000000          DCW      0x0000,0x0000
000424  00000003          DCW      0x0000,0x0003
000428  00910073          DCW      0x0091,0x0073
00042c  00040040          DCW      0x0004,0x0040
000430  0028000b          DCW      0x0028,0x000b
000434  00240010          DCW      0x0024,0x0010
000438  000b0024          DCW      0x000b,0x0024
00043c  000c0001          DCW      0x000c,0x0001
000440  00920074          DCW      0x0092,0x0074
000444  00050041          DCW      0x0005,0x0041
000448  00290005          DCW      0x0029,0x0005
00044c  00250011          DCW      0x0025,0x0011
000450  00050025          DCW      0x0005,0x0025
000454  000d000f          DCW      0x000d,0x000f
000458  028f020b          DCW      0x028f,0x020b
00045c  019f0127          DCW      0x019f,0x0127
000460  00df0003          DCW      0x00df,0x0003
000464  001a0030          DCW      0x001a,0x0030
000468  00460000          DCW      0x0046,0x0000
00046c  00000000          DCW      0x0000,0x0000
000470  0005006d          DCW      0x0005,0x006d
000474  00570005          DCW      0x0057,0x0005
000478  00410029          DCW      0x0041,0x0029
00047c  00050036          DCW      0x0005,0x0036
000480  0018000b          DCW      0x0018,0x000b
000484  0024000c          DCW      0x0024,0x000c
000488  0001006e          DCW      0x0001,0x006e
00048c  00580005          DCW      0x0058,0x0005
000490  0042002a          DCW      0x0042,0x002a
000494  00070037          DCW      0x0007,0x0037
000498  00190007          DCW      0x0019,0x0007
00049c  0025000d          DCW      0x0025,0x000d
0004a0  001002dd          DCW      0x0010,0x02dd
0004a4  024d01c5          DCW      0x024d,0x01c5
0004a8  014500fd          DCW      0x0145,0x00fd
0004ac  0003001a          DCW      0x0003,0x001a
0004b0  0032004a          DCW      0x0032,0x004a
0004b4  00000000          DCW      0x0000,0x0000
0004b8  00000005          DCW      0x0000,0x0005
0004bc  007a0062          DCW      0x007a,0x0062
0004c0  00070049          DCW      0x0007,0x0049
0004c4  002d000f          DCW      0x002d,0x000f
0004c8  002b0013          DCW      0x002b,0x0013
0004cc  0003002d          DCW      0x0003,0x002d
0004d0  000f0001          DCW      0x000f,0x0001
0004d4  007b0063          DCW      0x007b,0x0063
0004d8  0003004a          DCW      0x0003,0x004a
0004dc  002e0002          DCW      0x002e,0x0002
0004e0  002c0014          DCW      0x002c,0x0014
0004e4  000d002e          DCW      0x000d,0x002e
0004e8  00100011          DCW      0x0010,0x0011
0004ec  032f0287          DCW      0x032f,0x0287
0004f0  01fb016f          DCW      0x01fb,0x016f
0004f4  011b0003          DCW      0x011b,0x0003
0004f8  001e0036          DCW      0x001e,0x0036
0004fc  004e0000          DCW      0x004e,0x0000
000500  00000000          DCW      0x0000,0x0000
000504  00010087          DCW      0x0001,0x0087
000508  006b000a          DCW      0x006b,0x000a
00050c  004a002e          DCW      0x004a,0x002e
000510  00010032          DCW      0x0001,0x0032
000514  00160002          DCW      0x0016,0x0002
000518  002a000e          DCW      0x002a,0x000e
00051c  00050088          DCW      0x0005,0x0088
000520  006c0001          DCW      0x006c,0x0001
000524  004b002f          DCW      0x004b,0x002f
000528  000f0033          DCW      0x000f,0x0033
00052c  00170011          DCW      0x0017,0x0011
000530  002b000f          DCW      0x002b,0x000f
000534  00120385          DCW      0x0012,0x0385
000538  02d10233          DCW      0x02d1,0x0233
00053c  018d0139          DCW      0x018d,0x0139
000540  0003001e          DCW      0x0003,0x001e
000544  00380052          DCW      0x0038,0x0052
000548  00000000          DCW      0x0000,0x0000
00054c  00000005          DCW      0x0000,0x0005
000550  00960078          DCW      0x0096,0x0078
000554  00090045          DCW      0x0009,0x0045
000558  002b0011          DCW      0x002b,0x0011
00055c  00320016          DCW      0x0032,0x0016
000560  0002002a          DCW      0x0002,0x002a
000564  000e0001          DCW      0x000e,0x0001
000568  00970079          DCW      0x0097,0x0079
00056c  00040046          DCW      0x0004,0x0046
000570  002c0001          DCW      0x002c,0x0001
000574  00330017          DCW      0x0033,0x0017
000578  0013002b          DCW      0x0013,0x002b
00057c  000f0013          DCW      0x000f,0x0013
000580  03df031b          DCW      0x03df,0x031b
000584  027301bd          DCW      0x0273,0x01bd
000588  01550003          DCW      0x0155,0x0003
00058c  001e003a          DCW      0x001e,0x003a
000590  00560000          DCW      0x0056,0x0000
000594  00000000          DCW      0x0000,0x0000
000598  0003008d          DCW      0x0003,0x008d
00059c  00710003          DCW      0x0071,0x0003
0005a0  0046002c          DCW      0x0046,0x002c
0005a4  0011002f          DCW      0x0011,0x002f
0005a8  00150009          DCW      0x0015,0x0009
0005ac  0027000d          DCW      0x0027,0x000d
0005b0  0004008e          DCW      0x0004,0x008e
0005b4  0072000b          DCW      0x0072,0x000b
0005b8  0047002d          DCW      0x0047,0x002d
0005bc  00040030          DCW      0x0004,0x0030
0005c0  00160010          DCW      0x0016,0x0010
0005c4  0028000e          DCW      0x0028,0x000e
0005c8  0014043d          DCW      0x0014,0x043d
0005cc  035d029d          DCW      0x035d,0x029d
0005d0  01e50181          DCW      0x01e5,0x0181
0005d4  00030022          DCW      0x0003,0x0022
0005d8  003e005a          DCW      0x003e,0x005a
0005dc  00000000          DCW      0x0000,0x0000
0005e0  00000003          DCW      0x0000,0x0003
0005e4  0087006b          DCW      0x0087,0x006b
0005e8  00030043          DCW      0x0003,0x0043
0005ec  0029000f          DCW      0x0029,0x000f
0005f0  00360018          DCW      0x0036,0x0018
0005f4  000f002b          DCW      0x000f,0x002b
0005f8  000f0005          DCW      0x000f,0x0005
0005fc  0088006c          DCW      0x0088,0x006c
000600  000d0044          DCW      0x000d,0x0044
000604  002a0005          DCW      0x002a,0x0005
000608  00370019          DCW      0x0037,0x0019
00060c  000a002c          DCW      0x000a,0x002c
000610  00100015          DCW      0x0010,0x0015
000614  048403a4          DCW      0x0484,0x03a4
000618  02ca0200          DCW      0x02ca,0x0200
00061c  01960004          DCW      0x0196,0x0004
000620  001c0032          DCW      0x001c,0x0032
000624  0048005e          DCW      0x0048,0x005e
000628  00000000          DCW      0x0000,0x0000
00062c  00040090          DCW      0x0004,0x0090
000630  00740011          DCW      0x0074,0x0011
000634  0044002a          DCW      0x0044,0x002a
000638  00110032          DCW      0x0011,0x0032
00063c  00160013          DCW      0x0016,0x0013
000640  002e0010          DCW      0x002e,0x0010
000644  00040091          DCW      0x0004,0x0091
000648  00750000          DCW      0x0075,0x0000
00064c  00000000          DCW      0x0000,0x0000
000650  00060033          DCW      0x0006,0x0033
000654  00170006          DCW      0x0017,0x0006
000658  002f0011          DCW      0x002f,0x0011
00065c  001604ea          DCW      0x0016,0x04ea
000660  03ee030e          DCW      0x03ee,0x030e
000664  023801ba          DCW      0x0238,0x01ba
000668  0004001a          DCW      0x0004,0x001a
00066c  0032004a          DCW      0x0032,0x004a
000670  00620000          DCW      0x0062,0x0000
000674  00000002          DCW      0x0000,0x0002
000678  008b006f          DCW      0x008b,0x006f
00067c  0011004a          DCW      0x0011,0x004a
000680  002e0007          DCW      0x002e,0x0007
000684  00360018          DCW      0x0036,0x0018
000688  00220025          DCW      0x0022,0x0025
00068c  000d0007          DCW      0x000d,0x0007
000690  008c0070          DCW      0x008c,0x0070
000694  00000000          DCW      0x0000,0x0000
000698  00000010          DCW      0x0000,0x0010
00069c  00370019          DCW      0x0037,0x0019
0006a0  00000000          DCW      0x0000,0x0000
0006a4  00000017          DCW      0x0000,0x0017
0006a8  05540446          DCW      0x0554,0x0446
0006ac  035c0266          DCW      0x035c,0x0266
0006b0  01d00004          DCW      0x01d0,0x0004
0006b4  001e0036          DCW      0x001e,0x0036
0006b8  004e0066          DCW      0x004e,0x0066
0006bc  00000000          DCW      0x0000,0x0000
0006c0  00040097          DCW      0x0004,0x0097
0006c4  00790004          DCW      0x0079,0x0004
0006c8  004b002f          DCW      0x004b,0x002f
0006cc  000b0036          DCW      0x000b,0x0036
0006d0  00180010          DCW      0x0018,0x0010
0006d4  002d000f          DCW      0x002d,0x000f
0006d8  00050098          DCW      0x0005,0x0098
0006dc  007a000e          DCW      0x007a,0x000e
0006e0  004c0030          DCW      0x004c,0x0030
0006e4  000e0037          DCW      0x000e,0x0037
0006e8  0019000e          DCW      0x0019,0x000e
0006ec  002e0010          DCW      0x002e,0x0010
0006f0  001805c2          DCW      0x0018,0x05c2
0006f4  04960392          DCW      0x0496,0x0392
0006f8  02980202          DCW      0x0298,0x0202
0006fc  0004001c          DCW      0x0004,0x001c
000700  00360050          DCW      0x0036,0x0050
000704  006a0000          DCW      0x006a,0x0000
000708  00000006          DCW      0x0000,0x0006
00070c  00930075          DCW      0x0093,0x0075
000710  00060049          DCW      0x0006,0x0049
000714  002d000b          DCW      0x002d,0x000b
000718  00360018          DCW      0x0036,0x0018
00071c  001e002e          DCW      0x001e,0x002e
000720  00100004          DCW      0x0010,0x0004
000724  00940076          DCW      0x0094,0x0076
000728  000e004a          DCW      0x000e,0x004a
00072c  002e0010          DCW      0x002e,0x0010
000730  00370019          DCW      0x0037,0x0019
000734  0002002f          DCW      0x0002,0x002f
000738  00110019          DCW      0x0011,0x0019
00073c  063404fc          DCW      0x0634,0x04fc
000740  03e802ce          DCW      0x03e8,0x02ce
000744  021a0004          DCW      0x021a,0x0004
000748  0020003a          DCW      0x0020,0x003a
00074c  0054006e          DCW      0x0054,0x006e
000750  00000000          DCW      0x0000,0x0000
000754  00080084          DCW      0x0008,0x0084
000758  006a0008          DCW      0x006a,0x0008
00075c  004b002f          DCW      0x004b,0x002f
000760  00070036          DCW      0x0007,0x0036
000764  00180016          DCW      0x0018,0x0016
000768  002d000f          DCW      0x002d,0x000f
00076c  00040085          DCW      0x0004,0x0085
000770  006b000d          DCW      0x006b,0x000d
000774  004c0030          DCW      0x004c,0x0030
000778  00160037          DCW      0x0016,0x0037
00077c  0019000d          DCW      0x0019,0x000d
000780  002e0010          DCW      0x002e,0x0010
000784  001a06aa          DCW      0x001a,0x06aa
000788  055a0426          DCW      0x055a,0x0426
00078c  02f20254          DCW      0x02f2,0x0254
000790  0004001e          DCW      0x0004,0x001e
000794  003a0056          DCW      0x003a,0x0056
000798  00720000          DCW      0x0072,0x0000
00079c  0000000a          DCW      0x0000,0x000a
0007a0  008e0072          DCW      0x008e,0x0072
0007a4  0013004a          DCW      0x0013,0x004a
0007a8  002e001c          DCW      0x002e,0x001c
0007ac  00320016          DCW      0x0032,0x0016
0007b0  0021002e          DCW      0x0021,0x002e
0007b4  00100002          DCW      0x0010,0x0002
0007b8  008f0073          DCW      0x008f,0x0073
0007bc  0004004b          DCW      0x0004,0x004b
0007c0  002f0006          DCW      0x002f,0x0006
0007c4  00330017          DCW      0x0033,0x0017
0007c8  0004002f          DCW      0x0004,0x002f
0007cc  0011001b          DCW      0x0011,0x001b
0007d0  072405bc          DCW      0x0724,0x05bc
0007d4  04680328          DCW      0x0468,0x0328
0007d8  02740004          DCW      0x0274,0x0004
0007dc  0022003e          DCW      0x0022,0x003e
0007e0  005a0076          DCW      0x005a,0x0076
0007e4  00000000          DCW      0x0000,0x0000
0007e8  00080098          DCW      0x0008,0x0098
0007ec  007a0016          DCW      0x007a,0x0016
0007f0  0049002d          DCW      0x0049,0x002d
0007f4  00080035          DCW      0x0008,0x0035
0007f8  0017000c          DCW      0x0017,0x000c
0007fc  002d000f          DCW      0x002d,0x000f
000800  00040099          DCW      0x0004,0x0099
000804  007b0003          DCW      0x007b,0x0003
000808  004a002e          DCW      0x004a,0x002e
00080c  001a0036          DCW      0x001a,0x0036
000810  0018001c          DCW      0x0018,0x001c
000814  002e0010          DCW      0x002e,0x0010
000818  001c0781          DCW      0x001c,0x0781
00081c  05fb04a9          DCW      0x05fb,0x04a9
000820  03670295          DCW      0x0367,0x0295
000824  0005001a          DCW      0x0005,0x001a
000828  0032004a          DCW      0x0032,0x004a
00082c  0062007a          DCW      0x0062,0x007a
000830  00000003          DCW      0x0000,0x0003
000834  00930075          DCW      0x0093,0x0075
000838  00030049          DCW      0x0003,0x0049
00083c  002d0004          DCW      0x002d,0x0004
000840  00360018          DCW      0x0036,0x0018
000844  000b002d          DCW      0x000b,0x002d
000848  000f000a          DCW      0x000f,0x000a
00084c  00940076          DCW      0x0094,0x0076
000850  0017004a          DCW      0x0017,0x004a
000854  002e001f          DCW      0x002e,0x001f
000858  00370019          DCW      0x0037,0x0019
00085c  001f002e          DCW      0x001f,0x002e
000860  0010001d          DCW      0x0010,0x001d
000864  0803065f          DCW      0x0803,0x065f
000868  04f3038f          DCW      0x04f3,0x038f
00086c  02bd0005          DCW      0x02bd,0x0005
000870  001e0036          DCW      0x001e,0x0036
000874  004e0066          DCW      0x004e,0x0066
000878  007e0000          DCW      0x007e,0x0000
00087c  00070092          DCW      0x0007,0x0092
000880  00740015          DCW      0x0074,0x0015
000884  0049002d          DCW      0x0049,0x002d
000888  00010035          DCW      0x0001,0x0035
00088c  00170013          DCW      0x0017,0x0013
000890  002d000f          DCW      0x002d,0x000f
000894  00070093          DCW      0x0007,0x0093
000898  00750007          DCW      0x0075,0x0007
00089c  004a002e          DCW      0x004a,0x002e
0008a0  00250036          DCW      0x0025,0x0036
0008a4  0018001a          DCW      0x0018,0x001a
0008a8  002e0010          DCW      0x002e,0x0010
0008ac  001e0889          DCW      0x001e,0x0889
0008b0  06c7055d          DCW      0x06c7,0x055d
0008b4  03d902e9          DCW      0x03d9,0x02e9
0008b8  0005001a          DCW      0x0005,0x001a
0008bc  0034004e          DCW      0x0034,0x004e
0008c0  00680082          DCW      0x0068,0x0082
0008c4  00000005          DCW      0x0000,0x0005
0008c8  00910073          DCW      0x0091,0x0073
0008cc  0013004b          DCW      0x0013,0x004b
0008d0  002f000f          DCW      0x002f,0x000f
0008d4  00360018          DCW      0x0036,0x0018
0008d8  0017002d          DCW      0x0017,0x002d
0008dc  000f000a          DCW      0x000f,0x000a
0008e0  00920074          DCW      0x0092,0x0074
0008e4  000a004c          DCW      0x000a,0x004c
0008e8  00300019          DCW      0x0030,0x0019
0008ec  00370019          DCW      0x0037,0x0019
0008f0  0019002e          DCW      0x0019,0x002e
0008f4  0010001f          DCW      0x0010,0x001f
0008f8  09130733          DCW      0x0913,0x0733
0008fc  05af0409          DCW      0x05af,0x0409
000900  03190005          DCW      0x0319,0x0005
000904  001e0038          DCW      0x001e,0x0038
000908  0052006c          DCW      0x0052,0x006c
00090c  00860000          DCW      0x0086,0x0000
000910  000d0091          DCW      0x000d,0x0091
000914  00730002          DCW      0x0073,0x0002
000918  004a002e          DCW      0x004a,0x002e
00091c  002a0036          DCW      0x002a,0x0036
000920  00180017          DCW      0x0018,0x0017
000924  002d000f          DCW      0x002d,0x000f
000928  00030092          DCW      0x0003,0x0092
00092c  0074001d          DCW      0x0074,0x001d
000930  004b002f          DCW      0x004b,0x002f
000934  00010037          DCW      0x0001,0x0037
000938  0019001c          DCW      0x0019,0x001c
00093c  002e0010          DCW      0x002e,0x0010
000940  002009a1          DCW      0x0020,0x09a1
000944  07a30605          DCW      0x07a3,0x0605
000948  045b034d          DCW      0x045b,0x034d
00094c  00050022          DCW      0x0005,0x0022
000950  003c0056          DCW      0x003c,0x0056
000954  0070008a          DCW      0x0070,0x008a
000958  00000011          DCW      0x0000,0x0011
00095c  00910073          DCW      0x0091,0x0073
000960  000a004a          DCW      0x000a,0x004a
000964  002e000a          DCW      0x002e,0x000a
000968  00360018          DCW      0x0036,0x0018
00096c  0013002d          DCW      0x0013,0x002d
000970  000f0000          DCW      0x000f,0x0000
000974  00000000          DCW      0x0000,0x0000
000978  0017004b          DCW      0x0017,0x004b
00097c  002f0023          DCW      0x002f,0x0023
000980  00370019          DCW      0x0037,0x0019
000984  0023002e          DCW      0x0023,0x002e
000988  00100021          DCW      0x0010,0x0021
00098c  0a330817          DCW      0x0a33,0x0817
000990  065f0493          DCW      0x065f,0x0493
000994  03850005          DCW      0x0385,0x0005
000998  001e003a          DCW      0x001e,0x003a
00099c  00560072          DCW      0x0056,0x0072
0009a0  008e0000          DCW      0x008e,0x0000
0009a4  00110091          DCW      0x0011,0x0091
0009a8  0073000e          DCW      0x0073,0x000e
0009ac  004a002e          DCW      0x004a,0x002e
0009b0  001d0036          DCW      0x001d,0x0036
0009b4  0018000b          DCW      0x0018,0x000b
0009b8  002d000f          DCW      0x002d,0x000f
0009bc  00010092          DCW      0x0001,0x0092
0009c0  00740015          DCW      0x0074,0x0015
0009c4  004b002f          DCW      0x004b,0x002f
0009c8  00130037          DCW      0x0013,0x0037
0009cc  0019002e          DCW      0x0019,0x002e
0009d0  002e0010          DCW      0x002e,0x0010
0009d4  00220ac9          DCW      0x0022,0x0ac9
0009d8  088f06bd          DCW      0x088f,0x06bd
0009dc  04cf03c1          DCW      0x04cf,0x03c1
0009e0  00050022          DCW      0x0005,0x0022
0009e4  003e005a          DCW      0x003e,0x005a
0009e8  00760092          DCW      0x0076,0x0092
0009ec  0000000d          DCW      0x0000,0x000d
0009f0  00910073          DCW      0x0091,0x0073
0009f4  000e004a          DCW      0x000e,0x004a
0009f8  002e002c          DCW      0x002e,0x002c
0009fc  00360018          DCW      0x0036,0x0018
000a00  003b002e          DCW      0x003b,0x002e
000a04  00100006          DCW      0x0010,0x0006
000a08  00920074          DCW      0x0092,0x0074
000a0c  0017004b          DCW      0x0017,0x004b
000a10  002f0007          DCW      0x002f,0x0007
000a14  00370019          DCW      0x0037,0x0019
000a18  0001002f          DCW      0x0001,0x002f
000a1c  00110023          DCW      0x0011,0x0023
000a20  0b3c0902          DCW      0x0b3c,0x0902
000a24  07140506          DCW      0x0714,0x0506
000a28  03da0006          DCW      0x03da,0x0006
000a2c  001e0036          DCW      0x001e,0x0036
000a30  004e0066          DCW      0x004e,0x0066
000a34  007e0096          DCW      0x007e,0x0096
000a38  000c0097          DCW      0x000c,0x0097
000a3c  0079000c          DCW      0x0079,0x000c
000a40  004b002f          DCW      0x004b,0x002f
000a44  00270036          DCW      0x0027,0x0036
000a48  00180016          DCW      0x0018,0x0016
000a4c  002d000f          DCW      0x002d,0x000f
000a50  00070098          DCW      0x0007,0x0098
000a54  007a001a          DCW      0x007a,0x001a
000a58  004c0030          DCW      0x004c,0x0030
000a5c  000e0037          DCW      0x000e,0x0037
000a60  00190029          DCW      0x0019,0x0029
000a64  002e0010          DCW      0x002e,0x0010
000a68  00240bda          DCW      0x0024,0x0bda
000a6c  0982077a          DCW      0x0982,0x077a
000a70  054a041e          DCW      0x054a,0x041e
000a74  00060018          DCW      0x0006,0x0018
000a78  0032004c          DCW      0x0032,0x004c
000a7c  00660080          DCW      0x0066,0x0080
000a80  009a0006          DCW      0x009a,0x0006
000a84  00970079          DCW      0x0097,0x0079
000a88  0006004b          DCW      0x0006,0x004b
000a8c  002f002e          DCW      0x002f,0x002e
000a90  00360018          DCW      0x0036,0x0018
000a94  0002002d          DCW      0x0002,0x002d
000a98  000f000e          DCW      0x000f,0x000e
000a9c  0098007a          DCW      0x0098,0x007a
000aa0  0022004c          DCW      0x0022,0x004c
000aa4  0030000a          DCW      0x0030,0x000a
000aa8  00370019          DCW      0x0037,0x0019
000aac  0040002e          DCW      0x0040,0x002e
000ab0  00100025          DCW      0x0010,0x0025
000ab4  0c7c0a06          DCW      0x0c7c,0x0a06
000ab8  07c80592          DCW      0x07c8,0x0592
000abc  04480006          DCW      0x0448,0x0006
000ac0  001c0036          DCW      0x001c,0x0036
000ac4  0050006a          DCW      0x0050,0x006a
000ac8  0084009e          DCW      0x0084,0x009e
000acc  00110098          DCW      0x0011,0x0098
000ad0  007a001d          DCW      0x007a,0x001d
000ad4  004a002e          DCW      0x004a,0x002e
000ad8  00310036          DCW      0x0031,0x0036
000adc  00180018          DCW      0x0018,0x0018
000ae0  002d000f          DCW      0x002d,0x000f
000ae4  00040099          DCW      0x0004,0x0099
000ae8  007b000e          DCW      0x007b,0x000e
000aec  004b002f          DCW      0x004b,0x002f
000af0  000a0037          DCW      0x000a,0x0037
000af4  0019002e          DCW      0x0019,0x002e
000af8  002e0010          DCW      0x002e,0x0010
000afc  00260d22          DCW      0x0026,0x0d22
000b00  0a8e0836          DCW      0x0a8e,0x0836
000b04  05de0476          DCW      0x05de,0x0476
000b08  00060020          DCW      0x0006,0x0020
000b0c  003a0054          DCW      0x003a,0x0054
000b10  006e0088          DCW      0x006e,0x0088
000b14  00a20004          DCW      0x00a2,0x0004
000b18  0098007a          DCW      0x0098,0x007a
000b1c  000d004a          DCW      0x000d,0x004a
000b20  002e0030          DCW      0x002e,0x0030
000b24  00360018          DCW      0x0036,0x0018
000b28  002a002d          DCW      0x002a,0x002d
000b2c  000f0012          DCW      0x000f,0x0012
000b30  0099007b          DCW      0x0099,0x007b
000b34  0020004b          DCW      0x0020,0x004b
000b38  002f000e          DCW      0x002f,0x000e
000b3c  00370019          DCW      0x0037,0x0019
000b40  0020002e          DCW      0x0020,0x002e
000b44  00100027          DCW      0x0010,0x0027
000b48  0dcc0afc          DCW      0x0dcc,0x0afc
000b4c  08a8062e          DCW      0x08a8,0x062e
000b50  04c60006          DCW      0x04c6,0x0006
000b54  001a0036          DCW      0x001a,0x0036
000b58  0052006e          DCW      0x0052,0x006e
000b5c  008a00a6          DCW      0x008a,0x00a6
000b60  00140093          DCW      0x0014,0x0093
000b64  00750028          DCW      0x0075,0x0028
000b68  004b002f          DCW      0x004b,0x002f
000b6c  002b0036          DCW      0x002b,0x0036
000b70  0018000a          DCW      0x0018,0x000a
000b74  002d000f          DCW      0x002d,0x000f
000b78  00040094          DCW      0x0004,0x0094
000b7c  00760007          DCW      0x0076,0x0007
000b80  004c0030          DCW      0x004c,0x0030
000b84  00160037          DCW      0x0016,0x0037
000b88  00190043          DCW      0x0019,0x0043
000b8c  002e0010          DCW      0x002e,0x0010
000b90  00280e7a          DCW      0x0028,0x0e7a
000b94  0b8c091e          DCW      0x0b8c,0x091e
000b98  068204fc          DCW      0x0682,0x04fc
000b9c  0006001e          DCW      0x0006,0x001e
000ba0  003a0056          DCW      0x003a,0x0056
000ba4  0072008e          DCW      0x0072,0x008e
000ba8  00aa0013          DCW      0x00aa,0x0013
000bac  00940076          DCW      0x0094,0x0076
000bb0  0012004b          DCW      0x0012,0x004b
000bb4  002f0022          DCW      0x002f,0x0022
000bb8  00360018          DCW      0x0036,0x0018
000bbc  0014002d          DCW      0x0014,0x002d
000bc0  000f0006          DCW      0x000f,0x0006
000bc4  00950077          DCW      0x0095,0x0077
000bc8  001f004c          DCW      0x001f,0x004c
000bcc  00300022          DCW      0x0030,0x0022
000bd0  00370019          DCW      0x0037,0x0019
000bd4  003d002e          DCW      0x003d,0x002e
000bd8  0010              DCW      0x0010
                  byExpToInt
000bda  0102              DCB      0x01,0x02
000bdc  04081020          DCB      0x04,0x08,0x10,0x20
000be0  40801d3a          DCB      0x40,0x80,0x1d,0x3a
000be4  74e8cd87          DCB      0x74,0xe8,0xcd,0x87
000be8  13264c98          DCB      0x13,0x26,0x4c,0x98
000bec  2d5ab475          DCB      0x2d,0x5a,0xb4,0x75
000bf0  eac98f03          DCB      0xea,0xc9,0x8f,0x03
000bf4  060c1830          DCB      0x06,0x0c,0x18,0x30
000bf8  60c09d27          DCB      0x60,0xc0,0x9d,0x27
000bfc  4e9c254a          DCB      0x4e,0x9c,0x25,0x4a
000c00  94356ad4          DCB      0x94,0x35,0x6a,0xd4
000c04  b577eec1          DCB      0xb5,0x77,0xee,0xc1
000c08  9f23468c          DCB      0x9f,0x23,0x46,0x8c
000c0c  050a1428          DCB      0x05,0x0a,0x14,0x28
000c10  50a05dba          DCB      0x50,0xa0,0x5d,0xba
000c14  69d2b96f          DCB      0x69,0xd2,0xb9,0x6f
000c18  dea15fbe          DCB      0xde,0xa1,0x5f,0xbe
000c1c  61c2992f          DCB      0x61,0xc2,0x99,0x2f
000c20  5ebc65ca          DCB      0x5e,0xbc,0x65,0xca
000c24  890f1e3c          DCB      0x89,0x0f,0x1e,0x3c
000c28  78f0fde7          DCB      0x78,0xf0,0xfd,0xe7
000c2c  d3bb6bd6          DCB      0xd3,0xbb,0x6b,0xd6
000c30  b17ffee1          DCB      0xb1,0x7f,0xfe,0xe1
000c34  dfa35bb6          DCB      0xdf,0xa3,0x5b,0xb6
000c38  71e2d9af          DCB      0x71,0xe2,0xd9,0xaf
000c3c  43861122          DCB      0x43,0x86,0x11,0x22
000c40  44880d1a          DCB      0x44,0x88,0x0d,0x1a
000c44  3468d0bd          DCB      0x34,0x68,0xd0,0xbd
000c48  67ce811f          DCB      0x67,0xce,0x81,0x1f
000c4c  3e7cf8ed          DCB      0x3e,0x7c,0xf8,0xed
000c50  c7933b76          DCB      0xc7,0x93,0x3b,0x76
000c54  ecc59733          DCB      0xec,0xc5,0x97,0x33
000c58  66cc8517          DCB      0x66,0xcc,0x85,0x17
000c5c  2e5cb86d          DCB      0x2e,0x5c,0xb8,0x6d
000c60  daa94f9e          DCB      0xda,0xa9,0x4f,0x9e
000c64  21428415          DCB      0x21,0x42,0x84,0x15
000c68  2a54a84d          DCB      0x2a,0x54,0xa8,0x4d
000c6c  9a2952a4          DCB      0x9a,0x29,0x52,0xa4
000c70  55aa4992          DCB      0x55,0xaa,0x49,0x92
000c74  3972e4d5          DCB      0x39,0x72,0xe4,0xd5
000c78  b773e6d1          DCB      0xb7,0x73,0xe6,0xd1
000c7c  bf63c691          DCB      0xbf,0x63,0xc6,0x91
000c80  3f7efce5          DCB      0x3f,0x7e,0xfc,0xe5
000c84  d7b37bf6          DCB      0xd7,0xb3,0x7b,0xf6
000c88  f1ffe3db          DCB      0xf1,0xff,0xe3,0xdb
000c8c  ab4b9631          DCB      0xab,0x4b,0x96,0x31
000c90  62c49537          DCB      0x62,0xc4,0x95,0x37
000c94  6edca557          DCB      0x6e,0xdc,0xa5,0x57
000c98  ae418219          DCB      0xae,0x41,0x82,0x19
000c9c  3264c88d          DCB      0x32,0x64,0xc8,0x8d
000ca0  070e1c38          DCB      0x07,0x0e,0x1c,0x38
000ca4  70e0dda7          DCB      0x70,0xe0,0xdd,0xa7
000ca8  53a651a2          DCB      0x53,0xa6,0x51,0xa2
000cac  59b279f2          DCB      0x59,0xb2,0x79,0xf2
000cb0  f9efc39b          DCB      0xf9,0xef,0xc3,0x9b
000cb4  2b56ac45          DCB      0x2b,0x56,0xac,0x45
000cb8  8a091224          DCB      0x8a,0x09,0x12,0x24
000cbc  48903d7a          DCB      0x48,0x90,0x3d,0x7a
000cc0  f4f5f7f3          DCB      0xf4,0xf5,0xf7,0xf3
000cc4  fbebcb8b          DCB      0xfb,0xeb,0xcb,0x8b
000cc8  0b162c58          DCB      0x0b,0x16,0x2c,0x58
000ccc  b07dfae9          DCB      0xb0,0x7d,0xfa,0xe9
000cd0  cf831b36          DCB      0xcf,0x83,0x1b,0x36
000cd4  6cd8ad47          DCB      0x6c,0xd8,0xad,0x47
000cd8  8e01              DCB      0x8e,0x01
                  byIntToExp
000cda  0000              DCB      0x00,0x00
000cdc  01190232          DCB      0x01,0x19,0x02,0x32
000ce0  1ac603df          DCB      0x1a,0xc6,0x03,0xdf
000ce4  33ee1b68          DCB      0x33,0xee,0x1b,0x68
000ce8  c74b0464          DCB      0xc7,0x4b,0x04,0x64
000cec  e00e348d          DCB      0xe0,0x0e,0x34,0x8d
000cf0  ef811cc1          DCB      0xef,0x81,0x1c,0xc1
000cf4  69f8c808          DCB      0x69,0xf8,0xc8,0x08
000cf8  4c71058a          DCB      0x4c,0x71,0x05,0x8a
000cfc  652fe124          DCB      0x65,0x2f,0xe1,0x24
000d00  0f213593          DCB      0x0f,0x21,0x35,0x93
000d04  8edaf012          DCB      0x8e,0xda,0xf0,0x12
000d08  82451db5          DCB      0x82,0x45,0x1d,0xb5
000d0c  c27d6a27          DCB      0xc2,0x7d,0x6a,0x27
000d10  f9b9c99a          DCB      0xf9,0xb9,0xc9,0x9a
000d14  09784de4          DCB      0x09,0x78,0x4d,0xe4
000d18  72a606bf          DCB      0x72,0xa6,0x06,0xbf
000d1c  8b6266dd          DCB      0x8b,0x62,0x66,0xdd
000d20  30fde298          DCB      0x30,0xfd,0xe2,0x98
000d24  25b31091          DCB      0x25,0xb3,0x10,0x91
000d28  228836d0          DCB      0x22,0x88,0x36,0xd0
000d2c  94ce8f96          DCB      0x94,0xce,0x8f,0x96
000d30  dbbdf1d2          DCB      0xdb,0xbd,0xf1,0xd2
000d34  135c8338          DCB      0x13,0x5c,0x83,0x38
000d38  46401e42          DCB      0x46,0x40,0x1e,0x42
000d3c  b6a3c348          DCB      0xb6,0xa3,0xc3,0x48
000d40  7e6e6b3a          DCB      0x7e,0x6e,0x6b,0x3a
000d44  2854fa85          DCB      0x28,0x54,0xfa,0x85
000d48  ba3dca5e          DCB      0xba,0x3d,0xca,0x5e
000d4c  9b9f0a15          DCB      0x9b,0x9f,0x0a,0x15
000d50  792b4ed4          DCB      0x79,0x2b,0x4e,0xd4
000d54  e5ac73f3          DCB      0xe5,0xac,0x73,0xf3
000d58  a7570770          DCB      0xa7,0x57,0x07,0x70
000d5c  c0f78c80          DCB      0xc0,0xf7,0x8c,0x80
000d60  630d674a          DCB      0x63,0x0d,0x67,0x4a
000d64  deed31c5          DCB      0xde,0xed,0x31,0xc5
000d68  fe18e3a5          DCB      0xfe,0x18,0xe3,0xa5
000d6c  997726b8          DCB      0x99,0x77,0x26,0xb8
000d70  b47c1144          DCB      0xb4,0x7c,0x11,0x44
000d74  92d92320          DCB      0x92,0xd9,0x23,0x20
000d78  892e373f          DCB      0x89,0x2e,0x37,0x3f
000d7c  d15b95bc          DCB      0xd1,0x5b,0x95,0xbc
000d80  cfcd9087          DCB      0xcf,0xcd,0x90,0x87
000d84  97b2dcfc          DCB      0x97,0xb2,0xdc,0xfc
000d88  be61f256          DCB      0xbe,0x61,0xf2,0x56
000d8c  d3ab142a          DCB      0xd3,0xab,0x14,0x2a
000d90  5d9e843c          DCB      0x5d,0x9e,0x84,0x3c
000d94  3953476d          DCB      0x39,0x53,0x47,0x6d
000d98  41a21f2d          DCB      0x41,0xa2,0x1f,0x2d
000d9c  43d8b77b          DCB      0x43,0xd8,0xb7,0x7b
000da0  a476c417          DCB      0xa4,0x76,0xc4,0x17
000da4  49ec7f0c          DCB      0x49,0xec,0x7f,0x0c
000da8  6ff66ca1          DCB      0x6f,0xf6,0x6c,0xa1
000dac  3b52299d          DCB      0x3b,0x52,0x29,0x9d
000db0  55aafb60          DCB      0x55,0xaa,0xfb,0x60
000db4  86b1bbcc          DCB      0x86,0xb1,0xbb,0xcc
000db8  3e5acb59          DCB      0x3e,0x5a,0xcb,0x59
000dbc  5fb09ca9          DCB      0x5f,0xb0,0x9c,0xa9
000dc0  a0510bf5          DCB      0xa0,0x51,0x0b,0xf5
000dc4  16eb7a75          DCB      0x16,0xeb,0x7a,0x75
000dc8  2cd74fae          DCB      0x2c,0xd7,0x4f,0xae
000dcc  d5e9e6e7          DCB      0xd5,0xe9,0xe6,0xe7
000dd0  ade874d6          DCB      0xad,0xe8,0x74,0xd6
000dd4  f4eaa850          DCB      0xf4,0xea,0xa8,0x50
000dd8  58af              DCB      0x58,0xaf
                  byRSExp7
000dda  57e5              DCB      0x57,0xe5
000ddc  9295ee66          DCB      0x92,0x95,0xee,0x66
000de0  15                DCB      0x15
                  byRSExp10
000de1  fb432e            DCB      0xfb,0x43,0x2e
000de4  3d764640          DCB      0x3d,0x76,0x46,0x40
000de8  5e202d            DCB      0x5e,0x20,0x2d
                  byRSExp13
000deb  4a                DCB      0x4a
000dec  98b06456          DCB      0x98,0xb0,0x64,0x56
000df0  646a6882          DCB      0x64,0x6a,0x68,0x82
000df4  dace8c4e          DCB      0xda,0xce,0x8c,0x4e
                  byRSExp15
000df8  08b73d5b          DCB      0x08,0xb7,0x3d,0x5b
000dfc  ca25333a          DCB      0xca,0x25,0x33,0x3a
000e00  3aed8c7c          DCB      0x3a,0xed,0x8c,0x7c
000e04  056369            DCB      0x05,0x63,0x69
                  byRSExp16
000e07  78                DCB      0x78
000e08  686b6d66          DCB      0x68,0x6b,0x6d,0x66
000e0c  a14c035b          DCB      0xa1,0x4c,0x03,0x5b
000e10  bf93a9b6          DCB      0xbf,0x93,0xa9,0xb6
000e14  c2e178            DCB      0xc2,0xe1,0x78
                  byRSExp17
000e17  2b                DCB      0x2b
000e18  8bce4e2b          DCB      0x8b,0xce,0x4e,0x2b
000e1c  ef7bced6          DCB      0xef,0x7b,0xce,0xd6
000e20  93186396          DCB      0x93,0x18,0x63,0x96
000e24  27f3a388          DCB      0x27,0xf3,0xa3,0x88
                  byRSExp18
000e28  d7ea9e5e          DCB      0xd7,0xea,0x9e,0x5e
000e2c  b86176aa          DCB      0xb8,0x61,0x76,0xaa
000e30  4fbb9894          DCB      0x4f,0xbb,0x98,0x94
000e34  fcb30562          DCB      0xfc,0xb3,0x05,0x62
000e38  6099              DCB      0x60,0x99
                  byRSExp20
000e3a  113c              DCB      0x11,0x3c
000e3c  4f323da3          DCB      0x4f,0x32,0x3d,0xa3
000e40  1abbcab4          DCB      0x1a,0xbb,0xca,0xb4
000e44  dde153ef          DCB      0xdd,0xe1,0x53,0xef
000e48  9ca4d4d4          DCB      0x9c,0xa4,0xd4,0xd4
000e4c  bcbe              DCB      0xbc,0xbe
                  byRSExp22
000e4e  d2ab              DCB      0xd2,0xab
000e50  f7f25de6          DCB      0xf7,0xf2,0x5d,0xe6
000e54  0e6ddd35          DCB      0x0e,0x6d,0xdd,0x35
000e58  c84a08ac          DCB      0xc8,0x4a,0x08,0xac
000e5c  6250db86          DCB      0x62,0x50,0xdb,0x86
000e60  a069a5e7          DCB      0xa0,0x69,0xa5,0xe7
                  byRSExp24
000e64  e5798730          DCB      0xe5,0x79,0x87,0x30
000e68  d375fb7e          DCB      0xd3,0x75,0xfb,0x7e
000e6c  9fb4a998          DCB      0x9f,0xb4,0xa9,0x98
000e70  c0e2e4da          DCB      0xc0,0xe2,0xe4,0xda
000e74  6f0075e8          DCB      0x6f,0x00,0x75,0xe8
000e78  5760e315          DCB      0x57,0x60,0xe3,0x15
                  byRSExp26
000e7c  ad7d9e02          DCB      0xad,0x7d,0x9e,0x02
000e80  67b67611          DCB      0x67,0xb6,0x76,0x11
000e84  91c96f1c          DCB      0x91,0xc9,0x6f,0x1c
000e88  a535a115          DCB      0xa5,0x35,0xa1,0x15
000e8c  f58e0d66          DCB      0xf5,0x8e,0x0d,0x66
000e90  30e39991          DCB      0x30,0xe3,0x99,0x91
000e94  da46              DCB      0xda,0x46
                  byRSExp28
000e96  a8df              DCB      0xa8,0xdf
000e98  c868e0ea          DCB      0xc8,0x68,0xe0,0xea
000e9c  6cb46ebe          DCB      0x6c,0xb4,0x6e,0xbe
000ea0  c393cd1b          DCB      0xc3,0x93,0xcd,0x1b
000ea4  e8c9152b          DCB      0xe8,0xc9,0x15,0x2b
000ea8  f5572ac3          DCB      0xf5,0x57,0x2a,0xc3
000eac  d477f225          DCB      0xd4,0x77,0xf2,0x25
000eb0  097b              DCB      0x09,0x7b
                  byRSExp30
000eb2  29ad              DCB      0x29,0xad
000eb4  9198d81f          DCB      0x91,0x98,0xd8,0x1f
000eb8  b3b63230          DCB      0xb3,0xb6,0x32,0x30
000ebc  6e56ef60          DCB      0x6e,0x56,0xef,0x60
000ec0  de7d2aad          DCB      0xde,0x7d,0x2a,0xad
000ec4  e2c1e082          DCB      0xe2,0xc1,0xe0,0x82
000ec8  9c25fbd8          DCB      0x9c,0x25,0xfb,0xd8
000ecc  ee28c0b4          DCB      0xee,0x28,0xc0,0xb4
                  byRSExp32
000ed0  0a066abe          DCB      0x0a,0x06,0x6a,0xbe
000ed4  f9a70443          DCB      0xf9,0xa7,0x04,0x43
000ed8  d18a8a20          DCB      0xd1,0x8a,0x8a,0x20
000edc  f27b591b          DCB      0xf2,0x7b,0x59,0x1b
000ee0  78b9509c          DCB      0x78,0xb9,0x50,0x9c
000ee4  2645ab3c          DCB      0x26,0x45,0xab,0x3c
000ee8  1cde5034          DCB      0x1c,0xde,0x50,0x34
000eec  feb9dcf1          DCB      0xfe,0xb9,0xdc,0xf1
                  byRSExp34
000ef0  6f4d925e          DCB      0x6f,0x4d,0x92,0x5e
000ef4  1a156c13          DCB      0x1a,0x15,0x6c,0x13
000ef8  695e71c1          DCB      0x69,0x5e,0x71,0xc1
000efc  568ca37d          DCB      0x56,0x8c,0xa3,0x7d
000f00  3a9ee5ef          DCB      0x3a,0x9e,0xe5,0xef
000f04  da673846          DCB      0xda,0x67,0x38,0x46
000f08  723db781          DCB      0x72,0x3d,0xb7,0x81
000f0c  a70d623e          DCB      0xa7,0x0d,0x62,0x3e
000f10  8133              DCB      0x81,0x33
                  byRSExp36
000f12  c8b7              DCB      0xc8,0xb7
000f14  6210ac1f          DCB      0x62,0x10,0xac,0x1f
000f18  f6ea3c98          DCB      0xf6,0xea,0x3c,0x98
000f1c  7300a798          DCB      0x73,0x00,0xa7,0x98
000f20  71f8ee6b          DCB      0x71,0xf8,0xee,0x6b
000f24  123fda25          DCB      0x12,0x3f,0xda,0x25
000f28  57d269b1          DCB      0x57,0xd2,0x69,0xb1
000f2c  784a79c4          DCB      0x78,0x4a,0x79,0xc4
000f30  75fb71e9          DCB      0x75,0xfb,0x71,0xe9
000f34  1e78              DCB      0x1e,0x78
                  byRSExp38
000f36  9f22              DCB      0x9f,0x22
000f38  26e4e63b          DCB      0x26,0xe4,0xe6,0x3b
000f3c  f35f31da          DCB      0xf3,0x5f,0x31,0xda
000f40  b0a41441          DCB      0xb0,0xa4,0x14,0x41
000f44  2d6f2751          DCB      0x2d,0x6f,0x27,0x51
000f48  317671de          DCB      0x31,0x76,0x71,0xde
000f4c  c1faf2a8          DCB      0xc1,0xfa,0xf2,0xa8
000f50  d929a4f7          DCB      0xd9,0x29,0xa4,0xf7
000f54  b11eee12          DCB      0xb1,0x1e,0xee,0x12
000f58  78993cc1          DCB      0x78,0x99,0x3c,0xc1
                  byRSExp40
000f5c  3b744fa1          DCB      0x3b,0x74,0x4f,0xa1
000f60  fc6280cd          DCB      0xfc,0x62,0x80,0xcd
000f64  80a1f739          DCB      0x80,0xa1,0xf7,0x39
000f68  a338eb6a          DCB      0xa3,0x38,0xeb,0x6a
000f6c  351abbae          DCB      0x35,0x1a,0xbb,0xae
000f70  e268aa07          DCB      0xe2,0x68,0xaa,0x07
000f74  af23b572          DCB      0xaf,0x23,0xb5,0x72
000f78  58292fa3          DCB      0x58,0x29,0x2f,0xa3
000f7c  7d864814          DCB      0x7d,0x86,0x48,0x14
000f80  e835230f          DCB      0xe8,0x35,0x23,0x0f
                  byRSExp42
000f84  fa67dde6          DCB      0xfa,0x67,0xdd,0xe6
000f88  191289e7          DCB      0x19,0x12,0x89,0xe7
000f8c  00033af2          DCB      0x00,0x03,0x3a,0xf2
000f90  ddbf6e54          DCB      0xdd,0xbf,0x6e,0x54
000f94  e608bc6a          DCB      0xe6,0x08,0xbc,0x6a
000f98  60930f83          DCB      0x60,0x93,0x0f,0x83
000f9c  8b2265df          DCB      0x8b,0x22,0x65,0xdf
000fa0  2765d5c7          DCB      0x27,0x65,0xd5,0xc7
000fa4  edfec97b          DCB      0xed,0xfe,0xc9,0x7b
000fa8  aba2c275          DCB      0xab,0xa2,0xc2,0x75
000fac  3260              DCB      0x32,0x60
                  byRSExp44
000fae  be07              DCB      0xbe,0x07
000fb0  3d7947f6          DCB      0x3d,0x79,0x47,0xf6
000fb4  4537a8bc          DCB      0x45,0x37,0xa8,0xbc
000fb8  59f3bf19          DCB      0x59,0xf3,0xbf,0x19
000fbc  487b0991          DCB      0x48,0x7b,0x09,0x91
000fc0  0ef701ee          DCB      0x0e,0xf7,0x01,0xee
000fc4  2c4e8f3e          DCB      0x2c,0x4e,0x8f,0x3e
000fc8  e07e7672          DCB      0xe0,0x7e,0x76,0x72
000fcc  44a334c2          DCB      0x44,0xa3,0x34,0xc2
000fd0  d993cca9          DCB      0xd9,0x93,0xcc,0xa9
000fd4  25827166          DCB      0x25,0x82,0x71,0x66
000fd8  49b5              DCB      0x49,0xb5
                  byRSExp46
000fda  705e              DCB      0x70,0x5e
000fdc  5870fde0          DCB      0x58,0x70,0xfd,0xe0
000fe0  ca73bb63          DCB      0xca,0x73,0xbb,0x63
000fe4  59053671          DCB      0x59,0x05,0x36,0x71
000fe8  812c3a10          DCB      0x81,0x2c,0x3a,0x10
000fec  87d8a9d3          DCB      0x87,0xd8,0xa9,0xd3
000ff0  24010460          DCB      0x24,0x01,0x04,0x60
000ff4  3cf14968          DCB      0x3c,0xf1,0x49,0x68
000ff8  ea08f9f5          DCB      0xea,0x08,0xf9,0xf5
000ffc  77ae3419          DCB      0x77,0xae,0x34,0x19
001000  9de02bca          DCB      0x9d,0xe0,0x2b,0xca
001004  df13520f          DCB      0xdf,0x13,0x52,0x0f
                  byRSExp48
001008  e419c482          DCB      0xe4,0x19,0xc4,0x82
00100c  d3923c18          DCB      0xd3,0x92,0x3c,0x18
001010  fb5a2766          DCB      0xfb,0x5a,0x27,0x66
001014  f03db23f          DCB      0xf0,0x3d,0xb2,0x3f
001018  2e7b7312          DCB      0x2e,0x7b,0x73,0x12
00101c  dd6f87a0          DCB      0xdd,0x6f,0x87,0xa0
001020  b6cd6bce          DCB      0xb6,0xcd,0x6b,0xce
001024  5f9678b8          DCB      0x5f,0x96,0x78,0xb8
001028  5b15f79c          DCB      0x5b,0x15,0xf7,0x9c
00102c  8ceebf0b          DCB      0x8c,0xee,0xbf,0x0b
001030  5ee35432          DCB      0x5e,0xe3,0x54,0x32
001034  a327226c          DCB      0xa3,0x27,0x22,0x6c
                  byRSExp50
001038  e87d9da1          DCB      0xe8,0x7d,0x9d,0xa1
00103c  a409762e          DCB      0xa4,0x09,0x76,0x2e
001040  d163cbc1          DCB      0xd1,0x63,0xcb,0xc1
001044  2303d16f          DCB      0x23,0x03,0xd1,0x6f
001048  c3f2cbe1          DCB      0xc3,0xf2,0xcb,0xe1
00104c  2e0d20a0          DCB      0x2e,0x0d,0x20,0xa0
001050  7ed182a0          DCB      0x7e,0xd1,0x82,0xa0
001054  f2d7f24b          DCB      0xf2,0xd7,0xf2,0x4b
001058  4d2abd20          DCB      0x4d,0x2a,0xbd,0x20
00105c  71417c45          DCB      0x71,0x41,0x7c,0x45
001060  e472ebaf          DCB      0xe4,0x72,0xeb,0xaf
001064  7caad7e8          DCB      0x7c,0xaa,0xd7,0xe8
001068  85cd              DCB      0x85,0xcd
                  byRSExp52
00106a  7432              DCB      0x74,0x32
00106c  56ba32dc          DCB      0x56,0xba,0x32,0xdc
001070  fb59c02e          DCB      0xfb,0x59,0xc0,0x2e
001074  567f7c13          DCB      0x56,0x7f,0x7c,0x13
001078  b8e997d7          DCB      0xb8,0xe9,0x97,0xd7
00107c  160e3b91          DCB      0x16,0x0e,0x3b,0x91
001080  25f2cb86          DCB      0x25,0xf2,0xcb,0x86
001084  fe59be5e          DCB      0xfe,0x59,0xbe,0x5e
001088  3b417c71          DCB      0x3b,0x41,0x7c,0x71
00108c  64e9eb79          DCB      0x64,0xe9,0xeb,0x79
001090  164c5661          DCB      0x16,0x4c,0x56,0x61
001094  27f2c8dc          DCB      0x27,0xf2,0xc8,0xdc
001098  6521effe          DCB      0x65,0x21,0xef,0xfe
00109c  7433              DCB      0x74,0x33
                  byRSExp54
00109e  b71a              DCB      0xb7,0x1a
0010a0  c957d2dd          DCB      0xc9,0x57,0xd2,0xdd
0010a4  71152e41          DCB      0x71,0x15,0x2e,0x41
0010a8  2d32eeb8          DCB      0x2d,0x32,0xee,0xb8
0010ac  f9e1663a          DCB      0xf9,0xe1,0x66,0x3a
0010b0  d1da6da5          DCB      0xd1,0xda,0x6d,0xa5
0010b4  1a5fb8c0          DCB      0x1a,0x5f,0xb8,0xc0
0010b8  34f523fe          DCB      0x34,0xf5,0x23,0xfe
0010bc  eeafac4f          DCB      0xee,0xaf,0xac,0x4f
0010c0  7b197a2b          DCB      0x7b,0x19,0x7a,0x2b
0010c4  786cd750          DCB      0x78,0x6c,0xd7,0x50
0010c8  80c9eb08          DCB      0x80,0xc9,0xeb,0x08
0010cc  993b651f          DCB      0x99,0x3b,0x65,0x1f
0010d0  c64c1f9c          DCB      0xc6,0x4c,0x1f,0x9c
                  byRSExp56
0010d4  6a786b9d          DCB      0x6a,0x78,0x6b,0x9d
0010d8  a4d87074          DCB      0xa4,0xd8,0x70,0x74
0010dc  025bf8a3          DCB      0x02,0x5b,0xf8,0xa3
0010e0  24c9cae5          DCB      0x24,0xc9,0xca,0xe5
0010e4  0690fe9b          DCB      0x06,0x90,0xfe,0x9b
0010e8  87d0aad1          DCB      0x87,0xd0,0xaa,0xd1
0010ec  0c8b7f8e          DCB      0x0c,0x8b,0x7f,0x8e
0010f0  b6f9b1ae          DCB      0xb6,0xf9,0xb1,0xae
0010f4  be1c0a55          DCB      0xbe,0x1c,0x0a,0x55
0010f8  efb8657c          DCB      0xef,0xb8,0x65,0x7c
0010fc  98ce6017          DCB      0x98,0xce,0x60,0x17
001100  a33d1bc4          DCB      0xa3,0x3d,0x1b,0xc4
001104  f7979aca          DCB      0xf7,0x97,0x9a,0xca
001108  cf143d0a          DCB      0xcf,0x14,0x3d,0x0a
                  byRSExp58
00110c  52741af7          DCB      0x52,0x74,0x1a,0xf7
001110  421b3e6b          DCB      0x42,0x1b,0x3e,0x6b
001114  fcb6c8b9          DCB      0xfc,0xb6,0xc8,0xb9
001118  eb37fbf2          DCB      0xeb,0x37,0xfb,0xf2
00111c  d2909aed          DCB      0xd2,0x90,0x9a,0xed
001120  b08dc0f8          DCB      0xb0,0x8d,0xc0,0xf8
001124  98f9ce55          DCB      0x98,0xf9,0xce,0x55
001128  fd8e41a5          DCB      0xfd,0x8e,0x41,0xa5
00112c  7d17181e          DCB      0x7d,0x17,0x18,0x1e
001130  7af0d606          DCB      0x7a,0xf0,0xd6,0x06
001134  81da1d91          DCB      0x81,0xda,0x1d,0x91
001138  7f86cef5          DCB      0x7f,0x86,0xce,0xf5
00113c  751d293f          DCB      0x75,0x1d,0x29,0x3f
001140  9f8ee97d          DCB      0x9f,0x8e,0xe9,0x7d
001144  947b              DCB      0x94,0x7b
                  byRSExp60
001146  6b8c              DCB      0x6b,0x8c
001148  1a0c098d          DCB      0x1a,0x0c,0x09,0x8d
00114c  f3c5e2c5          DCB      0xf3,0xc5,0xe2,0xc5
001150  db2dd365          DCB      0xdb,0x2d,0xd3,0x65
001154  db781cb5          DCB      0xdb,0x78,0x1c,0xb5
001158  7f0664f7          DCB      0x7f,0x06,0x64,0xf7
00115c  02cdc639          DCB      0x02,0xcd,0xc6,0x39
001160  73db656d          DCB      0x73,0xdb,0x65,0x6d
001164  a0522526          DCB      0xa0,0x52,0x25,0x26
001168  ee31a0d1          DCB      0xee,0x31,0xa0,0xd1
00116c  79560b7c          DCB      0x79,0x56,0x0b,0x7c
001170  1eb55419          DCB      0x1e,0xb5,0x54,0x19
001174  c2574166          DCB      0xc2,0x57,0x41,0x66
001178  bedc461b          DCB      0xbe,0xdc,0x46,0x1b
00117c  d1105907          DCB      0xd1,0x10,0x59,0x07
001180  21f0              DCB      0x21,0xf0
                  byRSExp62
001182  41ca              DCB      0x41,0xca
001184  716247df          DCB      0x71,0x62,0x47,0xdf
001188  f876d65e          DCB      0xf8,0x76,0xd6,0x5e
00118c  007a2517          DCB      0x00,0x7a,0x25,0x17
001190  02e43a79          DCB      0x02,0xe4,0x3a,0x79
001194  0769874e          DCB      0x07,0x69,0x87,0x4e
001198  f376464c          DCB      0xf3,0x76,0x46,0x4c
00119c  df594832          DCB      0xdf,0x59,0x48,0x32
0011a0  466fc211          DCB      0x46,0x6f,0xc2,0x11
0011a4  d47eb523          DCB      0xd4,0x7e,0xb5,0x23
0011a8  dd75eb0b          DCB      0xdd,0x75,0xeb,0x0b
0011ac  e595937b          DCB      0xe5,0x95,0x93,0x7b
0011b0  d5287306          DCB      0xd5,0x28,0x73,0x06
0011b4  c8641af6          DCB      0xc8,0x64,0x1a,0xf6
0011b8  b6da7fd7          DCB      0xb6,0xda,0x7f,0xd7
0011bc  24ba6e6a          DCB      0x24,0xba,0x6e,0x6a
                  byRSExp64
0011c0  2d33af09          DCB      0x2d,0x33,0xaf,0x09
0011c4  079e9f31          DCB      0x07,0x9e,0x9f,0x31
0011c8  44775c7b          DCB      0x44,0x77,0x5c,0x7b
0011cc  b1ccbbfe          DCB      0xb1,0xcc,0xbb,0xfe
0011d0  c84e8d95          DCB      0xc8,0x4e,0x8d,0x95
0011d4  771a7f35          DCB      0x77,0x1a,0x7f,0x35
0011d8  a05dc7d4          DCB      0xa0,0x5d,0xc7,0xd4
0011dc  1d18919c          DCB      0x1d,0x18,0x91,0x9c
0011e0  d096dad1          DCB      0xd0,0x96,0xda,0xd1
0011e4  04d85b2f          DCB      0x04,0xd8,0x5b,0x2f
0011e8  b8922f8c          DCB      0xb8,0x92,0x2f,0x8c
0011ec  c3c37df2          DCB      0xc3,0xc3,0x7d,0xf2
0011f0  ee3f636c          DCB      0xee,0x3f,0x63,0x6c
0011f4  8ce6f21f          DCB      0x8c,0xe6,0xf2,0x1f
0011f8  cc0bb2f3          DCB      0xcc,0x0b,0xb2,0xf3
0011fc  d99cd5e7          DCB      0xd9,0x9c,0xd5,0xe7
                  byRSExp66
001200  0576deb4          DCB      0x05,0x76,0xde,0xb4
001204  8888a233          DCB      0x88,0x88,0xa2,0x33
001208  2e750dd7          DCB      0x2e,0x75,0x0d,0xd7
00120c  51118bf7          DCB      0x51,0x11,0x8b,0xf7
001210  c5ab5fad          DCB      0xc5,0xab,0x5f,0xad
001214  4189b244          DCB      0x41,0x89,0xb2,0x44
001218  6f5f6529          DCB      0x6f,0x5f,0x65,0x29
00121c  48d6a9c5          DCB      0x48,0xd6,0xa9,0xc5
001220  5f072c9a          DCB      0x5f,0x07,0x2c,0x9a
001224  4d6fec28          DCB      0x4d,0x6f,0xec,0x28
001228  798f3f57          DCB      0x79,0x8f,0x3f,0x57
00122c  50fdf07e          DCB      0x50,0xfd,0xf0,0x7e
001230  d94d22e8          DCB      0xd9,0x4d,0x22,0xe8
001234  6a32a852          DCB      0x6a,0x32,0xa8,0x52
001238  4c92436a          DCB      0x4c,0x92,0x43,0x6a
00123c  ab19845d          DCB      0xab,0x19,0x84,0x5d
001240  2d69              DCB      0x2d,0x69
                  byRSExp68
001242  f79f              DCB      0xf7,0x9f
001244  df21e05d          DCB      0xdf,0x21,0xe0,0x5d
001248  4d465aa0          DCB      0x4d,0x46,0x5a,0xa0
00124c  20fe2b96          DCB      0x20,0xfe,0x2b,0x96
001250  5465becd          DCB      0x54,0x65,0xbe,0xcd
001254  85343cca          DCB      0x85,0x34,0x3c,0xca
001258  a5dccb97          DCB      0xa5,0xdc,0xcb,0x97
00125c  5d540f54          DCB      0x5d,0x54,0x0f,0x54
001260  fdada059          DCB      0xfd,0xad,0xa0,0x59
001264  e334c761          DCB      0xe3,0x34,0xc7,0x61
001268  5fe734b1          DCB      0x5f,0xe7,0x34,0xb1
00126c  297d89f1          DCB      0x29,0x7d,0x89,0xf1
001270  a6e17602          DCB      0xa6,0xe1,0x76,0x02
001274  362052d7          DCB      0x36,0x20,0x52,0xd7
001278  afc62bee          DCB      0xaf,0xc6,0x2b,0xee
00127c  eb1b65b8          DCB      0xeb,0x1b,0x65,0xb8
001280  7f030508          DCB      0x7f,0x03,0x05,0x08
001284  a3ee              DCB      0xa3,0xee
                  nIndicatorLenNumeral
001286  0a0c              DCB      0x0a,0x0c
001288  0e                DCB      0x0e
                  nIndicatorLenAlphabet
001289  090b0d            DCB      0x09,0x0b,0x0d
                  nIndicatorLen8Bit
00128c  081010            DCB      0x08,0x10,0x10
                  nIndicatorLenKanji
00128f  08                DCB      0x08
001290  0a0c              DCB      0x0a,0x0c

                          AREA ||.data||, DATA, ALIGN=2

                  byRSExp
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      byRSExp7
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      byRSExp10
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      byRSExp13
                          DCD      0x00000000
                          DCD      byRSExp15
                          DCD      byRSExp16
                          DCD      byRSExp17
                          DCD      byRSExp18
                          DCD      0x00000000
                          DCD      byRSExp20
                          DCD      0x00000000
                          DCD      byRSExp22
                          DCD      0x00000000
                          DCD      byRSExp24
                          DCD      0x00000000
                          DCD      byRSExp26
                          DCD      0x00000000
                          DCD      byRSExp28
                          DCD      0x00000000
                          DCD      byRSExp30
                          DCD      0x00000000
                          DCD      byRSExp32
                          DCD      0x00000000
                          DCD      byRSExp34
                          DCD      0x00000000
                          DCD      byRSExp36
                          DCD      0x00000000
                          DCD      byRSExp38
                          DCD      0x00000000
                          DCD      byRSExp40
                          DCD      0x00000000
                          DCD      byRSExp42
                          DCD      0x00000000
                          DCD      byRSExp44
                          DCD      0x00000000
                          DCD      byRSExp46
                          DCD      0x00000000
                          DCD      byRSExp48
                          DCD      0x00000000
                          DCD      byRSExp50
                          DCD      0x00000000
                          DCD      byRSExp52
                          DCD      0x00000000
                          DCD      byRSExp54
                          DCD      0x00000000
                          DCD      byRSExp56
                          DCD      0x00000000
                          DCD      byRSExp58
                          DCD      0x00000000
                          DCD      byRSExp60
                          DCD      0x00000000
                          DCD      byRSExp62
                          DCD      0x00000000
                          DCD      byRSExp64
                          DCD      0x00000000
                          DCD      byRSExp66
                          DCD      0x00000000
                          DCD      byRSExp68
                  byPattern
000114  7f415d5d          DCB      0x7f,0x41,0x5d,0x5d
000118  5d417f            DCB      0x5d,0x41,0x7f
                  |symbol_number.26|
00011b  1f                DCB      0x1f
00011c  1115111f          DCB      0x11,0x15,0x11,0x1f
                  m_nSymbleSize
                          DCD      0x00000000
                  m_ncDataCodeWordBit
                          DCD      0x00000000
                  m_ncDataBlock
                          DCD      0x00000000
                  m_ncAllCodeWord
                          DCD      0x00000000
                  m_nLevel
                          DCD      0x00000000
                  m_nVersion
                          DCD      0x00000000
                  m_bAutoExtent
000138  00000000          DCB      0x00,0x00,0x00,0x00
                  m_nMaskingNo
                          DCD      0x00000000
